Trojan 是什么,先排除一个误会:它和「特洛伊木马」病毒同名,但毫无关系。
Trojan 是一种代理协议,思路是让代理流量在网络看来和普通 HTTPS 一模一样:服务器上跑一个真正的网站,持有真正的证书,普通人访问它看到网页,持有密码的客户端访问它才被转到代理。它出现得比 VLESS + Reality 早,是「伪装成 HTTPS」这条路线的老前辈;今天它仍然能用,但需要域名和证书,而后来者把这两样也省掉了。
这篇讲它怎么工作、为什么设计成这样、和现在的主流协议差在哪,以及什么情况下选它仍然合理。
| Trojan | VLESS + Reality | |
|---|---|---|
| 伪装成 HTTPS | ✓ | ✓ |
| 需要域名和证书 | ✓ | ✗ |
| 抗主动探测 | 一般 | 更强 |
| 部署难度 | 中 | 中 |
Trojan 协议怎么工作
客户端和服务器建立一条标准的 TLS 连接,和浏览器访问任何 HTTPS 网站的握手没有区别。握手完成后,客户端在加密通道里先发一段密码,密码对了,服务器把后续流量当作代理请求转发;密码不对或者根本没有密码,服务器把连接交给后面真正的网站,返回一个普通网页。在网络中间的任何设备看来,这就是一条到某个域名的 HTTPS 连接,内容加密,没有额外的协议头,没有特征字段。
| 它怎么工作 | 说明 |
|---|---|
| 外面看是普通 HTTPS | 走 443 端口 |
| 密码不对 | 服务器返回一个真网页 |
| 密码对 | 才进入隧道 |
为什么需要域名和证书
因为伪装要像。一个真实的 HTTPS 站点必然有域名和有效证书,浏览器会校验,过滤系统也会看。Trojan 要求你在服务器上部署真证书,通常用免费证书自动签发,并且把一个能正常打开的网页放在后面,这样主动探测也只会看到一个普通网站。代价是多了两件要维护的东西:域名的续费和解析,证书的到期和更新。证书一过期,节点整个失效,这是 Trojan 用户最常见的翻车原因。
| 为什么需要域名和证书 | 原因 |
|---|---|
| 要装成某个网站 | 就得有自己的域名 |
| 浏览器信任 | 要有正经签发的证书 |
| 域名可被收录 | 这正是它的弱点 |
和 VLESS + Reality 比差在哪
Reality 走的是同一条思路,但把域名和证书都省了:握手时服务器借用某个真实大站的 TLS 特征,网络看到的是「到那个大站的 HTTPS」,客户端凭密钥识别后面是节点。省掉域名和证书,就省掉了两个维护点和两个可被关联的特征;空壳网站这个 Trojan 的弱点也不存在了。另外 Reality 常配的 vision 流控减少了 TLS 套 TLS 的特征。原理在VLESS 与 Reality:为什么它比传统 VPN 更难被识别,搭建在VLESS Reality 搭建教程。
Trojan 的优势也有:协议简单,实现多,几乎所有客户端都支持,排错容易;服务器上那个真网站可以是你本来就有的站,一举两得。
什么情况下仍然值得用
- 你本来就有域名和网站,顺手加个 Trojan 入站成本几乎为零。
- 客户端老旧,不支持 Reality,而更新受限。
- 机场提供的节点里 Trojan 表现好,那就用,协议本身没有过时到不能用。
- 你需要一个「第二种协议」作备用:主用 Reality,备用 Trojan,特征不同,被同时识别的概率更低。为什么要备用见为什么最近梯子不稳定。
| 对比 | Trojan | VLESS + Reality |
|---|---|---|
| 需要自己的域名 | 需要 | 不需要 |
| 握手看起来是谁的 | 你的 | 某个真实网站的 |
| 域名被收录的风险 | 有 | 无 |
| 部署难度 | 中 | 中 |
什么情况下不该用
证书没自动续期的服务器,迟早失效;没有真网站在后面的空壳配置,主动探测一眼就穿;把 Trojan 跑在非 443 的奇怪端口上,和「普通 HTTPS」的伪装自相矛盾;还有把它和「Trojan 病毒」混为一谈而不敢用,这是纯粹的误会。
名字的来历
协议作者取这个名字,取的正是「木马」的比喻:外表是一座普通网站,里面藏着代理。杀毒软件报的 Trojan 是恶意程序分类,和这个协议没有任何关系;如果哪个「Trojan 客户端」安装包被杀毒软件拦截,先确认下载来源是不是官方发布页,而不是因为名字放松警惕。
Trojan 在客户端里怎么用
导入 trojan:// 链接或二维码即可,Windows 的 v2rayN、Android 的 v2rayNG、iOS 的 Shadowrocket 和 Hiddify 都支持。链接里的字段用节点链接解析器可以拆开看:地址、端口、密码、SNI。连上后照例检查我的 IP 是什么和 DNS 是否进了隧道。客户端之间的区别在V2Ray、v2rayN、v2rayNG 到底什么区别。
| 这篇是什么、不是什么 | 判断 |
|---|---|
| 对协议的技术说明 | 是 |
| 法律意见 | 不是 |
| 规定会变 | 是 |
涉及后果的事情,请以当前官方文本为准。
法律层面需要知道的事实
在中国大陆,国际联网须使用国家公用电信网提供的国际出入口信道,个人使用未经批准的渠道属于违反相关规定,实践中的处理以行政处罚为主,公开报道的案例多涉及经营和传播行为。在香港、台湾、新加坡、马来西亚以及海外,使用代理和 VPN 本身不受限制。使用与否由你自己判断并承担责任,本文是技术说明,不构成法律意见。
404 VPN 用的是 VLESS + Reality,没有选择 Trojan,原因就是上面说的:同一条伪装路线,Reality 少两个维护点、少两个特征。WireGuard 没有这层伪装,在中国大陆会按数据包特征被封。DNS 在隧道内解析,Android 客户端带 Kill Switch,隐私政策写明不保存访问记录。我们不承诺从中国大陆任何网络都能连上。开始使用请到首页。
节点链接不要整条发出去,包括发给 AI。下面这个提示词已经把要删的部分标出来了。
帮我看懂我的节点配置。
我已经把标识符和地址删掉,形如:
vless://XXX@XXX:443?security=(你的值)
&type=(你的值)&sni=(你的值)
&fp=(你的值)&flow=(你的值)
告诉我每个参数的含义、我处在哪种模式,
以及这种配置一般在什么网络能通、什么网络不能。
不要编造我配置里没有的参数,也不要在回答里
重复任何地址或密钥。