开源项目谱系
翻墙纪 · 内核
从 GoAgent、Shadowsocks 到 V2Ray、Clash、Mihomo 与 sing-box,记录开源代理工具如何走向协议平台、规则核心与多内核生态。
工具谱系
协议、工具与核心如何分化
服务封锁与流量识别
从网站不可达,演进到域名、协议和加密流量特征层面的识别。
协议、传输与规则平台
核心负责连接、伪装、DNS、路由、TUN 和多种出站协议。
客户端适配与系统集成
客户端采用这些核心,提供订阅、策略组、测速和系统流量接管。
早期探索
云平台、自动分流与轻量协议分别起步。
平台化与规则化
模块化核心、规则路由与明确代码分支出现。
延续与独立实现
既有使用模型由社区延续,也出现新一代独立平台。
左右滑动,查看 6 条路线及右侧派生
当前节点 · 2015
V2Ray
模块化代理平台首个 README 把项目定义为可复用其他工具的翻墙工具包,并把 Shadowsocks、GoAgent 删代码写成开发动机。VMess、多入站/出站和模块化设计让“核心”与“客户端界面”逐渐分离。
关键节点
项目起点、分支与生态转折
应用分发 sing-box 推进统一桌面客户端分发
复制链接sing-box 团队随 1.14 系列版本推出官方桌面客户端(sing-box for Desktop),打通 macOS、Windows、Linux 与移动端(iOS/Android)的全平台第一方交互界面。
长期以来翻墙工具遵循“独立核心 + 第三方 GUI”的松散协作模式,sing-box 官方桌面端的分发标志着核心团队直接向终端用户交付开箱即用的完整跨平台客户端体验。
能力演进 代理生态形成 Mihomo、sing-box 与 Xray-core 三足鼎立格局
复制链接经过数年的去中心化演进,中文翻墙与网络代理核心生态全面确立了以 Mihomo(Clash 生态主流延续)、sing-box(全平台通用代理平台)与 Xray-core(前沿协议创新先锋)为代表的“三极分工”格局。
上游核心生态彻底摆脱了早期高度依赖单一个人或单一代码仓库的脆弱性,各类图形客户端(如 Clash Verge Rev、FlClash、v2rayN、Hiddify、Karing 等)普遍支持动态切换或同时集成多个核心。
能力演进 Project X 推出自研 XHTTP 传输协议
复制链接Project X 团队正式推出专为现代代理设计的 XHTTP 传输协议,基于 HTTP/2 与 HTTP/3 的分块与流控机制优化代理数据封装,显著增强了应对中间人阻断和 CDN 分发的穿透弹性。
XHTTP 设计目标是解决传统 WebSocket 和 gRPC 在特定 CDN、反向代理环境下的丢包或断流问题,成为 REALITY 之后 Xray 生态的又一重要底层传输探索。
能力演进 Xray-core 引入基于后量子密码学的 VLESS Encryption
复制链接Xray-core 合入代码,基于抗量子密码学标准 ML-KEM-768(Kyber)实现 VLESS 协议的端到端加解密拓展(VLESS Encryption),以抵御“先窃听、后量子破译”的前向安全威胁。
这一改进使得 VLESS 协议在不牺牲极简头开销与高性能的前提下,率先具备了对抗未来量子计算机破解记录流量的能力。
能力演进 sing-box 发布 v1.8.0 引入 Rule-Set 独立规则集架构
复制链接sing-box 发布 v1.8.0 正式版,重构路由规则系统并推出独立的 Rule-Set(.srs 预编译二进制规则集)架构,彻底改变了以往代理核心依赖庞大 GeoIP/GeoSite 散装数据的分发模式。
二进制编译规则集让核心的内存占用与规则匹配耗时大幅下降,并催生出跨项目通用的规则集订阅生态,成为新一代代理规则分发的标杆。
生态转折 Mihomo 发布 v1.18.0 并确立后 Clash 时代核心地位
复制链接MetaCubeX 团队发布 Mihomo v1.18.0,正式确立自 Clash 闭源及停更后的开源延续核心地位。该版本统一了开源代码库与此前闭源的 Premium TUN 特性,被几乎所有主流图形客户端迅速采纳。
在 Dreamacro/clash 核心停止维护后,原本作为衍生分支的 Clash.Meta 正式定名为 Mihomo,成为规则路由与跨平台 GUI 客户端的事实标准核心。
生态转折 原版 Clash 核心仓库被删除
复制链接同期汇总记录 Dreamacro/clash 核心仓库于北京时间 2023 年 11 月 3 日被删除。此前一天,11 月 2 日,Clash for Windows 客户端的发布仓库已被删除;两者分别是客户端与代理核心,维护和分发各自独立。
日期采用同期记录的北京时间,不把历史快照的抓取时间当作删库时间。同日其他项目分别出现删除、归档或清理发布内容等变化;时间相邻不代表具有共同原因,也不能据此推断所有客户端都因上游核心停更而退出。
项目起点 sing-box 开启独立的通用代理平台路线
复制链接sing-box 的初始提交在这一天建立。项目以“通用代理平台”为定位,把多协议入站与出站、DNS、规则路由、TUN 和跨平台图形客户端放在同一体系中。
sing-box 不是 V2Ray、Xray 或 Clash 的直接 fork;它是独立实现,但吸收了多协议、规则路由与核心/界面分层已成为共同需求这一行业经验。
代码分支 Xray-core 从 v2ray-core 分叉
复制链接Xray-core 建立公开仓库,其项目说明确认 v1.0.0 从 v2fly-core 的特定提交分叉。此后项目围绕 VLESS、XTLS、REALITY 等能力长期独立演进。
这是本谱系里可以明确称为“直接代码分叉”的关系;官方文档同时提醒,今天的 Xray 与 V2Ray 已存在配置和功能差异。
能力演进 核心与图形客户端的分工变得清晰
复制链接v2rayNG 与 v2rayN 的 GitHub 仓库分别在 2019 年 5 月和 7 月建立,Android 与桌面用户开始通过独立图形客户端管理节点、订阅和路由,而底层核心可以另行更新。
这种“客户端界面 + 可替换核心”的结构后来继续扩展:今天的 v2rayNG 可使用 Xray 或 V2Fly,v2rayN 也已支持 Xray、sing-box 等多个核心。
能力演进 Clash 把规则路由带到多协议核心
复制链接Go 模块存档保留了 Clash v0.3.2 的发布记录。项目把自己定义为“基于规则的隧道”,同时支持 Shadowsocks、VMess 等出站,并把规则、策略组、Fake-IP DNS 与控制 API 作为主要能力。
Clash 的 README 致谢 go-shadowsocks2 与 v2ray-core,但它不是 V2Ray 的直接 fork;它推动的是从“能连上”到“怎样按规则使用多个出口”的体验变化。
应用分发 Apple 从中国区 App Store 下架多款 VPN 应用
复制链接Apple 表示,中国区商店中的部分 VPN 应用因不符合当地法规而被移除。获取工具的难度由网络访问层进一步延伸到应用分发层。
生态转折 COW 发布最后一个可核验正式版本
复制链接COW 发布 0.9.8,修复 Shadowsocks OTA、微信图片地址和连接重置识别问题。这是仓库发布页与 CHANGELOG 中最后一个可核验的正式版本。
COW 仓库至今仍可公开访问,也没有被标记为归档;现有原始资料没有提供正式的“停止维护”声明,因此这里只记录最后版本,不把它写成确定的停更日期。
能力演进 V2Ray 以模块化工具包的方向出现
复制链接V2Ray 的初始提交把项目定义为用于简化、复用其他翻墙工具的工具包,并提出模块化设计与自有 VMess 协议。首个 README 还明确把 Shadowsocks、GoAgent 删代码事件写成开发动机。
V2Ray 不是 Shadowsocks 的代码分支;它代表的是另一种工程回应:把协议、传输、路由和二次开发能力组织成可组合的平台。
生态转折 GoAgent 主要源码仓库被清空
复制链接EFF 的同期报道记录,GoAgent 维护者 Phus Lu 清空了项目的主要源码仓库,并把仓库描述改为“Everything that has a beginning has an end”。
这发生在 Shadowsocks 原始仓库清空代码三天之后。V2Ray 的初始 README 随后明确把 GoAgent 与 Shadowsocks 被迫删代码的事件写成开发动机;GoAgent 的备份和派生版本并未同时消失。
生态转折 Shadowsocks 原始仓库清空代码
复制链接原作者 clowwindy 以名为“remove”的提交清空仓库。EFF 随后记录了维护者关于受到警方联系、被要求停止维护的公开说法。
这次变化针对原作者及原始仓库;Shadowsocks 的开源实现和后续生态并未因此整体终止。
项目起点 COW 开始探索自动识别受阻网站
复制链接COW(Climb Over the Wall)的初始提交把项目定义为一种 HTTP 代理:尝试识别被封锁的网站,只在访问这些网站时使用上级代理。
后续版本会先尝试直连,失败后用上级代理重试,并根据访问结果维护直连与受阻状态;它可把 GoAgent、Shadowsocks、HTTP 或 SOCKS5 当作上级代理。COW 不是 Clash 的代码祖先,但两者都试图降低手工维护分流规则的成本。
项目起点 Shadowsocks 公开仓库建立
复制链接GitHub 元数据显示,Shadowsocks 原始公开仓库在这一天建立。它后来发展为影响广泛的开源代理工具与协议生态。
仓库创建时间是一条可核验的公开起点,不等同于证明项目的最初构思也发生在这一天。
项目起点 GoAgent 项目在 Google Code 建立
复制链接Google Code Archive 的项目元数据记录了 GoAgent 的创建时间。删库前版本显示,它由本地 Python 代理与上传到 Google App Engine 的服务端组成,用户需要配置自己的 App ID。
GoAgent 代表的是借助云应用平台建立代理通道的早期路线。它不是 Shadowsocks 的代码前身,但后来与 Shadowsocks 一样成为许多客户端和新工具需要兼容或回应的对象。
收录原则
事实、来源与边界
这里只记录开源代理工具与内核本身的变化。宏观访问事件、审查技术和一般政策不再单列;仅在直接推动项目诞生、删库、分发或技术路线变化时简要说明背景。
原始资料优先
优先引用官方声明、研究机构测量、论文和项目提交记录。
区分事实与推断
资料无法确认统一原因时,只记录可观察到的变化,不补写动机。
持续修订
这是工具史第一版;后续会继续补充遗漏的项目节点、内核演进与新证据。