Screenshots
Description
Telegram MTProto WebSocket Bridge Proxy — a Rust vibecoded port of Flowseal/tg-ws-proxy.
Listens for Telegram Desktop's MTProto connections on a local port and tunnels them through WebSocket (TLS) connections to Telegram's DC servers.
Telegram channel: @tgwsproxy_rs.
Telegram Desktop → MTProto (TCP 1443) → tg-ws-proxy-rs → WS (TLS 443) → Telegram DC
↘ CF proxy (kws{N}.{cf-domain}) → Telegram DC (WS via Cloudflare)
↘ CF Worker (*.workers.dev) → Telegram DC (TCP tunnel via Cloudflare)
↘ upstream MTProto proxy → Telegram DC (WS fallback)
↘ direct TCP :443 → Telegram DC (last resort)
Android app
A minimal Jetpack Compose wrapper around the same core the CLI runs. Type the
flags you would pass to tg-ws-proxy, tap Start, and when the tg://proxy
link appears tap it (or let the app open it) to add the proxy in Telegram.
The listen address should be 127.0.0.1 so Telegram on the same phone can
connect.
Add --secret <32 hex chars> if you want the link to stay the same across
restarts. --log-file is ignored; logs go to the on-screen view and logcat
(tg-ws-proxy).
The default arguments carry --quiet, so the on-screen Log panel stays
empty until you remove it. That is the default and not a failed start: drop
--quiet (or swap it for --verbose) before tapping Start to see log
lines. The tg:// link appears either way — it reaches the UI from the listen
callback rather than by scraping the log, so --quiet never hides it.
Anti-features
Properties of this app that are worth knowing about before installing.
- NonFreeNet
Versions
Permissions
What the app asks the system for. Android only grants sensitive access after you confirm it.
- Internet accessSend and receive data over the internet.
- Foreground serviceKeep running in the background, visible in the status bar.
- FOREGROUND_SERVICE_SPECIAL_USE
- NotificationsShow notifications.
- tgwsproxyrs.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Comments