TG WS Proxy托盘应用完整指南:MTProto代理配置文件字段逐项讲解、日志查看与自动更新设置
【免费下载链接】tg-ws-proxyLocal MTProto proxy server for partial bypassing of Telegram loading项目地址: https://gitcode.com/gh_mirrors/tg/tg-ws-proxy
TG WS Proxy是一款本地 MTProto 代理工具,通过 WebSocket 连接部分绕过 Telegram 加载问题,实现 Telegram 加速。它以托盘应用形式运行,配置、日志和更新检查都围绕应用数据目录展开。本文将从配置文件字段逐项讲起,带你看懂日志位置与轮转机制,并掌握自动更新设置,帮你快速完成 Telegram MTProto 代理的日常维护。
一、托盘应用数据目录:配置文件在哪里?
TG WS Proxy 托盘应用把配置和日志统一存放在系统应用数据目录下(见 utils/tray_common.py):
| 系统 | 数据目录 |
|---|---|
| Windows | %APPDATA%\TgWsProxy |
| macOS | ~/Library/Application Support/TgWsProxy |
| Linux | ~/.config/TgWsProxy(或$XDG_CONFIG_HOME/TgWsProxy) |
目录中有两个关键文件:
config.json—— 全部配置项,由 utils/default_config.py 提供默认值proxy.log—— 运行日志,每次启动会清空重建
💡 如果你把可执行文件旁建了
TgWsProxy_data目录,应用会自动切换为便携模式,配置也存放在该目录中。
二、配置文件字段逐项讲解
默认配置由托盘界面生成并保存,核心字段示例如下(完整说明见 docs/EN/TrayConfig.md):
{ "host": "127.0.0.1", "port": 1443, "secret": "...", "dc_ip": ["2:149.154.167.220", "4:149.154.167.220"], "verbose": false, "buf_kb": 256, "pool_size": 4, "log_max_mb": 5.0, "check_updates": true, "cfproxy": true, "cfproxy_user_domain": "", "cfproxy_worker_domain": "", "force_test_dc": false, "appearance": "auto" }连接参数:host、port、secret
host:代理监听地址,默认127.0.0.1,仅本机可访问port:监听端口,默认1443secret:32 位十六进制密钥,首次启动时随机生成。Telegram 端 MTProto 代理设置里必须填写这个值,丢失后可在托盘设置中重新生成
这三项共同构成tg://proxy连接链接,托盘菜单中的「打开在 Telegram」即自动使用该链接完成配置。
数据中心参数:dc_ip
dc_ip是一个列表,每项格式为DC号:IP,例如"2:149.154.167.220",表示把 2 号数据中心(DC2)的流量引导到指定 IP。默认包含 DC2 和 DC4:
- 若 DC 未配置、或该数据中心 WebSocket 被拉黑/超时,代理会自动回退到 CF 代理或直连 TCP(逻辑见 proxy/tg_ws_proxy.py)
- ⚠️ 若图片/视频不加载,可参考官方提示:在 DC → IP 中只保留
4:149.154.167.220,或完全清空该字段
dc_ip解析与校验逻辑在 proxy/config.py 的parse_dc_ip_list中实现。
性能参数:buf_kb 与 pool_size
buf_kb:套接字收发缓冲区大小(KB),默认256,最小 4pool_size:每个 DC 预热的 WebSocket 连接池大小,默认4。连接池命中时可跳过握手,显著降低首次连接延迟(实现见 proxy/pool.py)
回退通道:cfproxy 系列字段
cfproxy:是否启用 Cloudflare 代理回退,默认true。未配置自己的域名时,应用每小时自动从上游拉取公共域名池cfproxy_user_domain/cfproxy_worker_domain:填入自己的 Cloudflare 域名或 Worker 域名(支持多个,逗号/分号分隔),分别用于 CF 域名回退和免费 Worker 回退- 对应开关字段
cfproxy_user_domain_enabled、cfproxy_worker_enabled决定列表是否生效
其他实用字段
verbose:调试日志开关。true时日志级别提升到 DEBUG,输出每次握手的 DC、协议等细节,排查连接问题非常有用log_max_mb:日志文件轮转上限(MB),默认5check_updates:自动更新检查开关,下一节详述force_test_dc:强制全部流量走 Telegram 测试数据中心,普通用户无需开启appearance:界面主题,auto/dark/lightautostart(仅 Windows):开机自启动开关,见 utils/default_config.py
三、日志查看:proxy.log 位置与轮转机制
最快查看方法
右键托盘图标 →「打开日志」,系统会直接打开日志文件,无需手动翻目录。
日志文件长什么样?
- 位置:数据目录下的
proxy.log(与config.json同级) - 格式:
时间 级别 模块名 内容,例如启动时的Starting proxy on 127.0.0.1:1443 ...和每分钟一次的stats: ...连接统计 - 启动信息块会打印
Secret、监听地址、目标 DC IP 和tg://proxy连接链接,忘记密钥时翻日志即可找回
轮转机制:日志不会无限增长
日志由 utils/logging_setup.py 统一构建为滚动文件处理器(RotatingFileHandler):
- 当前文件达到
log_max_mb上限后自动轮转,至少保留 1 份备份 - 代码强制
backupCount >= 1,避免「静默不轮转、文件无限膨胀」的经典坑
📌 小建议:把
verbose设为true后复现问题,再检查proxy.log中该客户端 IP 的记录,就能看清是 WebSocket 握手失败、302 重定向还是回退直连。
四、自动更新设置:check_updates 如何工作
托盘设置窗口中的「检查更新」复选框对应配置项check_updates,默认开启。
工作流程
- 应用启动约 1.5 秒后,后台线程调用 GitHub Releases API 查询最新标签(实现见 utils/update_check.py)
- 将当前版本与最新版本比较,若存在新版本,弹出提示并可一键打开下载页
- 请求结果缓存在数据目录的
.update_check_cache.json,每台机器最多一小时请求一次 API,并支持 ETag(304)节省流量
相关细节
- 关闭
check_updates后完全不会发起网络请求 - 若当前版本比最新发行版还新(例如使用开发版),不会误报「有更新」
- 检查失败(网络受限、API 限流 403 等)只记录日志,不影响代理运行
五、快速上手清单
- 找到数据目录,用文本编辑器打开
config.json - 按需调整
port、dc_ip(保持DC:IP格式) - 需要排查问题时勾选
verbose,重启托盘应用 - 通过托盘「打开日志」跟踪
proxy.log - 保持
check_updates开启,及时获取新版 MTProto 代理
更多安装与连接说明,可参考 docs/EN/README.md 与 docs/EN/TrayConfig.md。掌握以上配置字段、日志与更新设置后,TG WS Proxy 的日常运维基本只需几秒钟的开销。
【免费下载链接】tg-ws-proxyLocal MTProto proxy server for partial bypassing of Telegram loading项目地址: https://gitcode.com/gh_mirrors/tg/tg-ws-proxy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考