πŸ“ˆ GH Trending Explorer 🎲 Surprise me

← all repos

JohnWatsoon / WatTunnel

git clone https://github.com/JohnWatsoon/WatTunnel.git v2.5.1 Β· 6d ago

Fast, encrypted TCP/UDP tunnel that keeps working when the network only lets ping through. ICMP, UDP, TCP, TLS, WebSocket, HTTP/2 and gRPC carriers in one process.

+4
stars, 24h Β· #6,862
+~51
stars, 7 days Β· #3,929
+97
stars, 30 days Β· #7,315
97
β˜… total Β· +51% this week
9
forks Β· 1 open issues

Star history (as recorded here)

2026-10-20 Β· 75 β˜… 2026-10-23 Β· 97 β˜…
LanguageGo
LicenseMIT
Created2026-10-10 (13d ago)
Last pushtoday
Watchers0
OwnerUser

GitHub topics

Links

README excerpt
# πŸͺ WatTunnel
**Encrypted Iran ↔ Kharej port forwarding that keeps working when the network is filtered, even when only ping gets through.**
**English** · فارسی
---
WatTunnel connects an **Iran** server (where your users connect) to a **Kharej** server (where your service runs)
and forwards any TCP or UDP port between them. One static binary, no dependencies, and a menu that sets everything
up from one pasted token. It rides whatever your route lets through: `icmp` (ping), `udp`, `tcp`, `tls`, `ws`,
`wss`, `h2`, `h2c`, `grpc`, Cloudflare with ECH, reverse mode, or several of them bonded into one tunnel.
## Speed
Measured on real Iran ⇄ Europe servers (2 vCPU each), October 2026. Ping is the round trip through the tunnel while
it is fully loaded; the route's own ping is about 40 ms.
| Connection type | Download | Upload | Ping under load |
|---|---|---|---|
| **TCP / TLS / reverse** (2.5.1, production tunnel with users on it) | **195 MB/s (~1.6 Gbit)** | **276 MB/s (~2.2 Gbit)** | 40-51 ms |
| **ICMP** (only ping passes on the route) | **up to ~33 MB/s**, the route's maximum | 26 MB/s | 40-45 ms |
| **Cloudflare CDN** (`wss` + ECH, 4 sessions) | 44-48 MB/s | up to 82 MB/s | 109-116 ms (CDN base 86) |
Plain TCP with no tunnel at all reaches 243 MB/s down on the same route with 16 connections. WatTunnel, encrypted,
reaches **80 % of that**. Full tables, every version and how each was measured:
docs/TECHNICAL.md.
## Compared to other tunnels
Same servers, same filtered route (only ICMP passes), real VLESS traffic through each tunnel:
| Tool | Throughput | Latency p50 | Iran CPU per MB | RAM |
|---|---|---|---|---|
| **WatTunnel** | **up to ~33 MB/s** | **40-45 ms** | **0.026 CPU-s** | **~40 MB** |
| GOST v3 ICMP | 1.6-5.4 MB/s | ~51 ms | 0.15-0.20 CPU-s | 50-70 MB |
| BackPack (tuned) | ~6.1 MB/s | 102 ms | - | - |
| Hans | 1.1-3.8 MB/s | - | - | - |
| WireGuard over pingtunnel | 0.25-2.7 MB/s | - | - | - |
| pingtunnel | ~0.5 MB/s under load | - | CPU saturates | - |
| ptunnel-ng | ~20 KB/s | - | - | - |
That is **about 5x the next best ICMP tunnel, 6-20x GOST at 6-7x less CPU**, and one process carries 250-300 real
users.
| | WatTunnel | GOST | pingtunnel | Hans | ptunnel-ng |
|---|:-:|:-:|:-:|:-:|:-:|
| ICMP carrier | βœ… | βœ… | βœ… | βœ… | βœ… |
| UDP / TCP / TLS / WS / gRPC carriers | βœ… | βœ… | ❌ | ❌ | ❌ |
| Cloudflare/CDN with ECH | βœ… | - | ❌ | ❌ | ❌ |
| One token tests every connection type for you | βœ… | ❌ | ❌ | ❌ | ❌ |
| Loss does not slow it down (delay-based pacing) | βœ… | ❌ | ❌ | ❌ | ❌ |
| All ports in one process | βœ… | βœ… | ❌ | βœ… (tun) | ❌ |
| Add or remove ports without a restart | βœ… | ❌ | ❌ | - | ❌ |
| Reverse mode / reverse ICMP | βœ… / βœ… | βœ… / ❌ | ❌ | ❌ | ❌ |
| Per-port traffic stats and quotas | βœ… | ❌ | ❌ | ❌ | ❌ |
| Guided menu, auto-heal, update and rollback | βœ… | ❌ | ❌ | ❌ | ❌ |
On a clean, unfiltered link every tunnel reaches line rate and GOST uses a little less CPU; WatTunnel still halves
small-request latency there (43 ms vs 83 ms) because i