翻墙应用商店

clowwindy俗称:C神

Shadowsocks 的破晓之火:点燃去中心化开源生态

资料边界与事实声明

本文严格基于公开代码仓库提交记录、官方文档及第三方权威公益组织(电子前沿基金会 EFF)的公开报道。对于开发者的现实身份、个人生活及离场后的私人去向,本站不作任何调查、推测或记录;对 2015 年仓库清空事件,仅严格引用作者本人在提交与 Issue 中的公开陈述及 EFF 的同期转述。

修订历史:
  • 深度考据 GitHub commit、Issue #124 与 EFF 专题报道,引入 2012 创世宣言、2013 社区愿景与 2015-08-22 删库告别原话。

本站收录作品

已收录 1 款主导开发应用
Shadowsocks Android
Android

Shadowsocks 官方 Android 与 ChromeOS 客户端,使用 shadowsocks-rust,并提供系统 VPN 接入。

代表作品与核心贡献

Shadowsocks (Python)

访问作品

最初的原型与参考实现,奠定了轻量对称加密中继隧道的通信规范

Shadowsocks-iOS / Shadowsocks-Android

访问作品

早期移动端开源客户端探索,推动了移动设备网络扩展与代理分流生态

起源:在深度包检测的铁幕下突围

在 2012 年初 Shadowsocks 诞生之前,中文互联网的突破封锁手段正经历着前所未有的至暗时刻。当时主流的翻墙方案主要依赖两类:一是以 OpenVPN、PPTP、L2TP 为代表的传统系统级 VPN;二是以 GoAgent 为代表、基于 Google App Engine 搭建的 HTTP 反向代理。

随着防火长城(GFW)对深度包检测(DPI)技术和动态机器学习指纹的全面部署,传统 VPN 因其握手阶段鲜明的明文协商特征和固定的协议头部屡遭精准重置与阻断,如同在透明玻璃管道中运送信件;而依赖第三方公共云的 GoAgent 则因 IP 段遭遇地毯式封锁与单请求大小受限而频频瘫痪。更痛苦的是,普通用户只需要对受阻的海外学术与社交域名进行分流加速,传统 VPN 却只能将整机的所有本地流量无差别地导入耗费昂贵带宽的远端隧道,造成国内网站极度迟滞。

在这一逼仄的技术僵局中,clowwindy 于 2012 年 4 月 20 日在 GitHub 创建了项目,并在创世 README 中留下了那句精炼而直击本质的定调:“A lightweight tunnel proxy which can help you get through firewalls.”(一个能帮你穿越防火墙的轻量级隧道代理)。他构想出了一种极其克制却足以颠覆战局的全新模型:利用本机成熟的 SOCKS5 协议静默接收应用程序流量,再在客户端与自建的境外远程服务器之间建立一条轻量、对称加密的私有传输管道。在外部审查设备眼中,这条连接在流量特征上完全表现为毫无规律的高随机度二进制加密流,没有明文握手,没有特征证书,从而以最小的工程代价奇迹般避开了所有特征匹配系统。[4]

极简设计:单文件脚本重塑代理工程范式

Shadowsocks 最初的实现仅仅是用 Python 编写的数百行代码,甚至单文件即可独立启动。它的通信时序优雅而高效:本地客户端在本地监听 1080 端口扮演 SOCKS5 代理服务器,无感接收来自浏览器或操作系统的网络连接;随后将目标地址类型(IPv4、IPv6 或域名)、目标端口与有效载荷紧凑打包,利用预共享密钥与随机初始向量(IV)进行对称流加密,直连发送至远端服务端;服务端解密后代为发起真实 TCP/UDP 连接,并将回传流量加密捎回本地。

2013 年 11 月 9 日,面对社区用户对长期维护的关切与感谢,clowwindy 在 Issue #124 中坦诚回复道:“最开始只是我自己写来用的,但很高兴能帮到大家。这个项目属于社区,只要有需求,它就会一直存在下去。”这种纯粹的开源信念与极简设计互相辉映,带来了降维打击般的技术红利:协议开销被压缩到极致,吞吐性能远超传统协议;完全运行在普通用户态空间,无需 root 权限;并与系统 PAC 脚本完美契合,使得“国内直连、海外走代理”的分流第一次走入千家万户。

尽管在数年后的密码学攻防演进中,单纯流加密与缺乏密文完整性校验的机制在面对主动探测(Active Probing)重放攻击时暴露出局限,催生出社区制定 AEAD 加密规范乃至后来的 Shadowsocks 2022 提案,但 clowwindy 在 2012 年以惊人直觉确立的基础通信范式,无可争议地奠定了整整一代开源代理协议的技术底色。[4][5][2]

告别的八月:一次震惊社区的仓库清空

2015 年 8 月 22 日 13:48,GitHub 上的 shadowsocks/shadowsocks 仓库记录了一次具有划时代象征意义的代码提交(commit 938bba32a4008bdde9c064dda6a0597987ddef54),提交日志仅有六个英文字母:“remove”。仓库中全部核心 Python 源码被作者一键清空。

