TG WS Proxy贡献者指南:项目结构剖析与如何提交你的第一个PR
TG WS Proxy贡献者指南项目结构剖析与如何提交你的第一个PRTG WS Proxy 是一款免费的本地 MTProto 代理服务器专为 Telegram Desktop 加速加载而设计。它将 Telegram 流量通过 WebSocket 连接重定向数据全程保持加密传输且无需任何第三方服务器——一切都运行在你本地。如果你想为这个开源项目贡献力量本指南将带你看懂项目结构、跑通本地运行环境并手把手教你提交第一个 PR。先搞懂 TG WS Proxy 的工作原理在动手改代码前先理解数据流。一句话概括整个链路Telegram Desktop → MTProto 代理 (127.0.0.1:1443) → WebSocket → Telegram 数据中心具体分为 5 步应用在127.0.0.1:1443启动本地 MTProto 代理拦截 Telegram Desktop 的数据中心连接从 MTProto 混淆初始包中提取 DC ID通过 Telegram 官方域名建立 WebSocketTLS连接若 WebSocket 不可用遇到 302 重定向自动降级到 Cloudflare 代理或直连 TCP项目结构剖析每个模块在哪里仓库顶层结构非常清晰一眼就能分清职责目录 / 文件职责proxy/核心代理引擎asyncio 异步实现ui/基于 CustomTkinter 的系统托盘界面utils/配置、日志、更新检查等公共工具packaging/PyInstaller 打包规范docs/多语言文档俄 / 英 / 中pyproject.toml项目元数据与依赖声明proxy/核心代理引擎这是改动频率最高、也是最值得新人阅读的目录proxy/tg_ws_proxy.py — 入口与主调度监听端口、握手校验、连接分发proxy/bridge.py — 数据双向桥接与 MTProto 层 1 重加密包含 CF 代理 / TCP 回退策略proxy/raw_websocket.py — 自研 WebSocket 客户端手工实现握手与帧解析零第三方依赖proxy/pool.py — WebSocket 连接池预分配、补充、轮换proxy/fake_tls.py — Fake TLSee-secret伪装支持proxy/balancer.py — 数据中心域名负载均衡proxy/_aes.py — AES-CTR 加解密核心proxy/config.py — 端口、DC IP、CF 代理域名等配置解析ui/托盘界面与国际化ui/ctk_tray_ui.py — 设置表单、连通性测试按钮等全部 UI 逻辑ui/ctk_theme.py — 跨平台主题适配ui/i18n/ — 多语言资源en.json 与 ru.json想贡献翻译从这里入手最友好——新增一个xx.json并在ui/i18n/注册语言即可不涉及核心逻辑。utils/ 与各平台入口utils/tray_common.py — 配置读写、单实例锁、代理线程生命周期管理utils/update_check.py — 版本更新检查utils/logging_setup.py — 滚动日志文件配置windows.py / macos.py / linux.py — 三大平台的托盘入口点打包与入口命令pyproject.toml 中注册了 4 个控制台命令tg-ws-proxy纯控制台代理和tg-ws-proxy-tray-win / tray-macos / tray-linux托盘版。桌面端打包由 PyInstaller 规范驱动packaging/windows.spec、packaging/macos.spec、packaging/linux.spec。本地构建步骤5 分钟跑起 TG WS Proxy贡献的前提是先把项目跑起来。唯一硬性要求Python ≥ 3.8。第一步克隆并安装git clone https://gitcode.com/gh_mirrors/tg/tg-ws-proxy cd tg-ws-proxy pip install -e .第二步启动控制台模式无托盘界面适合调试tg-ws-proxy --port 1443 -v第三步按系统选择托盘版启动tg-ws-proxy-tray-win # Windows tg-ws-proxy-tray-macos # macOS需 Python 带 Tk 支持 tg-ws-proxy-tray-linux # Linux需 AppIndicator完整参数表--dc-ip、--fake-tls-domain、--cfproxy-domain等见 docs/EN/BuildFromSource.md。首次启动会看到这样一个引导窗口包含连接信息和一键跳转到 Telegram 的选项调试小贴士加-v输出 DEBUG 级日志是定位代理问题的第一手段日志落盘参数--log-file配合--log-max-mb可长期留存现场。如何提交你的第一个 PR官方贡献指南是 docs/CONTRIBUTING.md核心要求如下。提 issue 之前先查阅 docs/README.md 及相关平台文档确认没有重复的 issue按仓库标准 label 规范提交方便维护者分诊Bug 报告要包含的信息应用版本号、操作系统复现步骤预期行为 vs 实际行为日志文件或错误文本描述越精确修复越快——这是官方指南的原文态度。PR 提交前的三项检查依据 docs/CONTRIBUTING.md你的改动解决了具体问题不夹带无关修改现有功能场景没有被破坏若行为或配置有变化同步更新了文档⚡小步、聚焦的 PR 会被最快审核合并——这既是官方建议也是经验之谈。新手友好任务推荐任务类型入手位置难度翻译 / 本地化ui/i18n/、docs/⭐文档勘误补充docs/ 各平台 README⭐新增控制台参数proxy/tg_ws_proxy.py 参数解析部分⭐⭐桥接 / 回退逻辑优化proxy/bridge.py⭐⭐⭐代码风格遵循 pyproject.toml 中的 Ruff lint 规则提交前本地跑一遍 lint能省去不少往返。写在最后TG WS Proxy 是一个小而完整的网络工程项目核心逻辑高度集中在proxy/目录从加密、桥接到 UI 分层清晰每个文件都能独立读懂。先按上面的步骤跑通本地环境再从任务表中挑一个 ⭐ 难度的小改动练手——你的第一个 PR 就会水到渠成。创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

