代理协议的抗封锁演进:从加密到伪装,再到「借用」真实证书
代理协议这些年的迭代,本质上是一条针对检测手段不断调整的路线。理解每一代方案在应对什么,比单纯记住协议名字更能帮你判断该用什么。
一、第一阶段:把内容藏起来
最早的思路是加密:只要中间设备看不懂内容,就无法按关键词封锁。Shadowsocks 是这一阶段的代表,用预共享密钥把一切都变成随机字节。
这个阶段的假设是「检测依赖内容」。但检测方很快转向了流量特征分析:不看你传了什么,只看数据包的长度分布、时序规律、连接建立模式。加密解决不了这一层。
二、第二阶段:主动探测与回退机制
更有效的手段是主动探测——记下可疑地址,事后自己连上去试,根据服务端的反应判定。这个方法几乎不产生误报,代价只是需要额外发起连接。
Trojan 的应对是把自己伪装成 HTTPS 并准备好回退:认证失败时把连接转交给真实的 Web 服务,让探测者只看到一个普通网站。这一代方案的共同点是「不再追求不可识别,而是追求被识别成别的东西」。
但这条路有个绕不开的成本:你需要一个域名和一张证书。而申请证书这一动作本身会留下记录(CT 日志公开可查),新注册域名 + 新证书 + 境外 IP 的组合,本身就构成一种可筛选的模式。
三、第三阶段:Reality 与「借用」他人的证书
VLESS-Reality 的思路更进一步:不再自己准备证书,而是在握手时借用一个真实存在的第三方网站(如 www.microsoft.com)的证书信息。对中间设备而言,这次握手指向的是一个知名大站,证书链完全真实有效。
关键在于 X25519 密钥交换:客户端持有预共享的公钥,服务端据此区分「自己人」和普通访客。非授权的探测连接会被真正转发到那个被借用的网站,得到的是该网站的真实响应。这样既避免了自建证书的登记痕迹,也保留了回退能力。
需要说明的是:没有任何协议能提供永久保证。这是一个持续对抗的过程,今天有效的方案未来可能被新的检测手段覆盖。选型时更实际的做法是关注方案是否仍在活跃维护、社区是否在持续跟进变化,而不是相信某种「终极方案」的说法。