翻墙应用商店

开源项目谱系

开源代理内核变迁史

从 GoAgent、Shadowsocks 到 V2Ray、Clash、Mihomo 与 sing-box,记录开源代理工具如何走向协议平台、规则核心与多内核生态。

时间范围
2011—2023
收录节点
13 个节点
资料版本
第一版

工具谱系

协议、工具与核心如何分化

代码与生态
01 · 访问压力

服务封锁与流量识别

从网站不可达,演进到域名、协议和加密流量特征层面的识别。

02 · 核心回应

协议、传输与规则平台

核心负责连接、伪装、DNS、路由、TUN 和多种出站协议。

03 · 生态采用

客户端适配与系统集成

客户端采用这些核心,提供订阅、策略组、测速和系统流量接管。

先看三阶段,再按需展开完整路线选择工具节点,下方只显示该工具的资料。
选择工具谱系视图
01

早期探索

云平台、自动分流与轻量协议分别起步。

02

平台化与规则化

模块化核心、规则路由与明确代码分支出现。

03

延续与独立实现

既有使用模型由社区延续,也出现新一代独立平台。

分享与下载始终生成完整谱系图

当前节点 · 2015

V2Ray

模块化代理平台
受同一轮删库事件推动

首个 README 把项目定义为可复用其他工具的翻墙工具包,并把 Shadowsocks、GoAgent 删代码写成开发动机。VMess、多入站/出站和模块化设计让“核心”与“客户端界面”逐渐分离。

采用或支持该核心的客户端

资料来源

关键节点

项目起点、分支与生态转折

