GreaterFire

协议与传输

Trojan 协议与核心创作者 · 2017 — 2020

Trojan 的木马哲学:放弃对抗,将自己变成互联网本身

以特洛伊木马设计哲学开创真实 HTTPS 拟态与 Fallback 回落机制,奠定现代代理防御通用范式

第一幕 · 困局:特征对抗的死胡同与未知即罪的审查深渊

在 2017 年前后,翻墙生态正经历着一场空前深刻的技术信任危机。

此前无论是 Shadowsocks 赖以成名的纯随机对称加密流,还是各类外挂的 HTTP/TLS 简易混淆插件(如 simple-obfs),在防火长城日益精进的流量分析系统面前开始频频失效。

审查设备不再尝试去暴力破解传输密钥,而是采取了一种冷酷的全新判定逻辑——“未知即罪”(Drop unrecognized traffic)。

在国际出口的大流量通道上,如果一个长连接表现出极高熵的加密随机度,却在传输层完全没有任何符合标准协议规范的握手协商与明文证书交互,防火长城便会直接将其判定为疑似翻墙隧道,施加高延迟、丢包乃至长连接重置阻断。

开发者们陷入了一场疲惫不堪的修补死循环:每当设计出一套自认为精巧的“伪装”协议,审查方很快就能通过数据包分布、交互时序或主动探测找到破绽。[1]

第二幕 · 奠基:特洛伊木马——将自己变成互联网本身

在这场对抗陷入僵局的历史关头,开发者 GreaterFire 提出了一个极具颠覆性的哲学转向:不要再去发明任何带有自定义特征的混淆协议,也不要试图与审查者在特征伪装上斗智斗勇。

最安全、最无懈可击的掩体,就是整个现代互联网赖以运转的骨干基础设施本身——标准 HTTPS。

2017 年 10 月 15 日,GreaterFire 在 GitHub 提交了项目创世代码(Commit 1ecc6c1),项目定名为 Trojan(特洛伊木马)。

次日,他在 README 中写下了那句被后世无数次引用的创世宣言:“An unidentifiable mechanism to bypass GFW.”

在官方技术文档中,GreaterFire 进一步将这种工程哲学升华为传世名言:“为了突破信息封锁,人们不断尝试用强加密与随机混淆来欺骗审查,而最佳实践通常是模仿 HTTPS 等其他协议;Trojan 则迈出了决定性的一步——它本身‘就是’ HTTPS,或者至少让审查者确信它就是一个 HTTPS 服务器。”

Trojan 彻底抛弃了在流量外层叠加花哨特征的旧路,百分之百使用标准且被全球信任的 TLS 1.2/1.3 协议,要求部署者配置真实机构颁发的有效域名证书,在握手阶段与全球主流网站完全无异。[3][4][1]

第三幕 · 绝杀:Fallback 回落机制与首包极简认证

如果仅仅是采用了真实 TLS 握手,Trojan 还不足以封神;GreaterFire 对现代翻墙技术最深远的突破,在于他在架构中首次发明了“Fallback(请求回落)”机制。

以往的代理服务端一旦遭遇审查设备的主动探测(Active Probing),由于收到的是未认证的探测扫描数据,往往会直接挂断连接或返回异常错误,这在审查方看来本身就是一个暴露身份的强特征。

Trojan 创造性地重构了服务端的路由逻辑:当客户端完成真实的 TLS 握手后,Trojan 服务端会首先读取连接的首个明文数据包。

该数据包严格由 56 字节的密码 SHA224 散列值、回车换行符(CRLF)、类 SOCKS5 请求及附带的数据载荷(Payload)构成;首包紧跟载荷的设计不仅消除了特定的包长特征,更为代理连接省下了一整次网络往返(1 RTT)。

最精妙之处在于:如果收到未经授权的外部扫描或格式不符的恶意探测,Trojan 绝不报错或断开,而是不动声色地将整条解密后的连接“回落”转发给本地运行的真实 Web 服务器(如 Nginx、Caddy 或 Apache)。

