代理协议独立百科词条混淆与订阅奠基

ShadowsocksR (SSR)

协议与混淆正交双层解耦 · 现代商业“机场”批量订阅发源

ShadowsocksR 是由开发者 BreakWa11(破娃酱) 于 2015 年在 Shadowsocks 基础上分叉建立的里程碑式项目[1]。 面对审查系统对原生 Shadowsocks 纯高熵密文的特征识别,SSR 创造性地提出了「协议鉴权(Protocol)与流量混淆(Obfs)正交解耦」的双层模型。 尤具深远历史影响的是,BreakWa11 在项目中发明了 ssr:// 节点 URI 规范 与 基于 HTTP(S) API 批量节点订阅(Node Subscription)[2][3], 彻底打破了早期逐条手动配置节点的方式,直接奠定了现代商业“机场”产业集中分发的根本基石。

核心作者BreakWa11
混淆创世2015.09.11
订阅发明2017.06.03
历史地位现代“机场”商业分发订阅范式鼻祖

日期辨析:2015 年 9 月 11 日混淆插件首发 vs 2017 年 6 月 3 日批量订阅发明

混淆插件体系确立2015.09.11

BreakWa11 首次向 Shadowsocks 分支引入 obfs 插件,开创 Protocol 与 Obfs 解耦的正交架构。

发明 ssr:// 节点链接规范2016.06.28

在 ShadowsocksR-C# 客户端中首次确立 Base64 安全编码的 ssr:// 统一节点 URI 标准。

首创批量节点订阅机制2017.06.03

首次实装基于 HTTP(S) API 接口拉取的批量节点订阅管理器,直接奠定了现代“机场”产业的商业分发基石。

编写口径:所有时间节点严格以 GitHub 真实 Commit 哈希记录(a723c2f0 与 0eb2b9c7)为权威依据,不把 2017 年社区镜像建立时间当成项目起点。

词条概览与核心定位

01

2015 年夏天,审查系统开始运用统计学分类器对特定大流量的高熵纯密文进行定点干扰。 原生 Shadowsocks 主张协议自身只负责极简加密,将混淆外包给 SIP003 独立外部插件; 而 BreakWa11 认为,将混淆与协议内部紧密结合,才能实现更灵活的数据包分割、长度动态伪装与单端口多用户鉴权。

由此诞生的 ShadowsocksR 在抗审查史中留下了浓墨重彩的一笔。 她引入的 tls1.2_ticket_auth 混淆插件,通过模拟标准 TLS 握手的 ClientHello 与 Session Ticket, 在当时成功欺骗了大量被动嗅探设备[1]; 而在 ShadowsocksR-C# 中实装的订阅功能[2],更是让普通网民从繁琐复杂的节点配置中解脱出来,成为日后全行业客户端的标准功能。

定位结论

ShadowsocksR 属于翻墙技术史上的分水岭与现代生态奠基者。 尽管其简易的拟态混淆在当代全流量深度重放探测面前已被证明不够完备,但由其开创的订阅生态至今仍是整个翻墙互联网运转的生命线。

协议与混淆双层解耦架构

02
1. 基础对称加密层(Symmetric Cipher Layer)沿用 Shadowsocks 的基础流加密(如 aes-256-cfb、chacha20 等), 负责对真实传输载荷进行对称加密变换,保障数据不可直接明文窥探。
2. 协议鉴权与分段层(Protocol Layer)例如 auth_aes128_md5 与 auth_chain_a。 负责在加密载荷中注入时间戳、用户 ID、数据包序号与长度校验,防御重放嗅探并支持单端口多用户。
3. 流量外观混淆层(Obfs Layer)例如 tls1.2_ticket_auth 与 http_simple。 负责在握手阶段伪造成标准的 HTTPS 或 HTTP 交互报文,赋予外层流量以正常常见 Web 业务的外观。

两层处理生命周期

  1. 混淆层外壳包裹:客户端生成伪造的 TLS 握手包或 HTTP 请求头,向服务端发送首包,绕过粗粒度端口白名单检测。
  2. 协议层鉴权与拆包:服务端剔除外层混淆包装,对内层协议头中的时间戳与 HMAC 签名进行验证,拒绝非法探针。
  3. 解密转发与数据切片:基础解密后还原真实目标地址并建立连接,数据包根据配置进行动态切片以抹除长度统计特征。

现代安全视角下的局限反思

SSR 的 TLS 混淆仅模拟了首包外观,并非真正的全双工 TLS 握手,无法通过现代的主动探测和严格证书链校验。 在当代防御体系中,该思路已被真正的双向 TLS 或 REALITY 完全取代。

版本演进时间线(共 7 个关键节点)

03

以下时间线记录了 ShadowsocksR 从 2015 年诞生到订阅发明及社区传承的完整关键历史节点,全部依据 Git Commit 记录核实:

纪事

