grep.su tunnels selected by measurement updating EN
live list

Thousands of configs.
Few work.

grep.su collects configurations from open sources, brings each one up on its own hardware and sends a request through it to an outside service. Only what answered enters the list. The published list is re-checked every five minutes.

Get a subscription

16 sources5841 configs1868 addresses alive900 measured436 answered100 published

100Tunnels
25Countries
101 msBest latency
53 Mbit/sBest speed
What is wrong with public lists

A public list is a list of addresses. Fewer than one in ten of them works.

An address is not a working tunnel

Entries are published without being tested. Your app works through the dead ones at the moment you need the connection.

A node's name confirms nothing

The name is set by whoever published the configuration. We take the country from the exit address and the speed from an actual download.

Duplicates are not spare capacity

One server appears under dozens of names. Such entries are reduced to one by entry point and exit point.

How the checks work

Every configuration is tested under load, not by its description.

01Collection

Eighteen independent sources. A reachability check removes dead addresses before any tunnel is started.

02Measurement

Each remaining entry gets its own tunnel and one outbound request. Latency, jitter and loss are recorded.

03Re-checking

The published list is tested every five minutes. A node that stops answering is removed and the next one takes its place.

Where it is used

The list maintains itself. One action is required of you: add the link.

A standby channel

A node that stops working is replaced without your involvement: the app fetches the updated list on schedule.

Access from other countries

More than twenty countries are present in the list at once. Switching between them is selecting a row in the app.

Spare routes for a router

A separate selection of independent nodes: distinct entry points, measured throughput, stable identifiers.

01 What is in the list

Countries

🇳🇱Netherlands25
🇷🇸Serbia18
🇩🇪Germany10
🇺🇸USA10
🇵🇱Poland5
🇮🇪Ireland5
🇧🇬Bulgaria5
🇬🇷Greece4

Protocols

Vless [Reality-gRPC]31
Ss [TCP]25
Vless [Reality]15
Hysteria2 [QUIC]15
Trojan [TLS]10
Tuic [TCP]2

02 Tunnels

#LocationProtocolLatencySpeedUptime
01🇪🇪Estonia ×2Vless [Reality]101 ms45 Mbit/s83%
02🇳🇱Netherlands ×21Ss [TCP]130 ms37 Mbit/s100%
03🇳🇱Netherlands, DrontenHysteria2 [QUIC]148 ms41 Mbit/s100%
04🇳🇱Netherlands, LelystadSs [TCP]160 ms33 Mbit/s100%
05🇩🇪Germany, FrankfurtTrojan [TLS]186 ms—100%
06🇩🇪GermanyTrojan [TLS]188 ms—100%
07🇦🇹Austria, ViennaHysteria2 [QUIC]190 ms—100%
08🇩🇪Germany ×6Vless [Reality]195 ms—75%
09🇵🇱Poland, Warsaw ×3Vless [Reality-gRPC]210 ms—100%
10🇬🇷Greece, ThessaloníkiHysteria2 [QUIC]218 ms—100%
11🇮🇪Ireland, Dublin ×5Trojan [TLS]249 ms—100%
12🇪🇸Spain, BarcelonaSs [TCP]266 ms—100%
13🇵🇱Poland, WarsawTrojan [TLS]298 ms—100%
14🇬🇷Greece, ThessaloníkiTuic [TCP]309 ms—100%
15🇬🇷Greece, ThessaloníkiSs [TCP]324 ms—100%
16🇩🇪Germany, FrankfurtVless [Reality-gRPC]335 ms—100%
17🇳🇱Netherlands, AmsterdamVless [Reality]335 ms—100%
18🇳🇱Netherlands, AmsterdamVless [TLS-WS]341 ms—100%
19🇩🇪Germany, FrankfurtHysteria2 [QUIC]270 ms16 Mbit/s100%
20🇵🇱Poland, WarsawVless [Reality]346 ms—92%
21🇺🇸USA, San Jose ×9Hysteria2 [QUIC]359 ms—100%
22🇷🇸Serbia ×18Vless [Reality-gRPC]367 ms—100%
23🇧🇬Bulgaria ×5Vless [Reality-gRPC]378 ms—100%
24🇬🇷Greece, ThessaloníkiVless [TLS]385 ms—100%
25🇺🇸USA, ChicagoSs [TCP]407 ms—100%
26🇫🇮Finland, HelsinkiVless [Reality]469 ms53 Mbit/s83%
27🇹🇷Turkey, IstanbulVless [Reality-gRPC]504 ms—92%
28🇨🇭Switzerland, GenevaVless [Reality-gRPC]554 ms—100%
29🇯🇵Japan, TokyoHysteria2 [QUIC]637 ms—100%
30🇭🇰Hong KongVless [Reality]722 ms—92%
31🇸🇬SingaporeTrojan [TLS]804 ms—100%
32🇲🇩MoldovaVless [Reality-gRPC]817 ms—92%
33🇷🇺RussiaVless [Reality-gRPC]972 ms—83%
34🇮🇳IndiaVless [Reality]975 ms—100%
35🇹🇼Taiwan, TaipeiTuic [TCP]1078 ms—100%
36🇰🇷South Korea, IncheonTrojan [TLS]1107 ms—100%
37🇿🇦South AfricaVless [Reality]1231 ms—100%
38🇫🇷France, ParisHysteria2 [QUIC]947 ms14 Mbit/s100%
39🇹🇭Thailand, BangkokVless [Reality]1643 ms—100%

03 Questions

No. We own no servers and charge nothing for access. What is tested is configurations already published in the open.

Published nodes are re-checked every five minutes; a full sweep of the sources runs every half hour. The time of the last check is shown in the header.

No. The service hands over configurations; your app connects to the node directly. Only the measurements use our infrastructure.

Any with subscription support: Happ, Streisand, Shadowrocket, v2rayNG, Hiddify, sing-box, Clash. The subscription page opens them with one tap.

Yes. Protocols, countries, minimum speed and node count are set in the bot. Changes apply without re-adding the link.

More than that answer. The published list takes the best by latency, speed and stability, no more than a quarter from any one country — a list of that size can be re-checked in full within five minutes.

Beyond the node list it configures routing — Russian services go direct, everything else through the tunnel — and it picks the tunnel for you: the app tests the nodes from your own device and keeps the working one with the lowest latency, switching over if it stops answering. Other apps receive the same node list as before.

The full profile — routing plus auto-select — goes to sing-box and Clash clients, and to Happ and v2rayTun via an Xray profile. Hiddify, v2rayNG, Streisand and Shadowrocket read only the node list, so turn on their own auto-select and routing there (in Hiddify: Auto mode and the Russia region bypass).

Getting connected

The bot issues a personal link. Add it to your app once — the list then updates without you.

Get a subscription