概述
Trojan 是一种基于标准 TLS 协议的代理协议,核心设计理念为”伪装成 HTTPS”——将代理流量完全融入正常的 HTTPS 流量中,实现”大隐隐于市”的效果。使用标准 TLS 1.3 加密,非模拟或仿造,而是真实的标准 HTTPS 通信。

工作原理
用户 → Trojan 客户端(数据 → TLS 加密隧道)→ Trojan 服务端(TLS 解密 + 密码校验 → 转发)→ 目标网站
完全依赖 TLS 的双向或单向验证。应用层仅在初始化携带密码做额外校验,之后所有流量都像 HTTPS 的普通加密流量。非代理请求会被回落到真实 Web 服务。
加密方式
数据通过标准 TLS 1.3 加密(握手使用 X.509 证书),不在应用层进行额外加密。协议极简:数据 → TLS 加密 → 传输,无需多层封装,避免重复加密的性能损耗。
特点
- 使用标准 HTTPS 端口 443,与全球主流网站使用的端口相同
- 使用合法有效的 SSL 证书,流量特征与正常网站无异
- 内置防重放攻击机制
- 支持回落(fallback):非代理请求转发到真实 Web 服务
- 配置相对简单
优势
- 隐蔽性极强:与 HTTPS 无缝融合,网络上很难以流量特征区分 Trojan 与正常网站访问
- 握手更快:TLS 1.3 从 2-RTT 减少到 1-RTT,支持 0-RTT 重连
- 避免重复加密:省去了传统方案的协议封装和重复加密环节
- CPU 占用低:相比传统方案占用更少
- 连接稳定性强:得益于标准 HTTPS 的兼容性
劣势
- 依赖真实域名和证书:部署需要拥有一个真实域名并申请合法 SSL 证书,门槛相对较高
- 不支持 CDN 中转:标准 Trojan 不支持 WebSocket,无法通过 CDN 中转流量(Trojan-Go 可支持)
- IP 封锁风险:只能伪装流量特征,无法隐藏服务器 IP,若 IP 被标记则无法工作
- 不如 Reality:需要自备域名证书,而 Reality 可直接借用目标站证书
适用场景
- 追求极致隐蔽性的场景:流量特征最接近真实 HTTPS
- 已拥有域名和证书的用户:部署门槛低
- 需要回落伪装的场景:非代理流量回落到真实网站
- Trojan-Go 变体:需要 CDN 中转 + 多路复用 + 路由分流