跳到正文
不翻车专注 VPN 软件评测

翻墙 15 年封锁史:墙学会的六件事,和你节点配置里的每一栏

不翻车编辑部 · 更新于

封面:翻墙史,配置里每一栏怎么来的

先说结论:自己建过节点的人都见过 fingerprint、SNI、flow 这几栏,没有一栏是随便定的。 从 2012 年到现在,墙一共学会了六招认人的办法,翻墙工具跟着改了六次打扮,今天配置里的每一栏,都是用一轮封锁换来的。这篇按时间顺序把六站讲清楚,每一站都给出可以核对的原文:报道、论文、官方文件、GitHub 上的提交记录。整理日期 2026 年 10 月 21 日。

先把六站列出来:

时间 墙学会了什么 翻墙的人改了什么 对应今天的哪一栏
2012–2015 认协议的握手 Shadowsocks:不握手,像随机数 协议选择
2015–2017 不光拦流量,还管人和应用商店 代码交给社区,自建节点变多 自建这件事本身
2017–2020 主动上门敲门试探 SS 2022 加时间戳;Trojan 装成 HTTPS 时间要求、伪装
2020 看握手里的域名 明写一个真域名 SNI
2021–2023 看流量像不像随机数 REALITY 借真网站当门面;Hysteria 走 HTTP/3 目标网站、flow
2019–2026 看握手的笔迹和钥匙 uTLS 照着 Chrome 抄;后量子钥匙 fingerprint

把墙想成一个门卫,翻墙工具是来访的人。门卫每学会一招认人的办法,来访的人就换一种打扮。下面一站一站看。

第一站 2012–2015:门卫学会认握手

2012 年 12 月 21 日,英国的 The Register 报道,防火长城升级了,学会了“学习、发现、屏蔽”(learn, discover and block)加密的 VPN 协议,用的是机器学习做流量分析。服务商 Astrill 给用户发邮件,说至少四种常见的 VPN 协议被挡住了。

The Register 2012 年 12 月 21 日报道:防火长城学会了 learn, discover and block 加密 VPN 协议

到 2015 年 1 月,环球时报英文版也报了:Astrill 通知用户,iPhone 上用的 IPSec、L2TP/IPSec 和 PPTP 这几种协议在国内连不上了,用别的协议的电脑不受影响。

环球时报英文版 2015 年 1 月报道(中国数字时代转载):Astrill 称 iOS 上的 IPSec、L2TP/IPSec、PPTP 在国内无法访问

这几种老协议的问题在于,握手的样子是固定的。门卫只要记住握手长什么样,一眼就能认出来。

翻墙的人怎么改?2012 年 4 月,一个叫 clowwindy 的程序员在 GitHub 上建了 Shadowsocks 仓库。它的思路和老协议完全相反:不握手,一上来就是加密过的数据,从外面看像一串随机数,没有固定的样子可以记。

第二站 2015–2017:流量拦不住,就从人和商店下手

2015 年 8 月 22 日,Shadowsocks 的作者在 GitHub 上删掉了全部代码。提交记录只有一个词 remove,仓库首页只剩一句 “Removed according to regulations.”(按规定删除)。

GitHub 提交 938bba3:clowwindy 2015 年 8 月 22 日提交 remove,README 只剩 Removed according to regulations

GreatFire 2015 年 8 月 25 日的报道写着,作者先说有人上门让他停止开发,后来又让他把代码从 GitHub 上删掉;再后来作者把提到上门的那句话也删了。

GreatFire 2015 年 8 月 25 日报道:作者后来删掉了提到上门的字句

2017 年 1 月 17 日,工信部发《关于清理规范互联网网络接入服务市场的通知》,清理期到 2018 年 3 月 31 日。里面和翻墙有关的一句是:

未经电信主管部门批准,不得自行建立或租用专线(含虚拟专用网络VPN)等其他信道开展跨境经营活动。

网信办网站转载的工信部通知:未经电信主管部门批准,不得自行建立或租用专线(含虚拟专用网络VPN)等其他信道开展跨境经营活动

同年 7 月 29 日,苹果把中国区 App Store 里的 VPN 应用下架了。TechCrunch 报道,苹果给 ExpressVPN 的通知写着,应用“包含在中国不合法的内容”(it includes content that is illegal in China)。

TechCrunch 2017 年 7 月 29 日报道:苹果通知 ExpressVPN 应用包含在中国不合法的内容

这一站墙没学新的技术,学的是另一件事:流量拦不住,就从人、从商店、从资质下手。对翻墙的人来说,结果是两条:Shadowsocks 的代码交给社区维护,反而成了主流;商业 VPN 从 App Store 消失,自己建节点的人多了起来。

