所有代理协议都在回答同一个问题:怎么让我的流量看起来"正常"。Trojan 给出的答案最有意思——不发明新的伪装,直接变成 HTTPS 本身。这篇把它的原理、优缺点一次讲透。
第一步:Trojan 的核心思想#
Trojan 的名字来自"特洛伊木马",设计哲学也一脉相承:藏在正常流量里混过去。具体做法是,Trojan 客户端和服务端之间的通信,从外表看和普通的 HTTPS 网站访问一模一样——同样的 443 端口,同样的 TLS 握手,同样的加密流量。
审查者看到的只是一个用户在访问某个 HTTPS 网站,根本分不清里面是刷网页还是代理流量。这就是"伪装的艺术":最高明的伪装不是藏起来,而是变成审查者每天要放行的东西。
第二步:伪装是怎么做到的#
拆开看,Trojan 的工作流程分三层:
- TLS 层:Trojan 强制使用 TLS,而且要求服务端配置真实有效的域名证书。这意味着它的 TLS 握手和任何正规网站没有区别,指纹干干净净。
- 验证层:握手完成后,客户端在 TLS 隧道内发送一个密码(Trojan 协议里的 password 字段)。服务端验证通过,才把流量转发到真正的目标。
- 回落机制:如果有人不带正确密码来访问,服务端会把它当成普通访客,回落到一个真实的网站(比如一个正常的博客页面)。这是 Trojan 最妙的设计——扫描者看到的永远是一个正常网站,抓不到任何把柄。
对比之下可以发现,Trojan 和 VLESS 的思路是互补的:VLESS 追求极致轻量(参考VLESS 协议详解),Trojan 追求极致伪装。两种思路没有高下,只有场景之分。
第三步:Trojan 的优缺点#
优点:
- 隐蔽性强。流量特征就是标准 HTTPS,在"看起来正常"这件事上做到了极致。
- 部署简单。服务端配置相对直观,有域名和证书就能跑,对自建用户友好。
- 回落机制兜底。主动探测看到的永远是正常网站,抗扫描能力强。
缺点:
- 依赖真实域名和证书。没有域名就玩不转,裸 IP 跑 Trojan 等于自废武功。
- 性能开销比 VLESS 大。TLS 全程加密加解密,对低配服务器不太友好。
- 生态相对收敛。新特性的跟进速度不如 sing-box 系的协议快,可玩性稍弱。
第四步:Trojan 适合谁#
如果你在意的是"稳"和"隐蔽",日常就是浏览、看视频,对极限速度没执念,Trojan 是个省心的选择。很多机场的 Trojan 节点常年稳定,口碑一直不错。
如果你追求新特性、喜欢折腾各种新协议,或者服务器配置很低,那 VLESS 系可能更合适。协议之间的完整横评可以看这篇协议横评,以及WireGuard 对比 VLESS帮你理解不同技术路线的取舍。
给新手的搭配建议#
刚接触 Trojan 的用户,记住三条就行:第一,选带真实域名的节点,没有域名的 Trojan 节点直接 pass;第二,客户端用主流的(v2rayNG、Shadowrocket、NekoRay 都原生支持);第三,不要同时开多个代理软件,避免端口和 TUN 冲突。
理解了 Trojan 的伪装思想,你对"代理协议"这个概念的理解就上了一个台阶:技术对抗的本质,从来不是谁的加密更强,而是谁更像"正常人"。
一个有趣的细节:回落网站要认真准备#
Trojan 的回落机制有个精妙之处:服务端回落的那个"真实网站",最好是一个真的在运营的网站,而不是一张静态假页面。因为主动探测者会看网站的内容更新频率、证书有效期这些细节。一个长期有人维护的博客做掩护,比临时搭的假站可信得多。这也是为什么懂行的人部署 Trojan 时,都会认真准备一个"前台网站"——伪装这件事,细节决定成败。
从这个角度看,Trojan 玩的与其说是技术,不如说是心理:让审查者"懒得查",比"查不出来"更有效。