真实证书 TLS 握手 · 成为标准 HTTPS · 主动探测 Fallback 回退
Trojan 是由开源组织 GreaterFire 于 2017 年设计的著名代理协议[1]。 面对审查防火墙对自定义混淆协议层出不穷的针对性识别,Trojan 提出了颠覆性的逆向思维:「模仿协议总是会留下破绽,唯有真正成为标准协议才能完全免于针对」。 它直接架设在合法的公网域名与真实权威 CA 证书之上,监听标准的 443 端口; 当遭遇未知探测流量时,服务端会自动执行 Fallback(回退) 呈现合法的真实网站,是合规自建 HTTPS 代理的经典标杆[2]。
GreaterFire 团队提交 Commit ed5cb19a,首次完整定义 SHA-224 鉴权与 Fallback 回退架构。
官方发布基于 C++ 编写的 Trojan 首个公开正式版,具备完整 Linux 服务端与客户端支持。
社区推出 Trojan-Go,扩展了 WebSocket 传输、Mux 多路复用与高级路由,全生态客户端标配支持。
编写口径:Trojan 协议与 TLS 安全层为承载组合关系;所有演进均有 GitHub 真实 Commit(ed5cb19a)与官方 Release 为准。
在 ShadowsocksR 等混淆协议遭遇深度学习分类器的大规模阻断后,审查者通过主动探测手段向疑似代理节点发送伪造的握手数据包, 若服务端返回非标准响应或直接断开连接,就会被立刻标记封锁。
Trojan 优雅地解决了主动探测难题:客户端首先与服务端完成标准、真实的 TLS 握手; 握手成功后,客户端发送一段经过 SHA-224 散列的 56 字节定长密码校验串与代理请求。 如果收到未经认证的连接、普通浏览器访问或是防火墙的探测探针,Trojan 服务端绝不断开连接, 而是将数据流透明转交给后端的 Nginx 或 Caddy 服务,向探测者返回标准的合规网页内容[1], 使审查者在统计学与行为学上均无法将其与普通网站区分。
Trojan 属于标准 HTTPS 代理的成熟标杆。 由于其完全遵循标准 TLS 规范,不易引起机房云厂商的风控误杀,是拥有独立公网域名用户的常青首选。
Trojan 依赖合法的域名与有效证书。若证书过期、域名解析失效或被 DNS 污染, 客户端握手校验将直接报错中止,需要自建者配置自动续期(如 acme.sh / certbot)。
以下时间线记录了 Trojan 协议从 2017 年提出到如今成为全行业成熟标准的完整迭代历程,全部依据官方 GitHub 提交核验:
在 GitHub 提交 Commit ed5cb19a,首次明确提出「模仿 HTTPS 是徒劳的,Trojan 直接成为真实的 HTTPS」的核心设计理念。
GitHub:Commit ed5cb19a发布 C++ 编写的首个稳定版本,实现标准 TLS 握手、SHA-224 密码校验与本地 Web 服务 Fallback 转发。
GitHub:Trojan v1.0.0 Release针对网络审查发送的主动探测请求与未带合法密码的 HTTP 请求,稳定转发至本地 Nginx 呈现正常网页。
GitHub:Trojan v1.14.0 Release开发者 p4gefau1t 开源 Trojan-Go,支持通过 CDN 节点中转 WebSocket 流量,极大拓宽了部署自由度。
GitHub:Trojan-Go ReleaseXray-core、sing-box 与 Mihomo 均将 Trojan 原语作为标准出站选项,实现与 TLS 1.3 及 uTLS 指纹模拟的深度协同。
sing-box 官方 Trojan 文档Trojan 已经成为现代网络工具的基准协议之一; 无论是在经典的 C++ 官方原版,还是现代 Go 内核(Trojan-Go、Xray-core、sing-box 等)中,均获得了近乎完美的跨平台支持。
| 软件 / 内核 | 类型 | 支持平台 | 支持级别 | 起始版本 | 发布日期 | 特性说明 |
|---|---|---|---|---|---|---|
| trojan (C++ 官方原版) | 核心内核 | Linux / macOS / Windows | 官方参考实现 | v1.0.0+ | 2017.12.08 | GreaterFire 第一方标杆实现,单二进制 C++ 高性能服务,原生支持 OpenSSL TLS 栈与 Fallback。 |
| Trojan-Go | 核心内核 | 全平台跨平台实现 | 完整原生支持 | v0.5.0+ | 2020.04.10 | Go 语言实现的增强分支,引入 WebSocket 承载、简易 Mux 复用与 CDN 兼容性支持。 |
| Xray-core / sing-box / Mihomo | 核心内核 | 全平台现代通用内核 | 完整原生支持 | 内嵌原生支持 | 2020.11.20 | 各大现代内核均内置 Trojan 出站与入站协议处理器,支持结合 REALITY 或标准证书。 |
| 全平台客户端 (Surge / Shadowrocket / Loon / Clash Verge Rev) | 客户端 | iOS / macOS / Windows / Android | 客户端图形界面支持 | 全线主流版本支持 | 2019.05.01 | 全面支持标准 trojan:// 格式链接导入,具备证书指纹校验与 SNI 灵活配置能力。 |
自有合规域名的建站兼翻墙:适合个人开发者在 VPS 上同时部署真实博客主页与翻墙代理; 全平台跨平台极高成熟度:iOS、macOS、Windows、Android 甚至路由器均具备第一方原生支持; 标准 443 端口网络环境:在仅开放 Web 端口的严格办公内网中,通过标准 HTTPS 伪装可轻松穿透。
必须自备域名与有效证书:不能使用自签名或过期证书,否则现代客户端安全验证会直接阻断连接; 注意 SNI 阻断与证书指纹关联:若自建域名仅从特定 IP 获取大流量,存在 SNI 被定向封锁的可能; 建议务必配置合理的本地 Fallback:若不配置回退,遭遇扫描探针连接直接中断,失去 Trojan 的主动防御特性。
词条事实与技术定义均以 GreaterFire 官方设计文档与 GitHub 仓库记录为准: