NaïveProxy 的真实拟态:潜伏于 Chromium 工业级网络栈的绝对伪装
放弃修补脆弱的模拟指纹,直接以世界级浏览器底层网络栈让审查者面对整座 Chromium 巨构
第一幕 · 伪装者的泥潭与微观审查的高墙
2018 年前后,中文网络审查迎来了划时代的质变。防火长城部署了基于深度特征提取与被动指纹识别的精密系统,开始对出境流量进行纳米级的微观审视。
其中最具杀伤力的便是 TLS 握手特征识别(如 JA3/JA4 算法):审查者通过比对 Client Hello 中声明的 TLS 版本、密码套件清单(Cipher Suites)、扩展字段(Extensions)及其协商排列顺序,能够极其轻易地为每一个发出请求的客户端打上特征标签。
当时主流的代理工具(大多基于 Go 语言标准库 crypto/tls 构建)遭遇了严重打击。Go 语言默认的握手特征极其鲜明且罕见于日常商业浏览器,审查设备只需在海量骨干网流量中过滤出“带有 Go 语言 TLS 签名却频繁建立海外连接”的数据包,即可施加精准的丢包与断流阻断。
开发者们疲于奔命地在代码里手动调整密码套件顺序以试图“模仿”主流浏览器。然而现代商业浏览器的网络行为极其繁复庞大,任何一个极细微的握手顺序偏差、时序波动或扩展缺失,都会被审查方的规则库立刻捕获。[1][5]
第二幕 · 破晓:降维打击与潜伏于 Chromium 腹地
在这场看似永无休止的猫鼠游戏中,开发者 klzgrad 展现出极其深刻的敏锐洞察与决绝魄力:既然任何对浏览器的“外部模拟”终究都会因为细节疏漏而被识破,那为什么不直接把代码写进真实的浏览器里面?
2019 年 1 月 14 日,klzgrad 在 GitHub 推送了 NaïveProxy 的创世代码与文档(Commit c1706a7),并在次日正式发布了 v71.0.3578.98-1 首发版本。
在架构设计中,他确立了不可动摇的极客信条:“与其绞尽脑汁去伪造 TLS 指纹,不如直接把整个 Chromium 网络栈搬过来。在审查者的探针面前,NaïveProxy 与真实 Chrome 浏览器的流量在底层特征上完全不可区分。”
他选择了一条工程门槛极高却直击本质的路线:直接拉取庞大复杂的 Google Chromium 代码库,将代理转发逻辑作为补丁,深度嵌入并编译在 Google Chrome 官方核心网络库——Cronet 之中。
这一决策堪称抗封锁史上的“降维打击”。当 NaïveProxy 发起连接时,它所输出的不仅仅是形似 Chrome 的握手包,它本身就是真正的 Chrome 内核代码在运行。从套件顺序、GREASE 假字段填充、ALPN 协商到底层拥塞控制,审查系统在二进制层面上根本无法区分这究竟是一个普通的海外网页访问,还是一条正在翻墙的加密隧道。[3][4][6]
第三幕 · 雕琢:长度填充与双向拟态防御
不仅在握手阶段做到真假难辨,klzgrad 更在传输层实施了严密的抗审查防御准则。
为了防御基于数据包长度与传输节奏的侧信道指纹分析,klzgrad 在 2019 年 10 月 20 日的设计文档中明确指出:“应用层长度填充(Application-Layer Padding)能够抹平不同请求的数据包特征大小。配合前端标准 Web 服务器的 Fallback 回落,让主动探测彻底丧失识别抓手。”
NaïveProxy 创造性地利用 HTTP/2 协议原生的 Padding 机制随机打乱数据帧大小,彻底抹平了代理流量在交互时特有的数据包特征。
在构建层面,klzgrad 更是推行了严苛的“Parrot Google Chrome branding”策略:全面同步 Google Chrome 的官方标识与系统调用行为,确保客户端无论在网络栈内部还是在对外暴露的元数据上,都呈现出世界级浏览器的完美拟态。[5][1]
第四幕 · 克制:Caddy 前端回落与主动探测的终结
在服务端架构上,klzgrad 同样设计了坚不可摧的防线,用以应对审查方的主动探测(Active Probing)。
他专门为工业级 Web 服务器 Caddy 打造了定制的 forwardproxy@naive 模块,坚决推行前后端职责解耦的部署规范。
在这个架构中,服务器对外暴露标准的 HTTPS 443 端口,承接所有入站流量。只有携带正确认证凭据的 NaïveProxy 客户端,才能成功建立 HTTP CONNECT 代理隧道。
而如果审查方伪装成客户端向该端口发送任何未经认证的嗅探探测,Caddy 将表现得与世界上任何一个完全合规的普通网站毫无二致——直接返回合法的静态网页或标准 HTTP 响应,使审查探针的一切试探彻底沦为空谈。[7][5]
第五幕 · 激荡:极致拟态思想对后世生态的深刻启蒙
由于必须维护和编译整个庞大的 Chromium 源码树,NaïveProxy 的构建开销与技术门槛极其高昂,但这丝毫没有阻碍其设计哲学对后世代理生态产生深远的影响。
从 Xray 生态后来引入的 uTLS 模拟浏览器指纹库,到 REALITY 协议借用真实第三方网站证书与套件的拟态方案,无一不在思想脉络上承袭了 klzgrad“让审查者面对真实互联网巨构”的核心洞察。
与此同时,开源客户端阵营也敏锐地捕获了 NaïveProxy 的独特价值:v2rayN、sing-box、nekoray 与 NekoBox for Android 纷纷通过子进程管理或集成核心库的方式原生接入 NaïveProxy,将其高阶拟态能力无缝交付给普通用户。
NaïveProxy 不再仅仅是一个小众极客的实验品,而是成为了现代网络代理世界中公认的“抗审查终极堡垒”之一。[1][2]
第六幕 · 余响:潜行七载的纯粹极客与永恒灯塔
从 2019 年初的 Chromium 71 起步,到跨入 2026 年秋季跟随 Google 主线同步至 Chromium 154,klzgrad 在这片极为繁重的工程深水区中默默坚守了整整七年。
每一次 Chromium 大版本的迭代,都伴随着上游数以万计代码的重构、编译脚本的适配与跨平台 Sysroot 的维护。2026 年 9 月 25 日,klzgrad 依然准时推出了基于 Chromium 最新主线的 v154.0.8037.49-2 版本。
他从不在社区进行商业包装,也极少参与热闹的社交网络辩论。但他用长达数千日夜的严谨代码向世界证明:在数字抗争的长河中,最完美的伪装从来不是精巧的变装戏法,而是让自己彻底成为现实世界本身。[8][1]