知识百科
Trojan 是什么:伪装成 HTTPS 的代理协议、原理与与 VLESS 的对比
解释 Trojan 协议:把代理流量伪装成标准 HTTPS 流量,服务器对非代理请求表现为正常网站。说明它的认证方式、为什么需要域名与证书、在公网上的抗识别优势、性能开销,以及与 VLESS + TLS 的取舍。
Trojan 的设计思路与 Shadowsocks 相反:不追求隐藏数据,而是让流量看起来就是最常见的 HTTPS,混在海量正常流量里。
工作方式
- 客户端与服务器建立标准 TLS 连接(与访问任何 HTTPS 网站相同)。
- TLS 内,客户端先发送密码的哈希。
- 服务器验证通过,后续数据作为代理流量处理。
- 验证失败(例如普通浏览器访问),服务器把请求转发给一个真实网站,返回正常网页。
外部观察者只看到一个 TLS 连接指向某个域名,与访问普通网站无异。
为什么需要域名与证书
标准 TLS 需要域名与受信任的证书,否则握手就不「标准」了。机场为 Trojan 节点配置域名与证书,用户导入订阅即可,不需要关心。
优点
- 抗识别: 流量特征与 HTTPS 一致。
- 开销低: 不加额外加密层,依赖 TLS 自身加密。
- 客户端支持全: Clash、Shadowrocket、v2rayN、sing-box 都支持。
缺点
- 需要域名与证书,部署比 SS 复杂(对机场而言)。
- TLS 指纹仍可能被高级手段分析,Reality 在此基础上改进,见 Reality 是什么。
与 VLESS 的取舍
VLESS + TLS 与 Trojan 的效果非常接近:都是 TLS 内传代理数据、都不加自己的加密。区别:
| 维度 | Trojan | VLESS |
|---|---|---|
| 认证 | 密码哈希 | UUID |
| 传输层 | TCP + TLS | TCP/WS/gRPC + TLS 或 Reality |
| 灵活性 | 简单 | 更多传输方式 |
| Reality 支持 | 无 | 有 |
用户不需要在两者间选择,机场提供什么用什么。见 VLESS 是什么。
在机场中的位置
公网中转与直连节点常用 Trojan,专线节点更多用 SS。节点名称中的「Trojan」标注表示该节点使用此协议。
其他协议:Shadowsocks、VMess、Hysteria2。
常见问题
- Trojan 是什么?
- 一种伪装成 HTTPS 的代理协议,在标准 TLS 连接内传输代理数据,外部观察者看到的是普通 HTTPS 流量。
- Trojan 和 VLESS 哪个好?
- 两者都依赖 TLS,性能与抗识别接近。VLESS 配合 Reality 可以不需要自己的域名证书,灵活性更高;Trojan 更简单。机场选哪个用户无需在意。
- Trojan 需要证书是什么意思?
- 服务端需要域名与 TLS 证书才能建立标准 HTTPS 连接。这由机场配置,用户导入订阅即可。