机场知识 知识解读

Trojan 是什么?HTTPS 伪装协议的原理、回落机制与客户端支持

Trojan 把代理流量放进标准 TLS 连接,外观与 HTTPS 网站一致,认证失败时回落到真实网页。本文讲清工作原理、关键参数、WS 与 gRPC 组合、优缺点、客户端支持与机场中的用法。

首次发布
最后更新
内容类型
知识解读
资料核对
阅读时间
约 3 分钟

信息可能随服务调整而变化,请以最新官方信息为准。

直接答案

Trojan 是一种基于 TLS 的代理协议,设计思路是让代理流量和访问普通 HTTPS 网站完全一样:服务器持有合法证书,客户端完成 TLS 握手后发送密码认证;认证失败时,服务器把连接交给一个真实网站,探测者只会看到正常网页。Trojan 结构简单、客户端支持最广,是很多机场的主力协议,局限在于需要域名证书,且存在 TLS in TLS 特征。

定义 Trojan
一种以 TLS 为基础的代理协议。客户端与服务器建立标准 TLS 连接后,在连接内发送由密码派生的认证信息和目标地址;服务器认证失败时将连接转交给预设的网站,使其对外表现为普通 HTTPS 服务。

Key Takeaways · 要点速览

  • Trojan 本身不做加密,安全性与伪装都来自标准 TLS。
  • 回落机制让未认证的访问看到真实网站,提高了抗主动探测能力。
  • 需要域名与证书,跳过证书验证会削弱安全性,应谨慎开启。
  • 客户端支持最广,适合作为日常主力或兼容性兜底。

Trojan 的直接解释

Trojan 的思路可以用一句话概括:不去模仿 HTTPS,而是直接使用 HTTPS 的那一层 TLS。服务器监听 443 等常见端口,持有某个域名的合法证书;客户端像浏览器一样完成 TLS 握手,然后在加密通道里发送密码和目标地址。对外部观察者来说,这条连接与访问某个网站没有明显区别。

正因为外观就是标准 TLS,Trojan 不需要复杂的伪装逻辑,协议本身也非常简短,这让它成为客户端支持最广的协议之一。

工作原理

  1. 客户端向服务器发起 TLS 握手,SNI 填写证书对应的域名。
  2. 握手完成后,客户端发送由密码计算出的哈希值,以及要访问的目标地址。
  3. 服务器校验哈希,通过后开始在这条 TLS 连接内转发数据。
  4. 校验失败或收到的根本不是 Trojan 请求时,服务器把连接交给预设的回落目标(通常是一个正常网站)。

回落机制的意义

主动探测是指审查方主动连接可疑服务器,看它如何响应。普通代理服务器面对异常请求可能直接断开,这本身就是特征。Trojan 的回落让探测者拿到一个正常网页,从而降低被识别的概率。VLESS 也继承了类似的回落设计,Reality 则把这一思路推进到握手阶段。

伪装的局限

  • TLS in TLS:通过 Trojan 访问 HTTPS 网站时,外层 TLS 里还有一次内层握手,数据包长度与时序存在规律。AnyTLS 与 VLESS Vision 都是针对这一点的改进。
  • TLS 客户端指纹:不同程序发起 TLS 握手的细节不同,代理内核默认的握手指纹可能与浏览器不一致。部分客户端提供「客户端指纹」选项,模拟常见浏览器的握手特征。
  • 证书与域名:需要维护域名和证书,证书过期或域名被干扰都会影响可用性。

常见传输组合

组合 特点 适用情况
Trojan + TCP + TLS 最标准的形态 直连节点、专线落地
Trojan + WS + TLS 在 WebSocket 上承载,可经过 CDN 服务器 IP 不理想、需要 CDN 时
Trojan + gRPC + TLS 基于 HTTP/2,支持多路复用 部分内核与机场提供

WebSocket、gRPC 等扩展传输并非所有客户端都支持,以客户端最新说明为准。

客户端中的关键参数

参数 含义 建议
server / port 服务器地址与端口 按订阅自动填写
password 认证密码 不要外泄订阅链接
sni TLS 握手中声明的域名 应与证书匹配
skip-cert-verify / allowInsecure 跳过证书验证 默认关闭
alpn 应用层协议协商 按订阅下发
client-fingerprint / fp 模拟浏览器握手指纹 客户端支持时可按机场建议开启

注意「跳过证书验证」会让客户端不再检查证书合法性。除非机场明确要求,否则保持关闭,否则连接可能被冒充而你无法察觉。

优点与局限

方面 表现
客户端兼容性 最好,主流客户端均支持
配置复杂度 低,参数少
抗主动探测 较好,依赖回落
TLS in TLS 特征 存在,协议本身不处理
证书依赖 需要域名与有效证书
UDP 受限网络 基于 TCP,不受影响

客户端支持情况

Clash Verge Rev(Mihomo 内核)、sing-box、v2rayN、Shadowrocket、Stash、Surge 等主流客户端均支持 Trojan 的基础形态;WS、gRPC 等扩展传输和指纹选项的支持程度不同,请以客户端最新版本说明为准。电脑端入门可参考 Clash Verge Rev 完整使用教程。

在机场中的使用场景

  • 日常主力:参数少、兼容性好,很多机场把 Trojan 作为默认协议。
  • 公司网络与公共 Wi-Fi:UDP 受限时,基于 TCP 的 Trojan 比 Hysteria2 更可靠。
  • 多设备混用:家里设备客户端各不相同时,Trojan 节点最不容易出现「某个客户端导入不了」。

遇到握手失败、证书错误,可按 TLS 握手失败怎么办 逐项排查。

结论

Trojan 用最简单的方式获得了标准 HTTPS 外观,配合回落机制具备不错的抗探测能力,是兼容性最好的主力协议之一。它不处理 TLS in TLS 特征,也离不开证书;当客户端支持时,可以把 VLESS + Reality 或 AnyTLS 节点一起纳入对比。完整对比见 代理协议对比。

常见问题

Trojan 节点为什么提示证书错误?

常见原因是系统时间不准、节点的 SNI 与证书域名不一致,或服务端证书过期。先校准系统时间并更新订阅;如果问题集中在个别节点,多半是服务端证书问题,可以联系机场处理。

可以开启「跳过证书验证」吗?

不建议默认开启。跳过证书验证后,客户端不再确认对方是否持有合法证书,存在被中间人冒充的风险。只有在机场明确说明需要开启时才使用,并了解其安全代价。

Trojan 和 VLESS 哪个更好?

Trojan 结构简单、兼容性最好;VLESS 更灵活,可以搭配 Reality 和 Vision 流控处理证书依赖和 TLS in TLS 特征。新手用 Trojan 更省心,客户端支持时可以把 VLESS 节点加入对比。

Trojan 支持 UDP 吗?

协议本身支持在 TLS 连接中转发 UDP 数据,但具体是否可用取决于服务端配置和客户端设置,以机场与客户端说明为准。