最新事件优先
  1. 生态转折

    多个 Clash 相关项目集中删除、归档或清理

    公开资料汇总记录到,多项 Clash 相关 GitHub 项目在短时间内删除仓库、归档项目或清理发布内容,工具生态与分发渠道因此明显收缩。

    各项目公开动作并不完全相同,现有资料也不足以为所有项目确认同一个原因;本编年史只记录可观察到的变化。

  2. 项目起点

    sing-box 开启独立的通用代理平台路线

    sing-box 的初始提交在这一天建立。项目以“通用代理平台”为定位,把多协议入站与出站、DNS、规则路由、TUN 和跨平台图形客户端放在同一体系中。

    sing-box 不是 V2Ray、Xray 或 Clash 的直接 fork;它是独立实现,但吸收了多协议、规则路由与核心/界面分层已成为共同需求这一行业经验。

  3. 代码分支

    Xray-core 从 v2ray-core 分叉

    Xray-core 建立公开仓库,其项目说明确认 v1.0.0 从 v2fly-core 的特定提交分叉。此后项目围绕 VLESS、XTLS、REALITY 等能力长期独立演进。

    这是本谱系里可以明确称为“直接代码分叉”的关系;官方文档同时提醒,今天的 Xray 与 V2Ray 已存在配置和功能差异。

  4. 能力演进

    核心与图形客户端的分工变得清晰

    v2rayNG 与 v2rayN 的 GitHub 仓库分别在 2019 年 5 月和 7 月建立,Android 与桌面用户开始通过独立图形客户端管理节点、订阅和路由,而底层核心可以另行更新。

    这种“客户端界面 + 可替换核心”的结构后来继续扩展:今天的 v2rayNG 可使用 Xray 或 V2Fly,v2rayN 也已支持 Xray、sing-box 等多个核心。

  5. 能力演进

    Clash 把规则路由带到多协议核心

    Go 模块存档保留了 Clash v0.3.2 的发布记录。项目把自己定义为“基于规则的隧道”,同时支持 Shadowsocks、VMess 等出站,并把规则、策略组、Fake-IP DNS 与控制 API 作为主要能力。

    Clash 的 README 致谢 go-shadowsocks2 与 v2ray-core,但它不是 V2Ray 的直接 fork;它推动的是从“能连上”到“怎样按规则使用多个出口”的体验变化。

  6. 应用分发

    Apple 从中国区 App Store 下架多款 VPN 应用

    Apple 表示,中国区商店中的部分 VPN 应用因不符合当地法规而被移除。获取工具的难度由网络访问层进一步延伸到应用分发层。

  7. 生态转折

    COW 发布最后一个可核验正式版本

    COW 发布 0.9.8,修复 Shadowsocks OTA、微信图片地址和连接重置识别问题。这是仓库发布页与 CHANGELOG 中最后一个可核验的正式版本。

    COW 仓库至今仍可公开访问,也没有被标记为归档;现有原始资料没有提供正式的“停止维护”声明,因此这里只记录最后版本,不把它写成确定的停更日期。

  8. 能力演进

    V2Ray 以模块化工具包的方向出现

    V2Ray 的初始提交把项目定义为用于简化、复用其他翻墙工具的工具包,并提出模块化设计与自有 VMess 协议。首个 README 还明确把 Shadowsocks、GoAgent 删代码事件写成开发动机。

    V2Ray 不是 Shadowsocks 的代码分支;它代表的是另一种工程回应:把协议、传输、路由和二次开发能力组织成可组合的平台。

  9. 生态转折

    GoAgent 主要源码仓库被清空

    EFF 的同期报道记录,GoAgent 维护者 Phus Lu 清空了项目的主要源码仓库,并把仓库描述改为“Everything that has a beginning has an end”。

    这发生在 Shadowsocks 原始仓库清空代码三天之后。V2Ray 的初始 README 随后明确把 GoAgent 与 Shadowsocks 被迫删代码的事件写成开发动机;GoAgent 的备份和派生版本并未同时消失。

  10. 生态转折

    Shadowsocks 原始仓库清空代码

    原作者 clowwindy 以名为“remove”的提交清空仓库。EFF 随后记录了维护者关于受到警方联系、被要求停止维护的公开说法。

    这次变化针对原作者及原始仓库;Shadowsocks 的开源实现和后续生态并未因此整体终止。

  11. 项目起点

    COW 开始探索自动识别受阻网站

    COW(Climb Over the Wall)的初始提交把项目定义为一种 HTTP 代理:尝试识别被封锁的网站,只在访问这些网站时使用上级代理。

    后续版本会先尝试直连,失败后用上级代理重试,并根据访问结果维护直连与受阻状态;它可把 GoAgent、Shadowsocks、HTTP 或 SOCKS5 当作上级代理。COW 不是 Clash 的代码祖先,但两者都试图降低手工维护分流规则的成本。

  12. 项目起点

    Shadowsocks 公开仓库建立

    GitHub 元数据显示,Shadowsocks 原始公开仓库在这一天建立。它后来发展为影响广泛的开源代理工具与协议生态。

    仓库创建时间是一条可核验的公开起点,不等同于证明项目的最初构思也发生在这一天。

  13. 项目起点

    GoAgent 项目在 Google Code 建立

    Google Code Archive 的项目元数据记录了 GoAgent 的创建时间。删库前版本显示,它由本地 Python 代理与上传到 Google App Engine 的服务端组成,用户需要配置自己的 App ID。

    GoAgent 代表的是借助云应用平台建立代理通道的早期路线。它不是 Shadowsocks 的代码前身,但后来与 Shadowsocks 一样成为许多客户端和新工具需要兼容或回应的对象。

收录原则

事实、来源与边界

这里只记录开源代理工具与内核本身的变化。宏观访问事件、审查技术和一般政策不再单列;仅在直接推动项目诞生、删库、分发或技术路线变化时简要说明背景。

原始资料优先

优先引用官方声明、研究机构测量、论文和项目提交记录。

区分事实与推断

资料无法确认统一原因时,只记录可观察到的变化,不补写动机。

持续修订

这是工具史第一版;后续会继续补充遗漏的项目节点、内核演进与新证据。