第三站 2017–2020:门卫学会主动敲门

从 2017 年 10 月起,不断有人报告自己的 Shadowsocks 服务器被封。2020 年 10 月,一篇发在 IMC 2020 会议上的论文把原因查清楚了,题目就叫《How China Detects and Blocks Shadowsocks》(中国怎么检测和屏蔽 Shadowsocks)。

IMC 2020 论文摘要:墙用每条连接第一个数据包的长度和熵识别疑似 Shadowsocks 流量

门卫的新办法分两步:

  1. 看。 每条连接的第一个数据包,看长度,看随机程度,像 Shadowsocks 的先标记起来。
  2. 敲门。 墙自己伪装成客户端,去连那台可疑的服务器,把录下来的别人的流量重放一遍,或者发一串乱码,看服务器怎么回应。论文记录到七种探测,重放最快在 0.28 秒后到,最慢在 570 个小时以后才到。

翻墙的人改了两样。

一样是 Shadowsocks 自己改协议。2022 年 5 月 15 日,Shadowsocks 2022 版(SIP022)的维护者在 GitHub 上写着:“To have better defense against active probes, we made a breaking protocol change.”(为了更好地防御主动探测,我们做了一次不兼容的协议修改。)包头里加了时间戳,时间差超过 30 秒当重放拒掉。手机时间不准会连不上,根子就在这里,见VPN 显示已连接但上不了网。

