跳到主要内容
梯子节点

Trojan 协议是什么:伪装成 HTTPS 的代理方案

网络知识 梯子节点团队 约 3 分钟阅读
本文目录

一句话回答:Trojan 是一种把代理流量伪装成标准 HTTPS 流量的协议——它不发明自己的加密,而是直接使用真实的 TLS,让代理连接与普通网页浏览在外观上完全一致

设计哲学:最好的伪装是「不伪装」

Shadowsocks 一类协议的思路是把流量变成随机噪声,但「一段谁也认不出的噪声」本身就很显眼。Trojan 的作者提出了相反的思路:与其把流量藏起来,不如让它变成最常见的流量

互联网上占比最高的加密流量就是 HTTPS(底层是 TLS)。Trojan 直接复用完整、真实的 TLS——真域名、真证书、真握手,不做任何修改。从外部观察,一条 Trojan 连接就是一次普通的 HTTPS 访问,没有额外特征可供识别。这也意味着 Trojan 协议本身极其简单:TLS 建立后,里面只传一个密码哈希和目标地址,剩下的就是转发数据。

工作流程:验证失败就「变成」真网站

Trojan 最巧妙的设计在于对探测的处理:

  1. 客户端与服务器完成标准 TLS 握手;
  2. 客户端发送密码哈希;
  3. 密码正确:服务器进入代理模式,开始转发流量;
  4. 密码错误或根本不是 Trojan 请求:服务器把连接转交给本机运行的真实 Web 服务器(如 Nginx),返回一个正常网页。

这一步叫回落(fallback)。主动探测者用浏览器访问这台服务器,看到的是一个货真价实的网站;用错误密码试探,得到的也是正常的网页响应。无法在不知道密码的前提下证明「这是一台代理服务器」。

部署要求:域名 + 证书

Trojan 的伪装建立在「真实 TLS」之上,因此部署方必须具备:

  • 一个域名:解析到服务器 IP;
  • 有效的 TLS 证书:通常用 Let’s Encrypt 免费签发;
  • 一个回落用的网站:应对探测访问。

这些是服务商的功课,用户端无感知——在 Shadowrocket 等客户端里,Trojan 节点从订阅导入后与其他协议用法完全相同。

优缺点小结

维度表现
抗识别优秀,流量即标准 HTTPS
性能良好,协议开销极小,但 TLS 内外双层加密仍有少量冗余
部署成本较高,需要域名和证书
客户端支持广泛,主流工具均支持
灵活性一般,传输方式基本绑定 TLS/TCP

Trojan 的思路深刻影响了后来的协议设计——VLESS 的 REALITY 方案可以看作这一哲学的进化版,而 Hysteria2 则在另一个方向(传输速度)上发力。想了解这些协议的整体格局,请阅读常见代理协议对比

常见问题

Trojan 和木马病毒有关系吗?

没有任何关系。Trojan 只是借用了「特洛伊木马」的比喻——把代理流量藏在看起来完全正常的 HTTPS 流量里,如同藏兵于木马之中。它是一个开源的代理协议,不是恶意软件。

Trojan 一定要有域名吗?

是的。Trojan 依赖真实有效的 TLS 证书来完成伪装,而证书必须绑定域名。这是服务商部署时的要求,普通用户使用时不需要关心,从订阅导入即可。

Trojan 和 VLESS+REALITY 哪个更好?

两者思路同源,效果都不错。REALITY 免去了自备域名证书的成本且伪装更彻底,是更新的方案;Trojan 更成熟简单、客户端支持广。日常使用中两者体验差异不大,以实际线路质量为准。

相关阅读