English | Русский
Network stack research tool. TCP tunnel with pluggable transports.
Client (SOCKS5) --> Transport --> Exit Node --> Internet
- Golang v. 1.26.3+ - is required for building desktop client / exit node binary (universal-bypass-tool);
- Android Native Development Kit (NDK) v.27.0.12077973+ - is required for building Android client binary;
- XCode v. 26.6+ - is required for building iOS client binary;
- Linux VPS / VDS exit node.
TCP packets are sent via Transport. Currently, there are two transports available:
- Yandex - sends packets via Yandex Docs cursor messages;
- Max - sends packets via WebRTC DataChannel.
Client side runs a SOCKS5 proxy, exit node decapsulates and forwards packets to destination point.
universal-bypass-tool/
├── main.go
├── transport/
│ ├── transport.go # Transport interface
│ └── yandex/ # Yandex Docs backend
│ └── oneme/ # MAX Messenger backend
├── tunnel/
│ ├── tunnel.go # TCP tunnel core
│ ├── endpoint.go # Virtual NIC
│ └── rawsocket.go # Raw socket (exit node)
├── socks5/ # SOCKS5 server
├── network/ # Checksums, packet parsing
└── utils/ # Debug logging
go mod tidy
go build -o universal-bypass-tool .export ANDROID_NDK_HOME=<your Android NDK path>
./build_android.shexport XCODE_PATH="<your Xcode.app path>" # optional, defaults to /Applications/Xcode.app
./build_ios.sh- You must have root access on exit node machine;
- Only legacy Yandex document editor is supported (you can toggle this setting from the interface).
Setup commands for exit node:
sudo iptables -A OUTPUT -p tcp --tcp-flags RST RST -j DROP
sudo ./universal-bypass-tool --exit-node --url "YOUR_YANDEX_DOC_URL" --debugSetup commands for desktop client:
./universal-bypass-tool --client --url "YOUR_YANDEX_DOC_URL" --socks5 :1080 --debugThen set up SOCKS5 proxy in your browser at localhost:1080.
| Flag | Default | Description |
|---|---|---|
--client |
Run as client | |
--exit-node |
Run as exit node | |
--socks5 |
:1080 |
SOCKS5 listen address |
--url |
https://localhost |
Document URL (Yandex Docs) |
--maxToken |
`` | Auth token (Max) |
--maxUid |
`` | User ID (Max) |
--debug |
false |
Enable verbose logging |
--transport |
yandex |
Select transport backend |
You are free to implement the Transport interface from transport/transport.go and register your custom transport in main.go switch block.
This project is licensed under the GNU General Public License v3.0 or later. See LICENSE for the full text.
Third-party licenses are listed in NOTICE.
Educational use only. Test on your own machines and networks.