Shadowsocks 2022 版说明(GitHub issue #196):为了更好地防御主动探测,做了一次不兼容的协议修改

另一样是换思路。2017 年出现的 Trojan 不再装随机数,而是装成最常见的 HTTPS 网站。官方文档第一句就是 “Trojan is an unidentifiable mechanism for bypassing GFW.”(一种无法被识别的翻墙机制。)协议文档写着,服务端是一个 TLS 监听,不是 Trojan 的连接会被转给后面一个预设的网页端点,门卫来敲门,看到的就是一台普通网站服务器。

Trojan 官方文档首页:Trojan is an unidentifiable mechanism for bypassing GFW

第四站 2020:门卫盯着握手里的域名

TLS 1.3 里有一个功能叫 ESNI,作用是把你要访问的域名也加密起来,门卫看不到你去哪。GFW Report 2020 年 8 月 7 日的报告写着,从 7 月 29 日起,墙开始丢弃所有带 ESNI 的连接,1 到 65535 每个端口都拦,拦住以后同一组地址和端口再封 120 到 180 秒。

GFW Report 2020 年 8 月 7 日:墙丢弃所有带 ESNI 的连接,全部端口,封 120 或 180 秒

这一站说明了一件事:握手里明文的域名,门卫一直在看,域名藏起来它就整个拦掉。所以后面的翻墙协议没有一个把域名藏起来,反而反着来,把一个真实、正常的域名明明白白写在握手里。这就是你节点配置里 SNI 那一栏的由来,选哪个域名见 REALITY 目标网站检测。

第五站 2021–2023:门卫学会数随机数

这一站对 Shadowsocks 这类协议是致命的。2023 年 4 月发在 USENIX Security 2023 上的论文《How the Great Firewall of China Detects and Blocks Fully Encrypted Traffic》写着,墙从 2021 年 11 月起,能实时、成批地封掉看起来像随机数的流量。

办法说起来很土:数每个字节里有几个 1(论文里叫 popcount)。加密后的随机数据,平均每个字节 1 的个数落在 3.4 到 4.6 之间,落在这个区间的先怀疑;再配上几条放行规则,开头是可打印字符的放过,长得像 TLS 和 HTTP 的放过。论文还写着,这套检测当时只针对 TCP。

USENIX Security 2023 论文图:按每字节置 1 位数(popcount)判断是否全加密流量

Shadowsocks 从 2012 年开始的那个思路,不握手、全随机,到这一步被门卫专门盯上了。翻墙的人这次改得最彻底:

  • 2023 年 3 月 9 日,Xray v1.8.0 发布了 REALITY,发布页的关键词写着:无需买域名、消除服务端 TLS 指纹、可指定 SNI。它借一个国外大网站当门面,门卫来敲门,看到的是那个真网站的真证书。配套的 flow 填 xtls-rprx-vision,Xray 文档写着它“包含内层握手随机填充”。
  • 另一条路是 Hysteria,官网写着它伪装成标准的 HTTP/3 流量,走 UDP。

Xray v1.8.0 发布页(2023 年 3 月 9 日):REALITY,无需买域名,消除服务端 TLS 指纹

Hysteria 官网:协议伪装成标准 HTTP/3 流量

REALITY 怎么建、目标网站怎么选,见3x-ui 自建节点完整教程。

第六站 2019–2026:门卫看笔迹,再看钥匙

这一站其实从 2019 年就开始了,到今年还在升级。NDSS 2019 的论文记录了:审查者已经在用深度包检测,按 TLS 指纹识别和封锁翻墙工具。就是说,你装成 HTTPS,门卫也会看你握手时的笔迹像不像真浏览器。

NDSS 2019 论文:审查者已用深度包检测按 TLS 指纹识别和封锁翻墙工具

Go 语言写的程序笔迹很特别,uTLS 的说明写着 Go 的 Client Hello 指纹非常独特。所以 Xray、sing-box 这些内核都用 uTLS 照着 Chrome 抄,fingerprint 这一栏填 chrome,就是在抄笔迹。这一栏每个选项的实测见 TLS 指纹、JA3/JA4 和 uTLS。

uTLS 说明:Go 的 Client Hello 指纹非常独特

2026 年门卫又多看了一格。Xray 从 v26.9.8 起,REALITY 服务器要求握手里带后量子的新钥匙(X25519MLKEM768),作者在 Xray-core #6714 里说了这条规矩。我们在测试服务器上试过,fingerprint 选 ios、edge、qq 这些老指纹,一个都连不上。这不是墙的新招,是翻墙工具自己先一步把门槛抬高,让假装成自己人的探测更难。

Xray-core #6714:REALITY 要求 Client Hello 带后量子钥匙

规律:四种认人办法,对应四栏配置

六站讲完,门卫认人的办法一共四种:看协议的固定样子,主动上门敲门,看流量像不像随机数,看握手的笔迹和钥匙。每一种都对应你今天配置里的一栏:

配置里的栏目 堵的是哪一招
fingerprint 填 chrome 看笔迹
REALITY 的目标网站和 SNI 看域名、敲门
flow 填 xtls-rprx-vision 看随机数
Shadowsocks 2022 的时间戳 重放敲门

这些栏目不是越多越好,而是每一栏都在堵一个已经被用过的认人办法。

三条今天能用的判断

  1. 还在用 PPTP、L2TP 这类 2012 年就被认出来的老协议,别指望它能稳定。
  2. 节点突然全军覆没,先想门卫是不是又学了一招,去 GFW Report 这类地方看有没有新报告,再决定换协议还是换服务器。排查顺序见节点超时怎么查。
  3. 配置里看不懂的栏目别乱改,fingerprint、SNI、flow 每一栏都是用一轮封锁换来的。

常见问题

这条时间线是完整的吗?

不是。只收了有公开原文可以核对的节点:媒体报道、同行评审的论文、官方文件和 GitHub 记录。有很多人经历过的事(某一年某个协议突然大面积被封)没有可靠记录的,这里没写。

Shadowsocks 现在还能用吗?

2022 版加了时间戳和新的包头,防的是重放探测;但第五站那套按随机数封的办法,针对的就是这类全加密流量。能不能用要看你那边的线路,以你自己测出来的为准。

REALITY 为什么不用买域名?

因为它借的是别人的真网站当门面,门卫敲门看到的是那个网站的真证书。目标网站怎么选,见 REALITY 目标网站检测。

后量子钥匙是墙的要求吗?

不是。是 Xray 从 v26.9.8 起自己加的门槛,让老指纹的探测连不上。副作用是 fingerprint 填 ios、edge、qq 这些老版本也会连不上,详见 TLS 指纹那篇。

资料来源

  • The Register,2012-12-21:China ‘enhances’ Great Firewall, teaches it to choke off VPNs
  • 环球时报英文版,2015-01(中国数字时代转载):Astrill 关于 iOS 协议的通知
  • GitHub shadowsocks/shadowsocks 提交 938bba3,2015-08-22;GreatFire 博客,2015-08-25
  • 工信部《关于清理规范互联网网络接入服务市场的通知》,2017-01-17(网信办网站转载)
  • TechCrunch,2017-07-29:Apple removes VPN apps from the App Store in China
  • GFW Report,2020-08-07:Exposing and Circumventing China’s Censorship of ESNI
  • IMC 2020:How China Detects and Blocks Shadowsocks
  • GitHub shadowsocks-org #196,2022-05:SIP022 Shadowsocks 2022 Edition
  • USENIX Security 2023:How the Great Firewall of China Detects and Blocks Fully Encrypted Traffic
  • GitHub XTLS/Xray-core v1.8.0 发布页,2023-03-09;XTLS/REALITY README
  • Hysteria 官网;Trojan 官方文档
  • NDSS 2019:The use of TLS in Censorship Circumvention;refraction-networking/utls README
  • GitHub XTLS/Xray-core #6714,2026-09-07