← 返回

大模型内化的十年开源积累,正在补完 shadowsocks 的原始愿景

论点

shadowsocks 在 2012 年提出时,包含两个并列的设计倡导:

  • 去中心化部署:每个使用者拥有自己的服务端,而非依赖少数公共节点
  • 协议层可定制:通过插件机制允许使用者自行实现传输层伪装,避免单一指纹被特征化

第一项在过去十年里部分实现,VPS 价格下降与一键脚本的普及让自建对技术用户不再困难,但对非技术用户仍是门槛。第二项几乎没有被普通用户兑现:能独立写出一个生产可用混淆插件的开发者全球不超过千人,结果是绝大多数使用者共享 v2ray、xray、hysteria 等少数项目的协议指纹。

2025–2026 年发生的变化是结构性的:过去十几年开源社区围绕翻墙工具贡献的全部代码,包括 shadowsocks、v2ray、xray、trojan、hysteria、naive、reality,以及 SIP003、VLESS、Hysteria2 等协议规范,已经被内化进大模型的训练数据。其直接结果是部署与协议自定义的实现成本同时塌缩。

本文记录两个实测 case。

模型内化了什么

观察 2026 年主流代码模型在翻墙相关任务上的表现,已被稳定内化的内容如下:

类别内容
协议规范shadowsocks AEAD、SIP003、SIP022、VLESS、VMess、Trojan、Hysteria2、reality、naive
实现细节aes-256-gcm/chacha20-poly1305 的盐与 nonce 处理、Trojan 的 TLS 透传、reality 的 ServerHello 重组
部署知识systemd 单元、ufw/nftables/firewalld 规则、acme.sh / certbot 自动化、Cloudflare DNS API
工具链shadowsocks-rust v1.x、sing-box、xray-core 的 CLI 与配置文件 schema
对抗经验TLS-in-TLS 指纹、TCP 时序特征、SNI 白/黑名单的常见破解模式

对模型而言,"写一个 SIP003 插件"与"写一个 HTTP server"在难度上已无本质差异,两者的模式都在训练语料里出现过足够多次。

Case 1:10 分钟部署

最直接的应用场景:手上有一台空 VPS,需要一套可用的服务端 + 客户端。

实测流程:在 VPS 上运行任意 code agent(Claude Code / opencode / Cursor),给出一条 prompt:

在这台 VPS 上部署 shadowsocks-rust 服务端,用 SIP003 plugin 做 HTTP/2 混淆。配好 systemd 自动启动,开放 443 端口,生成客户端配置文件给我。

模型自行完成系统检测、包安装、强随机密码与端口生成、systemd 单元写入、防火墙规则、客户端配置导出,全程对使用者无认知负担。10 分钟内拿到可用链路。

shadowsocks 第一项愿景(去中心化部署)的最后一段门槛,也就是"看得懂文档、不怕命令行",被填平。

Case 2:用非 SOTA 模型写一个混淆插件

更激进的实测:让一个完全免费、非 SOTA 的模型从零写一个 SIP003 混淆插件,验证协议自定义的实际成本。

使用的工具组合:

  • Code agentopencode,开源、CLI 优先
  • 模型deepseek-v4-flash-free,通过 OpenRouter 免费档接入
  • Provider 费用:$0
  • 本地费用:$0
  • 开发时间:~2.5 小时,含调试与端到端验证
  • 产出代码:410 行 Go,单文件,1 个非标准依赖

DeepSeek v4 flash 不是当前最强的代码模型,它的定位是低延迟、低成本的批量生产档位,benchmarks 上明显落后于 Claude Opus 4.7、GPT-5.5。但对这个任务而言,"够用"的门槛已经被它跨过了。

起点是一条中文 prompt:

opencode 会话起点

模型自行决定引入 golang.org/x/net/http2、构造 HEADERS + DATA 帧、处理 HPACK 编码:

HTTP/2 帧编解码实现

最终产物 sip003-http2-obfuscator 结构如下,端到端通过 shadowsocks-rust 集成测试:

项目结构

TEXT
http2-obfuscator/
├── main.go              # ~410 行
├── build.sh
├── test_integration.sh  # 端到端集成测试
├── go.mod / go.sum
└── README.md

中间模型踩过两个坑,一个是 SIP003 环境变量的方向语义,一个是 HTTP/2 帧的并发写入交错,都在错误日志反馈后自行修正。整个会话期间作者未手写一行 Go 代码。

更换伪装目标的边际成本极低。HTTP/2 这套架子换成 WebSocket、gRPC、DoH、QUIC,让同一个免费模型再跑一轮,预计时间相当。每位使用者完全有条件维护一份只属于自己的私有变体。

总结

shadowsocks 原始设计中"协议层可定制"这一倡导,技术上完全成立,工程上几乎不可执行。SIP003 接口本身从 2017 年起就准备好接收任意第三方插件,但与之匹配的"任意第三方"始终没有出现。

补完这一缺口的不是某个新协议,也不是某个新工具,而是十几年开源贡献在大模型中的累积内化。当 shadowsocks、v2ray、xray 这些项目本身,包括它们的代码、文档、issue 讨论、踩坑记录,都成为模型的隐式知识库,"实现一个传输层混淆"从专家工作降级为可委托给 agent 的常规任务。一个免费的、非 SOTA 的 DeepSeek v4 flash 足以在数小时内完成,意味着这一能力对几乎所有使用者是可负担的。

由此带来的两个结构性结果:

  1. 部署的去中心化达到非技术用户层级:拥有 VPS 与基础英语能力即可完成完整部署
  2. 协议多样性首次具备可规模化供给:单一指纹易被批量阻断,而当每位使用者可零成本生成私有变体时,DPI 的特征工程需要逐一识别每种伪装,规模性失效

这并不意味着自写的协议在对抗强度上能超过 v2ray、xray、hysteria,后者在性能、抗探测、生态成熟度上仍是更优选择。但"每个人都能零成本写出能用的混淆"与"只有少数项目能写"是两种结构性不同的局面。shadowsocks 在 2012 年描述的就是前者,2026 年的工具链让这一描述第一次具备工程上的可达性。