react-ga 使用指南:在 React 应用中集成 Universal Analytics 数据埋点

react-ga 使用指南:在 React 应用中集成 Universal Analytics 数据埋点

开发工具 【免费下载链接】react-ga React Google Analytics Module 项目地址: https://gitcode.com/gh_mirrors/re/react-ga 点击查看 免费下载 react-ga 是一个专为 React 前端项目设计的 Google Analytics(Universal Analytics)JavaScrip…

2026/10/15 2:32:22 阅读更多 →
DevSpace 中的 Go 随机数据填充库 sigs.k8s.io/randfill:用法、定制与 fuzz 集成全解析

DevSpace 中的 Go 随机数据填充库 sigs.k8s.io/randfill:用法、定制与 fuzz 集成全解析

云原生开发工具DevOps容器编排 【免费下载链接】devspace DevSpace - The Fastest Developer Tool for Kubernetes ⚡ Automate your deployment workflow with DevSpace and develop software directly inside Kubernetes. 项目地址: https://gitcode.com/gh_mirro…

2026/10/15 2:32:22 阅读更多 →
科研idea的生成逻辑与落地转化路径解析

科研idea的生成逻辑与落地转化路径解析

外文文献“白嫖”与高效阅读全攻略 宝子们,是不是一提到下载外文文献就头大? 想找的文献要么全网搜不到,要么下载流程复杂到让人原地爆炸。好不容易在某个小网站找到了资源,又担心版权问题不敢点,更别说有些平台动辄几…

2026/10/15 2:31:22 阅读更多 →

最新新闻

杂交瘤HAT筛选后集落稀疏怎么办?从融合效率、HGPRT到铺板密度的7项排查

杂交瘤HAT筛选后集落稀疏怎么办?从融合效率、HGPRT到铺板密度的7项排查

摘要: 杂交瘤细胞融合后进入HAT选择培养,是单克隆抗体制备流程中非常关键的一步,但实验中经常出现集落稀疏、孔内细胞逐渐消失甚至整块板无细胞存活等问题。不同失败表现背后的原因并不相同:融合后24-48小时即出现大量细胞碎片&am…

2026/10/15 3:09:36 阅读更多 →
杂交瘤HAT筛选失败怎么排查?融合、HGPRT、培养基和铺板密度完整整理

杂交瘤HAT筛选失败怎么排查?融合、HGPRT、培养基和铺板密度完整整理

摘要: 杂交瘤HAT筛选常出现集落稀疏、细胞存活差的问题,成因覆盖细胞、培养基、操作等多个环节。本文区分两个发生阶段,梳理排查要点与验证方法,为单克隆抗体制备实验提供参考。 关键词:杂交瘤、HAT筛选、促杂交瘤生长…

2026/10/15 3:09:36 阅读更多 →
免费开源 Angular 9 后台管理仪表盘模板:Start Bootstrap SB Admin Angular 技术详解

免费开源 Angular 9 后台管理仪表盘模板:Start Bootstrap SB Admin Angular 技术详解

前端文档 【免费下载链接】startbootstrap A library of free and open source Bootstrap themes and templates 项目地址: https://gitcode.com/gh_mirrors/st/startbootstrap 点击查看 免费下载 SB Admin Angular 是 Start Bootstrap 推出的首款 Angular 版本后台…

2026/10/15 3:09:36 阅读更多 →
wiliwili 终极指南:把游戏机变成全平台 B 站播放器

wiliwili 终极指南:把游戏机变成全平台 B 站播放器

wiliwili 终极指南:把游戏机变成全平台 B 站播放器 【免费下载链接】wiliwili 第三方B站客户端,目前可以运行在PC全平台、PSVita、PS4 、Xbox 和 Nintendo Switch上 项目地址: https://gitcode.com/GitHub_Trending/wi/wiliwili wiliwili 是一款专…

2026/10/15 3:09:36 阅读更多 →
Path of Building:Path of Exile 离线构建规划工具,帮你算清 DPS

Path of Building:Path of Exile 离线构建规划工具,帮你算清 DPS

Path of Building:Path of Exile 离线构建规划工具,帮你算清 DPS 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding 还在对着攻略表手动算伤害&#…

2026/10/15 3:09:36 阅读更多 →
笑脸与口罩识别的工业级落地:从像素统计到人机意图理解

笑脸与口罩识别的工业级落地:从像素统计到人机意图理解

1. 这不是玩具项目:笑脸与口罩识别背后的真实业务切口“笑脸识别,口罩识别”——光看标题,很多人第一反应是:这不就是个课堂Demo?调用OpenCV读个摄像头,加两行cv2.CascadeClassifier,再套个预训…

2026/10/15 3:08:36 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →