Trojan 协议是什么?伪装成 HTTPS 流量的代理协议原理与优缺点
本文要点
- Trojan 完全运行在 TLS 之上,从外部看和访问一个普通 HTTPS 网站很像。
- 它依赖域名和有效证书,订阅里若开启跳过证书验证,安全性会打折扣。
- mihomo、sing-box、Xray 都支持 Trojan,体验好坏仍主要取决于线路。
Trojan 是什么
Trojan 是一种把代理流量伪装成普通 HTTPS 访问的代理协议:它完全运行在 TLS 之上,客户端通过密码验证之后,服务器才开始转发流量;没有通过验证的连接,会被转交给一个真实的网站去处理。
它的设计思路和 Shadowsocks 相反:Shadowsocks 让流量看起来「什么都不像」,Trojan 则让流量看起来就是互联网上最常见的 HTTPS。
工作流程
- 建立 TLS 连接:客户端像浏览器访问网站一样,和服务器完成标准的 TLS 握手。服务器使用的是真实域名和有效证书,端口通常是 443。
- 提交密码:握手完成后,客户端在加密通道里发送密码和要访问的目标地址。
- 验证并转发:密码正确,服务器就替客户端访问目标并回传数据。
- 验证失败则回落:如果来的不是合法客户端(比如有人用浏览器直接打开这个地址),服务器会把请求交给后面的普通网站,对方看到的只是一个正常的网页。
Trojan 自身不再额外加密,数据的保密性完全由外层 TLS 提供,这一点和「VLESS + TLS」的思路相同。
优点和局限
| 方面 | 说明 |
|---|---|
| 伪装 | 外观是标准的 TLS 流量,混在大量 HTTPS 访问里不显眼 |
| 兼容性 | 协议简单,参数少(服务器、端口、密码、SNI),各类客户端普遍支持 |
| 握手开销 | 需要先完成 TLS 握手,首次建立连接比 Shadowsocks 多几次往返 |
| 依赖证书 | 证书过期或域名出问题时,节点会整体不可用 |
| 嵌套加密 | 访问 HTTPS 网站时是「TLS 里套 TLS」,有一定的重复加密开销 |
留意「跳过证书验证」
有些订阅下发的 Trojan 节点会开启「跳过证书验证」这个选项(不同客户端叫法不同)。开启之后,客户端不再核对服务器的证书是否真实有效,理论上给了中间人冒充服务器的空间。
这不代表一定会出事,但它确实削弱了 Trojan 依赖 TLS 获得的安全性。如果一个机场的节点全部要求跳过证书验证,可以把它当作运维不够规范的信号之一。
哪些客户端支持
mihomo(Clash Meta)、sing-box、Xray 三个主流内核都支持 Trojan,包括搭配 WebSocket、gRPC 等传输方式的变体。Clash Verge Rev、v2rayN、v2rayNG 以及 iOS 上常见的代理客户端都可以直接使用。各平台的客户端选择见 客户端大全。
因为出现得早、参数简单,Trojan 的兼容问题很少。节点连不上时,原因多半在线路或机场一侧,而不在协议本身,可以按 节点全部超时 的顺序排查。
普通用户怎么看待 Trojan
- 它是成熟、通用的协议,机场提供 Trojan 节点是很正常的选择。
- 它不会让一条本来拥堵的线路变快。晚高峰卡顿,换协议基本没有用,换线路才有用。
- 不必为了 Trojan 专门换机场,机场给什么就用什么。
想横向了解它和 VLESS、Hysteria2 等协议的差别,可以看 不同协议对比;线路类型对体验的影响,见 直连、中转和专线的区别。
常见问题
Trojan 协议和木马病毒有关系吗?
没有关系。Trojan 只是这个代理协议的名字,取「伪装」之意,指它把代理流量伪装成普通的 HTTPS 访问。它是公开的开源协议,和恶意软件意义上的木马不是一回事。
Trojan 和 VLESS 加 TLS 哪个更好?
两者思路接近,都是把加密交给 TLS,自身只做身份验证和转发,实际速度差别很小。机场提供哪一种就用哪一种,不必专门挑选,线路和带宽对体验的影响更大。
Trojan 节点提示证书错误怎么办?
先检查设备的系统时间是否准确,再更新订阅重试。如果仍然报错,多半是机场的证书过期或配置有误,应向机场反馈,不建议自己在客户端里打开跳过证书验证。
相关协议知识文章
全部Shadowsocks 协议是什么?SS 加密方式、优缺点与客户端支持
Shadowsocks(简称 SS)是一种轻量级加密代理协议,也是机场最常见的节点类型。本文说明它的工作原理、AEAD 与 2022 加密方式的区别、优缺点,以及哪些客户端内核支持。
VLESS 协议是什么?搭配 TLS、Vision、REALITY 的区别与客户端支持
VLESS 是一种自身不带加密的轻量代理协议,通常搭配 TLS、XTLS Vision 或 REALITY 使用。本文解释这几个名词之间的关系、VLESS 的优缺点,以及主流客户端内核的支持情况。
Hysteria2 协议是什么?基于 QUIC 的高速代理协议原理与适用场景
Hysteria2 是基于 QUIC(UDP)的代理协议,在高丢包、弱网环境下吞吐表现好,但 UDP 可能被运营商限速。本文说明它的原理、适合与不适合的场景,以及客户端内核支持情况。
TUIC 协议是什么?基于 QUIC 的低延迟代理协议特点与客户端支持
TUIC 是基于 QUIC 的代理协议,重点在于减少握手往返和高效转发 UDP。本文说明 TUIC 的特点、与 Hysteria2 的区别、适合的使用场景,以及主流客户端内核的支持情况。