Trojan是什么意思?

一句话解释

Trojan 是一种把代理流量封装进 TLS 的代理协议,用密码认证,外观上接近普通 HTTPS 连接。

Trojan 要求服务端有域名和证书,客户端靠密码识别用户。你会在机场的协议说明、节点详情的“类型”字段中看到它;Clash 系与 V2Ray 系的主流客户端通常都有支持,具体以当前版本为准。

它想解决的问题

Trojan 的思路很朴素:既然网络上最常见的加密连接就是 HTTPS,那就让代理流量看上去像 HTTPS。它把代理数据放进标准的 TLS 连接里,用密码来识别是不是合法用户。对于不符合要求的访问,服务端可以把请求转交给一个正常的网站来应答,这样外部探测看到的就是一个普通站点。

这套设计在项目文档里有说明,想看原始描述可以读 Trojan 项目文档。

它需要什么才能跑起来

  • 一个域名,解析到服务器。
  • 一张有效的证书,让 TLS 握手能被正常验证。
  • 一个服务端密码,写在节点参数里。

所以,Trojan 节点的参数常见字段是服务器地址、端口、密码,以及是否跳过证书验证、SNI 之类的 TLS 选项。字段名随客户端略有不同,但含义一致。

在哪里会看到,怎么和别的协议对比

套餐页的协议列表、客户端节点详情的类型下拉里都会出现。和同类协议比较,可以这么概括:

对比项 Trojan Shadowsocks VLESS
加密方式 TLS 协议自带 取决于搭配的传输层
是否需要域名与证书 通常需要 不需要 视搭配而定
外观 接近 HTTPS 与 HTTPS 不同 视搭配而定

更完整的横向对照请看机场协议怎么选,这里只给定位。

容易误解的地方

第一,“外观像 HTTPS 就一定不会被识别”。能否被识别还取决于证书、域名、流量模式等许多因素,协议名没有这种承诺。

第二,“跳过证书验证只是小事”。在客户端里勾选跳过证书验证,会削弱 TLS 防止中间人的作用,除非机场明确要求并说明原因,否则不建议随意打开。

第三,“Trojan 一定比别的协议更适合你”。协议只是一部分,节点线路和服务端的运维质量同样重要。

怎么自己判断

先看你的客户端是否支持 Trojan,Clash 系和 V2Ray 系客户端的支持情况可以参照V2Ray 机场怎么选里的对照思路;再看导入后的节点参数里证书与 SNI 是否完整;最后在你的网络环境里分时段试连。导入失败时,先检查订阅格式,再看是不是客户端版本偏旧。

讲到Trojan的指南

想看各家机场在这一项上的资料?

机场推荐榜逐家列出了价格、线路、协议和节点地区;拿不准怎么选,可以用选梯子向导。