直接答案
Trojan 是一种代理协议,核心思路是让代理流量和普通 HTTPS 网站访问看起来一样:客户端与服务器之间建立标准的 TLS 连接,用密码认证身份;如果有人用非 Trojan 的方式访问这个服务器,它会把请求交给一个真实的网站,对方只会看到正常网页。它结构简单、兼容性好,在 2026 年仍是机场常见协议之一。
名字背后的思路
Trojan 这个名字取自“特洛伊木马”的典故:把东西藏在一个看起来正常的外壳里。在 Trojan 协议里,这个外壳就是 HTTPS。
HTTPS 是互联网上最普遍的流量类型,网站、应用、系统更新都在使用。一个协议如果能让自己在外观上和 HTTPS 无法区分,就能“混在人群里”。Trojan 选择的方法不是自己发明一套加密,而是直接使用成熟的 TLS,并尽量让每个细节都符合正常 HTTPS 服务的样子。
Trojan 原理
一次 Trojan 连接大致经过这些步骤:
- TLS 握手:客户端和服务器完成标准 TLS 握手,服务器出示为自己域名签发的有效证书。
- 发送认证信息:客户端在加密通道里发送经过哈希处理的密码和目标地址。
- 验证与转发:密码正确,服务器就替客户端连接目标地址并转发数据;密码错误或者请求格式不符,服务器就把整个连接转交给后端的一个真实网站。
第三步中的“回落”机制是 Trojan 的关键设计。主动探测者如果尝试连接服务器,看到的是一个正常运行的网站,而不是一个会拒绝连接的可疑端口。
Trojan 需要证书吗
需要。Trojan 依赖标准 TLS,服务端必须有一个域名和该域名的有效证书,客户端会校验证书。这意味着:
- 服务商需要维护域名和证书,证书过期会导致连接失败。
- 客户端里如果设置了“跳过证书验证”,会削弱安全性,一般不建议开启,除非服务商明确说明原因。
这也是 Trojan 和 VLESS Reality 的一个明显区别:Reality 不需要自有证书。
Trojan-Go 是什么
Trojan-Go 是 Trojan 的一个社区实现,在兼容原版协议的基础上增加了 WebSocket 传输、多路复用等功能,WebSocket 让它可以配合 CDN 使用。部分机场的节点会标注 Trojan-Go 或 Trojan WS,这类节点需要客户端支持对应的传输方式。
优缺点与横向对比
| 对比项 | Trojan | VLESS | Shadowsocks |
|---|---|---|---|
| 加密来源 | 标准 TLS | TLS 或 Reality | 协议自带 |
| 流量外观 | 标准 HTTPS | 类似 HTTPS | 无明显特征的随机流 |
| 需要证书 | 需要 | TLS 需要,Reality 不需要 | 不需要 |
| 主动探测时 | 回落到真实网站 | 视配置而定 | 视实现而定 |
| 针对 TLS 嵌套特征 | 无专门设计 | 有 Vision 流控 | 不适用 |
| 客户端兼容 | 广 | 需较新内核 | 最广 |
优点:设计简单、依赖成熟的 TLS、客户端支持广泛,性能开销主要来自 TLS 本身。
缺点:需要维护证书;对“TLS 套 TLS”的流量特征没有专门处理,这也是后来 VLESS Vision、AnyTLS 等方案尝试改进的方向。
所以 Trojan 还能用吗?在大多数客户端和服务端中它仍被支持和使用,但任何协议的长期表现都取决于外部环境,没有人能做出保证。
Trojan 客户端与使用步骤
Trojan 客户端的支持面很广:Clash 系列(包括 mihomo 内核)、sing-box、v2rayN 等基于 Xray 的客户端,以及 iOS 上的 Shadowrocket、Stash 等,都支持 Trojan。Trojan-Go 的 WebSocket 传输需要客户端额外支持。
- 从机场用户中心复制订阅链接,导入客户端并更新。
- 在节点列表中确认 Trojan 节点正常显示,单条节点链接以 trojan 开头。
- 保持证书验证开启,对节点做延迟测试。
- 如果连接失败并提示证书错误,先检查设备的系统时间是否准确,时间错误会导致证书校验失败。
注意事项
- Trojan 性能和速度主要由线路决定,协议本身开销不大,不要期待换协议带来明显提速。
- 节点链接里包含密码,泄露后他人可直接使用,应和订阅链接一样保管。
- 本文只做协议原理科普,请在遵守所在地法律法规的前提下了解和使用。