探测者无论发送怎样的 HTTP 请求,得到的都是一个货真价实、合规运转的个人博客或静态官网。特洛伊木马的灵魂在于不可区分——让真实世界替自己作答,所有主动探测在这一机制面前瞬间化为无形。[5][6][4]

第四幕 · 演化:UDP 转发、NAT 透明代理与高并发工业演进

确立了特洛伊核心哲学后,GreaterFire 并没有止步于理论设计,而是以极其严谨的 C++11 与现代网络异步框架 Boost.Asio,在不到三年间迅速将 Trojan 打造成工业级的高性能网络引擎。

2018 年 3 月 21 日,Trojan 迎来了具有里程碑意义的 v1.0.0 正式版发布,标志着核心协议与基础架构的全面成熟。

紧接着在 2018 年 4 月 14 日,GreaterFire 合并了经过严密推敲的 feat-udp 分支(PR #30),正式实装基于 SOCKS5 规范的 UDP ASSOCIATE 转发机制,使 Trojan 具备了低延迟代理游戏与实时音视频的完备能力。

随后的演进中,GreaterFire 展现了令人惊叹的系统工程力:他为 Trojan 引入了 Linux 原生 NAT 透明代理支持,打通软路由全局网关流量;实装 TCP Fast Open(TFO)与 SO_REUSEPORT,将连接握手延迟与多核并发处理推向极致;并引入 MySQL(MariaDB)数据库后端支持,原生提供流量计费、配额管理与多用户认证能力。

2018 年 8 月,GreaterFire 发布 trojan-url 工具,正式确立了以 trojan:// 为标准格式的节点链接规范,为后世各平台客户端的扫码导入与配置分享统一了行业语言。[9][10][11][13]

第五幕 · 激荡:特洛伊范式的全球扩散与现代代理生态全面接棒

GreaterFire 提出的“全真拟态与 Fallback 回落”哲学,彻底终结了“自制混淆”的草莽时代,如同一道惊雷照亮了整个抗审查社区的前行道路。

在此之后,全球开源开发者纷纷围绕 Trojan 范式掀起了波澜壮阔的二次创新浪潮:开发者 p4gefau1t 自研 Go 语言版本 trojan-go,进一步扩充了 WebSocket 传输、Smux 多路复用与 Cloudflare CDN 支持;V2Ray 社区核心开发者 rprx 在设计划时代的新协议 VLESS 时,其核心的 Fallback 架构明确向 Trojan 致敬并直接承袭了其思想内核;而后续横空出世的 Xray 与 REALITY 协议,更是将“借用真实网站外衣”的木马理念推向了不可识别的终极形态。

与此同时,跨平台客户端阵营迅速形成了对 Trojan 的全民接纳:Clash、sing-box、Shadowrocket、Quantumult X、Surge、v2rayN 与 v2rayNG 等核心客户端无一例外地将 Trojan 纳为一级支持协议。

无论底层核心如何迭代变迁,特洛伊木马的设计模式已经深深烙印进现代翻墙技术的基因骨髓之中,成为所有新型防封锁协议必须遵从的通用底色。[1][5]

第六幕 · 余响:功成身退的隐士与抗审查史上的哲学灯塔

2020 年 6 月 9 日,GreaterFire 发布了 Trojan 的最后一个正式版本 v1.16.0。

伴随着 2020 年 11 月 8 日在主干分支完成最后一次代码整理,GreaterFire 选择了悄然退场,如同历史上那些最传奇的开源隐士一样,将聚光灯留给了由他亲手点燃的整个生态。

他没有成立任何商业机构,未曾接受任何赞助与荣誉宣讲,也从未在社交网络上卷入任何纷争;在整个开源历程中,他始终严格保持着数字身份的极简与匿名。

但正如《道德经》所言:“大音希声,大象无形。”当今天全球数以千万计的用户在防火长城的重重阻隔之下,通过一条条伪装成普通 HTTPS 的加密隧道自由浏览外部世界时,他们每一次平稳的握手、每一个巧妙的回落,都在默默向这位改变了翻墙史进程的无名先驱致敬。[15][16][2]

代表作品与核心贡献

基于 C++11 与 Boost.Asio 开发的原型核心,首创真实 HTTPS 拟态与 Fallback 请求回落机制,以不可识别范式抵御被动特征识别与主动探测

Trojan Protocol Specification

访问作品

极简高效的应用层代理协议规范,定义首包 56 字节 SHA224 密码校验散列、SOCKS5 请求直通与零 RTT 载荷拼接

trojan-url

访问作品

官方 URL 编解码工具,确立并推广了被全行业通用的 trojan:// 节点分享链接事实标准

trojan-quickstart

访问作品

极简自动化部署脚本,推动全真证书申请与本地 Web 站点回落的最佳实践普及

致敬开发者的坚守

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

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

编年大事记

GreaterFire 提交 Trojan 创世代码

在 GitHub 建立 trojan-gfw/trojan 仓库并提交 Initial commit(1ecc6c1),确立基于真实 HTTPS 拟态的抗审查路线。[3]

发布创世宣言与伪装定位

在 README 中首次写下“An unidentifiable mechanism to bypass GFW”,确立放弃自制混淆、直面审查的不可识别目标。[1]

系统性阐明特洛伊木马哲学与协议规范

发布设计白皮书与协议规范文档,确立“它本身就是 HTTPS”的哲学宣言、首包 SHA224 散列认证及 Fallback 站点回落机制。[4][5]

发布 v0.1.0 首个公开版本

推出 Trojan 首个公开发布版本,完成基础客户端与服务端功能,支持真实 TLS 握手与本地 SOCKS5 代理转换。[7]

实装 SNI 与 ALPN 深度拟态

通过 OpenSSL 原生 API 引入 SNI 域名标识与 ALPN(http/1.1)协议协商支持,抹平 TLS 握手特征。[8]

发布 v1.0.0 正式里程碑

Trojan 协议与 C++ 异步核心走向成熟稳定,建立跨平台构建体系与系统服务模板。[9]

合并 PR #30 实装 UDP 转发

正式引入基于 SOCKS5 规范的 UDP ASSOCIATE 转发支持与 append_payload 机制,补齐实时网络与游戏代理能力。[10]

开源 trojan-url 并创立 trojan:// 标准

创建 trojan-url 工具库,正式定义并推广 trojan:// 标准 URI 编码规范与二维码分享格式,成为行业通用标准。[11]

推出 trojan-quickstart 极简部署

创建官方快速安装脚本,推动自动化申请权威机构 TLS 证书与反向代理配合的最佳实践在社区普及。[12]

发布 v1.13.0 支持 Linux NAT 透明代理

引入 Linux 原生 NAT 模式与 iptables 协同机制,使 Trojan 能够无缝接入软路由及透明网关环境。[13]

发布 v1.15.0 支持 ALPN 端口分流覆盖

增加 alpn_port_override 特性,允许服务端根据 ALPN 协商结果将 HTTP/1.1 与 HTTP/2 明文分流至不同后端端口。[14]

发布最终官方版本 v1.16.0

完成双向认证与安全策略更新,成为 GreaterFire 掌舵下的最终正式版本,协议范式已深刻融入全生态各大客户端。[15]

完成主线最后一次提交并功成身退

在 trojan 仓库完成 Windows 编译依赖与贡献者名册维护后正式隐退,将特洛伊木马防御体系留给整个繁荣的开源生态。[16]

一手来源与考据

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

  1. [1]

    记录 Trojan 原型开发、首创 HTTPS 伪装与完整代码提交历史

    https://github.com/trojan-gfw/trojan
  2. [2]

    记录作者在 GitHub 上的开源项目与维护轨迹

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

    Commit 1ecc6c1 奠定项目最初骨架并开启不可识别机制的探索

    https://github.com/trojan-gfw/trojan/commit/1ecc6c138f6cf8a9462725fe38fa74393dfebae2
  4. [4]

    阐述特洛伊木马核心哲学——“它本身就是 HTTPS,让审查者面对真实 Web 网站”

    https://trojan-gfw.github.io/trojan/overview
  5. [5]

    详述 Trojan 应用层数据包格式、56 字节 SHA224 密码校验与 Fallback 请求回落机制

    https://trojan-gfw.github.io/trojan/protocol
  6. [6]

    详细定义 remote_addr 与 remote_port,说明向本地真实 HTTP 服务器转交连接的防御机制

    https://trojan-gfw.github.io/trojan/config
  7. [7]

    项目首个正式发布的稳定版本,实现基础客户端与服务端

    https://github.com/trojan-gfw/trojan/releases/tag/v0.1.0
  8. [8]

    Commit 3754713 引入标准 SNI 与 ALPN 握手,使流量与合规 HTTPS 流量完全一致

    https://github.com/trojan-gfw/trojan/commit/37547134f981586ba84b1a279f0eafd9e6bd3e5d
  9. [9]

    标志着 Trojan 架构与核心协议全面走向工业级成熟

    https://github.com/trojan-gfw/trojan/releases/tag/v1.0.0
  10. [10]

    Commit bf2fce9 正式引入基于 SOCKS5 规范的 UDP 转发支持

    https://github.com/trojan-gfw/trojan/commit/bf2fce95f9fa399d58bc69156d910891b67d60ec
  11. [11]

    官方 URL 编解码工具,确立 trojan://password@remote_host:remote_port 节点规范

    https://github.com/trojan-gfw/trojan-url
  12. [12]

    提供官方一键部署脚本,规范 CA 证书申请与 Web 站点回落集成

    https://github.com/trojan-gfw/trojan-quickstart
  13. [13]

    引入 Linux 原生 NAT 模式与 iptables 透明代理支持

    https://github.com/trojan-gfw/trojan/releases/tag/v1.13.0
  14. [14]

    新增 alpn_port_override 特性,支持 HTTP/1.1 与 HTTP/2 区分后端分流

    https://github.com/trojan-gfw/trojan/releases/tag/v1.15.0
  15. [15]

    官方最后发布的正式版本,加入双向认证支持与构建优化

    https://github.com/trojan-gfw/trojan/releases/tag/v1.16.0
  16. [16]

    Commit 3e7bb9a,GreaterFire 在主线完成最终维护后功成身退

    https://github.com/trojan-gfw/trojan/commit/3e7bb9a365f573420803ee79a4ec8667a188f6f6
资料边界与事实声明

本文严格基于 GitHub 公开代码仓库(trojan-gfw/trojan、trojan-gfw/trojan-url、trojan-gfw/trojan-quickstart)完整 Git 提交历史、官方 Release 说明、架构白皮书与协议设计规范撰写。恪守开源社区伦理底线与最高隐私红线,绝不探究、推测或记录维护者的现实身份、个人生活与地理行踪,客观评价特洛伊木马设计哲学对现代代理防御范式的深远技术贡献。

修订历史:
  • :首版收录,记录 Trojan 原型开发与设计白皮书要点。
  • :完成 Git 源码级全量考据与已核验定稿:核实 2017-10-15 创世提交(1ecc6c1)、2017-10-16 创世宣言、2017-10-19 协议规范与 Fallback 机制、2018-03-21 v1.0.0 里程碑、2018-04-14 UDP 转发实装(PR #30)、2018-08-06 trojan:// URI 规范创立及 2020-06-09 v1.16.0 最终发布事实,重构为六幕戏剧化长篇传记。

发现人物信息不准确?

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