2015 年:混淆机制创立与初版演进

  • BreakWa11 提交首个 obfs 混淆插件

    在 GitHub 提交 Commit a723c2f0,首次向 Shadowsocks 引入可插拔的混淆层,标志着 ShadowsocksR 正式诞生。

    GitHub:Commit a723c2f0
  • 发布首个 TLS 会话握手混淆插件

    提交 Commit aff97d4c,针对网络审查开始探测特定高位端口的行为,初步模拟 HTTPS 握手外观。

    GitHub:shadowsocksr 代码库
纪事

2016 年:tls1.2_ticket_auth 与 ssr:// 标准确立

  • 实装 tls1.2_ticket_auth 混淆插件

    提交 Commit 95bc6e4a,利用 Session Ticket 特性构造拟真的 TLS 握手,大幅降低高熵随机流被主动识别概率。

    GitHub:Commit 95bc6e4a
  • ShadowsocksR-C# 引入 ssr:// 统一节点链接

    提交 Commit 4e263bec,正式确立以 ssr:// 为标准前缀、整合密码、协议、混淆及参数的 Base64 编码 URI 规范。

    GitHub:Commit 4e263bec
纪事

2017 年:批量订阅发明与作者退隐

  • 首次实装基于 HTTP(S) 的批量节点订阅

    提交 Commit 0eb2b9c7,在客户端中创造性地加入节点订阅管理器,直接催生了现代“机场”商业分发的产业生态。

    GitHub:Commit 0eb2b9c7
  • 发布 3.4.0 版本(BreakWa11 最终版本)

    提交 Commit fd723a92,加入 auth_chain_b 动态混淆链;随后因遭遇恶性网络人肉搜索,作者为保护他人删库退隐。

    GitHub:Commit fd723a92
  • 开源社区成立 ShadowsocksRR 继续维护

    社区开发者组建 shadowsocksrr 组织接手代码,对历史提交完整归档,保障历史客户端生态平稳过渡。

    GitHub:shadowsocksrr 归档

生态实现与客户端兼容性

04

尽管原作者已退隐,但 SSR 协议已深植于翻墙客户端生态中; 当代主流内核(Mihomo、sing-box 等)与各平台 GUI 客户端均继续保留了对 SSR 节点的向下兼容解析。

软件 / 内核类型支持平台支持级别起始版本发布日期特性说明
shadowsocksr (Python 核心)核心内核Linux / macOS / Windows官方参考实现v1.0 - v3.4.02015.09.11由 BreakWa11 维护并由 shadowsocksrr 社区归档的原生 Python 服务端与客户端核心。
ShadowsocksR-C# (Windows)客户端Windows 7/8/10/11官方参考实现v4.0+2016.06.28SSR 历史上普及度最高的 Windows 图形客户端,首创 ssr:// 扫码与批量节点订阅拉取。
Shadowrocket / Quantumult X客户端iOS / iPadOS完整原生支持早期版本收录2017.03.10苹果生态网络调试工具完整支持 SSR 协议各主流 protocol 与 obfs 参数配置。
Mihomo / Clash.Meta / sing-box核心内核全平台现代跨平台内核完整原生支持内嵌支持2023.01.15作为向下兼容协议深度内嵌,支持解析 ssr:// 订阅原文并完成高吞吐透明代理。

适用场景、网络边界与历史评价

05

当代适用定位

商业机场老节点向下兼容:部分运营周期极长的老牌机场仍保留 SSR 节点,现代客户端可直接订阅使用; 受保护内网与前置中转:配合国内中转机使用时协议开销小、连接迅速; 订阅标准文化遗产:基于 Base64 的 URL 订阅分发理念由 SSR 奠定,现已演化为全行业通用的交付基础设施。

网络边界与安全风险

不防现代主动探测:其模拟的 TLS 握手无法应对现代 GFW 的深度重放与证书回溯校验,公网直连极易遭到封锁; 已无第一方维护更新:原生 Python 仓库已停止维护,不建议在新自建节点中采用该协议; 旧加密套件安全性退化:部分旧套件依赖 MD5/SHA1 作为校验哈希,不具备现代 AEAD 的完整密码学前向安全性。

第一手文献与官方参考资料

06

词条事实与技术定义均以 GitHub 真实提交记录与官方人物志审计为准:

  1. [1]shadowsocksrr/shadowsocksr GitHub 仓库归档完整保留 BreakWa11 历史提交的 ShadowsocksR Python 服务端核心源码库。https://github.com/shadowsocksrr/shadowsocksr
  2. [2]shadowsocksrr/shadowsocksr-csharp Windows 客户端仓库诞生 ssr:// 链接标准与 HTTP(S) 批量节点订阅功能的发明源头代码库。https://github.com/shadowsocksrr/shadowsocksr-csharp
  3. [3]BreakWa11 历史人物全景纪传 · 花润人物志本站依据全部 Git 提交全量审计撰写的人物传记,记录了混淆创立、订阅发明与社区历史争鸣。/people/breakwa11
  4. [4]自由亚洲电台:国内网络青年开发翻墙软件遭人肉威胁报道报道了 2017 年 7 月开发者 BreakWa11 遭遇恶性网络人肉暴力并被迫删库退圈的权威媒体报道。https://www.rfa.org/mandarin/yataibaodao/meiti/ck-01252018100414.html