Skip to content

Trojan 协议是什么?伪装成 HTTPS 的代理协议原理与特点 ​

Trojan 协议是什么、它怎么把代理流量伪装成 HTTPS,这页讲原理、特点和与 VLESS 的区别。

一句话解释 ​

Trojan 是一种把代理流量封装在标准 TLS 连接里的协议:从外部看,它就是一次普通的 HTTPS 访问。服务端收到带正确密码的请求就做代理,收到普通请求就转交给背后真实的网页服务器。

速读要点

  • Trojan 的伪装和加密全来自 TLS,不能关 TLS
  • 必须有域名和证书,节点配置是域名而非裸 IP 属正常
  • 旧版 Clash 内核能用 Trojan 却不能用 VLESS

名字来自「特洛伊木马」的伪装思路,它不是病毒。

Trojan 协议是什么:伪装成 HTTPS 的原理与特点 ​

Trojan 的核心思路是「不做特殊,就当一个 HTTPS 网站」:

  1. 服务端绑定一个域名,申请正规 TLS 证书,443 端口对外就是一个网站。
  2. 客户端用 TLS 连上后,第一段数据是密码的哈希值;对上就进入代理模式。
  3. 对不上的请求原样转给后面的网页服务器,访问者看到的是一个正常网站。

因为用的是标准 TLS,Trojan 的流量特征和浏览器访问 HTTPS 网站一致,这是它相对 Shadowsocks 的主要优势。代价是必须有域名和证书,部署门槛比 SS 高。

维度表现
传输层TCP,依赖 TLS 1.2 / 1.3
加密由 TLS 提供
开销比 SS 略高(TLS 握手),正常使用感知不明显
弱网表现基于 TCP,高丢包线路下吞吐下降,和其他 TCP 协议类似

实现方面:原始 trojan 项目和功能更多的 trojan-go 都已更新不活跃,但协议本身简单成熟,Xray、sing-box、Mihomo 内核都内置了支持,机场仍在广泛使用。

在订阅里怎么看出 Trojan 节点,和 VLESS、SS 的区别 ​

三种 TCP 协议在配置里的差别很直观:

对比项TrojanVLESS + TLSShadowsocks
配置类型字段type: trojantype: vlesstype: ss
身份认证passworduuidpassword + cipher
是否必须 TLS是,协议建立在 TLS 上几乎总是,也可用 Reality否,自带加密
服务器地址多为域名,端口常见 443域名或 IP域名或 IP
关键附加字段sni、可选 network: ws/grpcflow、reality-optsplugin、udp
需要域名证书是TLS 需要,Reality 不需要不需要
旧版 Clash 内核支持不支持支持

一个检查项:Trojan 配置里的 skip-cert-verify 应为 false。机场若默认设为 true,说明证书配置不规范,连接仍可用但失去了防中间人保护。字段名以客户端文档为准。

和选机场有什么关系 ​

Trojan 节点兼容性好:Clash(含旧内核)、Mihomo、sing-box、Shadowrocket、v2rayN 都支持,比 VLESS 对客户端的要求低。如果你用的客户端较旧又想要 TLS 协议,Trojan 比 VLESS 更稳妥。

选机场时的参考:

  • Trojan 节点需要域名,所以节点配置里会有服务器域名而非裸 IP,这是正常的。
  • Trojan 在专线上的表现和 SS 接近,在普通公网线路上弱网表现一般,丢包严重时看 Hysteria2。
  • 协议不影响晚高峰速度,看线路百科。

多协议机场更灵活,见找机场筛选器和稳定机场推荐。

常见误区 ​

  • Trojan 是木马病毒:只是借用了名字里的伪装思路,是一个开源代理协议。
  • Trojan 比 VLESS 更安全:两者都依赖 TLS,安全性相当,差别在设计和搭配方式。
  • Trojan 需要特殊客户端:主流客户端都原生支持。
  • Trojan 能解决丢包:它基于 TCP,弱网下和 SS、VLESS 一样受丢包影响,抗丢包要看 QUIC 类协议。

常见问题 ​

Trojan 和 VLESS 怎么选 ​

客户端较旧(旧版 Clash 内核)只能用 Trojan;现代客户端两者都支持,体验相当,机场给哪个用哪个即可。两者都基于 TCP + TLS,弱网表现接近,不必为了协议换机场。

Trojan 节点提示证书错误怎么办 ​

先检查设备系统时间是否准确,时间偏差会导致证书校验失败;其次是机场的证书过期或域名更换,更新订阅看是否已修复;最后看客户端里的 SNI 和服务器域名是否一致。更多见 DNS / TLS 问题排查。

Trojan 可以不开 TLS 吗 ​

不行。Trojan 的加密和伪装全部来自 TLS,协议设计上就建立在 TLS 之上,客户端里关掉 TLS 或勾选「跳过证书验证」都不是正常用法,后者还会丧失防中间人的保护。

Trojan-Go 节点和 Trojan 节点有什么区别 ​

trojan-go 是功能更多的实现,兼容原始 Trojan 协议,额外支持 WebSocket、多路复用等。多数客户端把两者都当作 trojan 类型导入,附加功能是否生效取决于机场配置和客户端内核。

下一步 ​

相关阅读 ​

本站内容仅供参考,部分链接含推广说明,详见各优惠页。关于本站