klzgrad

协议与传输

NaïveProxy 创作者 · 2019 — 至今

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]

代表作品与核心贡献

NaïveProxy

访问作品

基于 Chromium 工业级网络栈构建的高安全性抗审查网络代理,在二进制层面与 Chrome 浏览器行为绝对一致

forwardproxy@naive (Caddy 模块)

访问作品

专为 Caddy Web 服务器定制的 Naïve 协议服务端插件,提供合法 Web 回落与主动探测防御

Chromium Cronet 补丁工具链

访问作品

从海量 Chromium 源码中精准剥离并编译独立网络栈的硬核工程体系,支持跨平台构建与确定性编译

致敬开发者的坚守

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

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

作者公开发言与动态

来源:GitHub

klzgrad:WebSocket 代理方向技术上偏弱,不值得推进

在 naiveproxy PR #835(Add WebSocket upstream transport,已关闭)讨论中表示:WebSocket 代理在当前 Cloudflare 自助订阅协议下仍不被允许(2.2.1(j) 禁止用其服务提供 VPN 或其他类似代理服务),但如他在 issue #775 中所回复,Cloudflare 条款并非主要技术顾虑。他认为该 PR 本身「borderline AI slops」,以当前形式不会被接受,不过算是一次值得认真技术回应的半正…(节选)

查看全部动态(3 条)

编年大事记

klzgrad 提交 NaïveProxy 创世代码与文档

Commit c1706a7 首次确立基于 Chromium 网络栈的不可识别代理设计路线,并开源客户端与服务端配置规范。[3]

发布 v71.0.3578.98-1 创世版本

发布首个公开稳定版本,基于 Chromium 71 核心网络栈,原生支持 HTTP/2 多路复用与 QUIC 传输协议。[4]

实装 HTTP/2 应用层长度填充(Padding)

完善架构设计文档,利用 HTTP/2 原生 Padding 机制随机扰乱数据帧大小,抹平侧信道流量分析。[5]

推出 Caddy 2 forwardproxy@naive 服务端架构

构建基于工业级 Web 服务器 Caddy 的反向代理架构,以真实合规站点响应彻底瓦解审查方主动探测。[7]

现代主流客户端广泛集成 NaïveProxy

nekoray、v2rayN 与 sing-box 先后通过引入 NaïveProxy 核心与协议桥接,使其工业级网络拟态能力普及至广大用户。[1]

发布 v154.0.8037.49-2 持续跨越大版本

跟随 Chromium 154 官方主线完成最新网络栈与编译工具链适配,展现跨越七年的长青技术坚守。[8]

一手来源与考据

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

  1. [1]

    开源项目主页,记录基于 Chromium Cronet 的补丁、创世宣言与发布历史

    https://github.com/klzgrad/naiveproxy
  2. [2]

    记录作者在 GitHub 上的开源项目与核心仓库

    https://github.com/klzgrad
  3. [3]

    Commit c1706a7 确立了将代理嵌入 Chromium 网络栈的核心设计思想

    https://github.com/klzgrad/naiveproxy/commit/c1706a7b1dac22a3bbc2afa840f70ab6fe177fc5
  4. [4]

    首个公开发布版本,基于 Chromium 71 实现绝对一致的 TLS 与 HTTP/2 握手特征

    https://github.com/klzgrad/naiveproxy/releases/tag/v71.0.3578.98-1
  5. [5]

    详细阐述基于 Chromium 网络栈抵御 TLS 指纹分析、主动探测与长度特征的工程原理

    https://github.com/klzgrad/naiveproxy#architecture
  6. [6]

    Chromium 官方关于独立嵌入式网络栈组件的设计说明

    https://chromium.googlesource.com/chromium/src/+/master/components/cronet/
  7. [7]

    为 Caddy Web 服务器定制的 Naïve 协议服务端插件,提供合法回落与主动探测防御

    https://github.com/klzgrad/forwardproxy
  8. [8]

    跟随 Chromium 154 主线完成最新网络栈同步,证实长期不间断的高难度工程维护

    https://github.com/klzgrad/naiveproxy/releases/tag/v154.0.8037.49-2
资料边界与事实声明

本文严格基于 klzgrad/naiveproxy 开源仓库的完整 Git 提交历史(Commit 记录、Tag 发布说明、架构白皮书)、Chromium 官方开源网络栈代码库及公共文献撰写。恪守开源贡献与隐私安全底线,不探寻、不记录开发者的现实身份、个人生活与地理行踪;客观记录基于真实浏览器网络栈的拟态哲学与 Caddy 前端回落机制,避免脱离工程事实的主观浮夸。

修订历史:
  • :深度考据 GitHub 创世提交与设计文档,引入 2019-02-14 创世宣言与 2019-10-20 Padding 原话。
  • :完成代码库深度对账与已核验定稿:核验 2019-01-14 创世提交 c1706a7、2019-01-15 首发 v71.0.3578.98-1、HTTP/2 Padding 机制、Caddy forwardproxy@naive 架构及持续跟随 Chromium 主线迭代至 154 版本事实,扩充为六幕戏剧化长篇传记。

发现人物信息不准确?

写明需要纠正的内容,可附相关链接。资料会在人工核验后更新。