在随后公开的 Issue #124 告别声明中,clowwindy 写下了令整个中文技术界震动的真实陈述:“Two days ago the police came to me and wanted me to stop working on this. Today they asked me to delete all the code on GitHub. I have no choice but to obey. I hope you will understand.”(两天前警察找到我,要求我停止开发。今天他们要求我删除 GitHub 上的所有代码。我别无选择只能服从。希望大家能够理解。)

面对突如其来的不可抗力,clowwindy 在社交平台上留下了最后的温情嘱托:“最希望的是,大家不要理那些人。如果你们真的支持我,就不要为我抱不平,也不要把这件事搞大。……维护好你们手上的分支,保护好你们自己。”并饱含深情地写下那句震撼无数工程师的话语:“我希望有一天,我能在一个真正自由的国度生活,在那里,我不仅可以自由地写代码,也可以自由地说话。”电子前沿基金会(EFF)于 2015 年 8 月 28 日发布的深度专题报道记录了这一历史全貌。这成为了世界开源软件抗审查历史上最凝重、最标志性的转折点。[1][3][2]

燎原之火:代码可以被删除,但思想永不磨灭

当 clowwindy 挥手告别、主仓库变成空白时,许多人曾悲观地以为这项技术将就此终结。然而,去中心化开源网络的惊人生命力在此刻彻底爆发。在仓库被清空之前,全球早已有成千上万名开发者 Fork 了代码,火种早已分散至天涯海角。

几乎在原作者退场的同一时刻,分布式社区接力全面启动:专注于极致性能与嵌入式路由器移植的 C 语言版 shadowsocks-libev 扛起了核心重任,Go、Rust、C# 与移动端原生实现相继涌现,形成多语言百花齐放的抗封锁矩阵。更具戏剧性的是,就在 Shadowsocks 删库后短短一周(2015 年 8 月底),V2Ray 的初始提交与首份 README 便明确将 Shadowsocks 与 GoAgent 的被迫关停记录为立项动机,拉开了模块化复合协议的新篇章。

正如 EFF 与开源技术倡导者所评价的那样:关闭一个代码仓库并不能消灭一种思想。clowwindy 虽然被迫告别了项目,但他亲手点燃的这柄火炬,早已照亮了去中心化抗审查生态浩瀚的星空。[1][3]

致敬开发者的坚守

代码或许归档,但火种永不熄灭。为推动网络对抗演进与底层工程突破的开拓者献上一份敬意。

单设备 1 小时内限致敬 1 次 · 匿名无感不收集隐私

编年大事记

GitHub 原始公开仓库建立

clowwindy 在 GitHub 创建仓库并发布 Python 原型,确立“穿越防火墙的轻量级隧道代理”核心使命。[4]

Shadowsocks Android 开源客户端首个提交

移动端开源客户端开始探索,推动轻量级代理走向大众智能手机设备。

确立项目属于社区的开源定调

clowwindy 在 Issue #124 表态“项目属于社区,只要有需求就会一直存在下去”,奠定去中心化传承基调。[2]

shadowsocks-libev 分支诞生

由社区维护的 C 语言实现版本发布,大幅降低了在路由器与嵌入式设备上的资源消耗。

原始代码仓库清空(remove 提交与告别声明)

13:48 提交 commit 938bba3(“remove”),并在 Issue #124 说明因警方谈话被迫删库退出,发表著名告别留言。[1][2]

电子前沿基金会(EFF)发表专题报道

EFF 刊文《Speech that Enables Speech》,记录作者受压停止维护的公开发言与抗审查技术背景。[3]

社区引入 SIP004 / AEAD 加密标准

Shadowsocks 协议引入带有关联数据的认证加密(AEAD),增强防篡改与抗主动探测能力。[5]

社区发布 Shadowsocks 2022 规范

全面重构握手报文与会话独立密钥派生,提供更强的抗重放攻击与多用户管理能力。

一手来源与考据

小传正文中的关键事实与时间点均基于以下公开一手记录或权威报道:

  1. [1]

    作者本人提交的清空代码操作与时间戳记录

    https://github.com/shadowsocks/shadowsocks/commit/938bba32a4008bdde9c064dda6a0597987ddef54
  2. [2]

    记录作者本人因不可抗力被迫删库退出维护的公开说明与告别原话

    https://github.com/shadowsocks/shadowsocks/issues/124
  3. [3]

    记录作者关于警方联系、停止维护及希望拥有言论自由的公开转述

    https://www.eff.org/deeplinks/2015/08/speech-enables-speech-china-takes-aim-its-coders
  4. [4]

    原始项目文档与网络中继架构定义

    https://github.com/shadowsocks/shadowsocks/blob/master/README.md
  5. [5]

    社区制定的认证加密规范,标志着流加密向 AEAD 的演进

    https://shadowsocks.org/doc/aead.html

发现人物信息不准确?

提交建议内容和公开证据链接。无需填写联系方式,资料会在人工核验后更新。

提交信息纠错