用途:为 Telegram Desktop 提供本地 SOCKS5 代理,把发往 Telegram 数据中心的流量改为经 WebSocket(WSS)传输,用于在网络层封锁环境下建立连接,不依赖外部服务器。链路为 Telegram Desktop → SOCKS5(127.0.0.1:1080)→ 代理 → WSS → Telegram DC。
主要能力:监听本机 SOCKS5 端口;识别发往 Telegram IP 的连接;从 MTProto 混淆初始化包中提取 DC ID;通过 Telegram 域名向对应 DC 建立 WebSocket(TLS)连接;若 WebSocket 返回 302 重定向则回退到直连 TCP。提供命令行版本与 Windows、macOS、Linux 托盘 GUI 版本,并支持配置文件(port、dc_ip、verbose)。
使用方式:从源码安装执行 git clone https://github.com/Flowseal/tg-ws-proxy.git、cd tg-ws-proxy、pip install -e .,然后运行 tg-ws-proxy。命令行参数:tg-ws-proxy [--port PORT] [--host HOST] [--dc-ip DC:IP ...] [-v],默认端口 1080、host 127.0.0.1。托盘版命令为 tg-ws-proxy-tray-win、tg-ws-proxy-tray-macos、tg-ws-proxy-tray-linux。Linux 还提供 AUR(paru -S tg-ws-proxy-bin)、systemd(sudo systemctl start tg-ws-proxy-cli@1080)、.deb 与二进制方式。Telegram Desktop 端在设置→高级→连接类型→使用自定义代理中添加 SOCKS5,服务器 127.0.0.1、端口 1080,用户名密码留空;托盘 GUI 可右键图标选择用 tg://socks 深链自动配置。
限制与注意:若 WebSocket 不可用会回退到 TCP,属预期行为。常见问题包括端口 1080 被占用、防火墙拦截、未选 SOCKS5、Defender 误报(Wacatac)、macOS 未验证开发者拦截、Linux 托盘需 AppIndicator。可用 tg-ws-proxy -v 开启调试日志。具体收费与价格暂未提供。