直接答案
Trojan是一种利用TLS保护代理通信的协议,先完成TLS握手,再验证用户凭据并转发TCP或UDP业务;常规外层为TCP。大陆使用仍取决于入口、证书、客户端兼容、认证和出口,不能凭协议名称保证可用。Trojan-Go与各客户端的扩展也需要分别确认。
官方资料核对:2026年11月7日。 本文介绍Trojan代理协议及其实现差异,没有进行中国大陆跨地区、跨运营商连接测试。文中的选型与验收建议不是全国可用率、性能排名或生产认证。
Trojan是什么?先看直接答案
Trojan是一种利用TLS保护代理通信的协议:先完成TLS握手,再验证用户凭据并转发请求。 它不是木马程序,也不是购买后自带服务器的VPN套餐。能否在大陆使用,取决于具体入口、网络、证书、实现兼容和节点出口,不能仅凭协议名称判断。
Trojan的设计方向是借助常见HTTPS通信形态,而非让数据仅呈现随机字节。但“设计上接近HTTPS”与“当前网络无法识别”不是同一结论,不应把项目设计目标改写成长期可用保证。项目设计概述
对普通用户,重点是客户端和节点是否真正匹配;对开发团队,重点是TLS身份验证、协议支持、配置分发与持续维护。各种协议的整体关系见VPN协议完整技术比较。
Trojan、Trojan-Go和客户端App有什么区别?
同一个协议可以被多个程序实现,前端App又可以集成不同内核。订阅中写着“Trojan”,不足以判断实际使用了哪种传输扩展。
| 名称 | 所属层次 | 选型时要确认什么 |
|---|---|---|
| Trojan | 代理协议 | 认证和请求格式,以及所需扩展 |
| trojan-gfw/trojan | 原始项目实现 | 二进制版本、依赖库和维护来源 |
| Trojan-Go | Go语言实现及扩展 | 是否启用了复用、WebSocket或额外加密 |
| sing-box、mihomo | 多协议网络内核 | 当前版本支持哪些Trojan配置字段 |
| 图形客户端 | 用户操作界面与系统网络接入 | 所带内核、平台权限、导入参数是否完整 |
Trojan-Go项目介绍了复用、路由和CDN中转等能力,它们不能自动视为每个Trojan客户端都支持的基础功能。判断兼容性应看“两端实现+扩展组合”,而不是只比较名称。Trojan-Go项目说明
Trojan怎样工作?TLS、密码与目标地址各负责什么?
一次常规Trojan连接可概括为:客户端连接入口,完成TLS握手,在加密通道内发送认证与目标信息,然后由服务端连接目标。原始规范包含TCP连接和UDP关联两类请求,并允许IPv4、域名和IPv6目标。Trojan协议规范
这里有三种不同职责:TLS保护客户端到节点的通信并支持服务器身份验证;Trojan凭据决定是否有代理使用权限;目标地址决定节点接下来访问哪里。密码正确不能弥补错误证书,TLS成功也不代表账户仍有权限。
原始设计还会把不符合认证和请求格式的流量转交到预设端点。这个回落行为有助于解释为什么节点域名可能显示一个普通网页,却不能证明代理账户可用或代理出口正常。原始协议与回落说明
实际验收应分别记录“网页打开”“TLS通过”“代理认证通过”“目标请求完成”,不要把四个状态合并成一个绿色图标。回落网站、代理服务与外部目标也可能分别发生故障。
Trojan支持UDP吗?和Hysteria 2有什么不同?
支持UDP业务,不等于外层使用原生UDP。 原始Trojan通过TLS连接封装UDP关联请求及数据;常规部署的外层是TCP。Hysteria 2常规使用QUIC/UDP,两者对入口网络的要求不同。Trojan协议规范 · Hysteria 2协议说明
因此,当一条网络无法建立UDP路径、但TCP入口可达时,Trojan可以作为待验证候选。然而,UDP业务经过可靠有序通道后,丢包和重传可能影响后续数据交付;语音、游戏或实时交互应单独测试,不能由网页加载成功推断。
选型时建议明确三件事:客户端是否接管该应用流量、内核是否允许UDP代理、服务端出口是否能访问目标。任何一项不满足,都可能出现“网页可用、游戏不可用”,这不一定是协议失效。更多QUIC路线的条件见Hysteria 2协议介绍。
Trojan有哪些优势,又有哪些代价?
Trojan适合需要TLS代理、能够维护证书和节点入口、并已确认客户端兼容的场景。其价值不在于一个绝对速度数字,而在于是否符合现有网络与运维条件。
| 评估角度 | 可以利用的特点 | 必须接受或验证的条件 |
|---|---|---|
| 接入路径 | 常规使用TCP/TLS | TCP入口可达仍需继续验证身份、认证与出口 |
| 证书体系 | 可按既有TLS流程管理身份 | 证书有效期、域名和信任链必须有人维护 |
| 应用兼容 | 多个内核有Trojan实现 | 具体App与扩展组合仍需互通测试 |
| UDP应用 | 可通过代理承载UDP业务 | 实时业务时延、重传影响不能忽略 |
| 产品集成 | 可以加入多协议客户端 | 账号、计费、DNS和故障恢复不由协议自动提供 |
这张表是工程选型建议,不是厂商性能承诺。资源有限的团队应优先减少未经验证的扩展组合:先用清晰、可复现的基线完成验收,再评估是否确有复用或额外传输的需求。
Trojan在2026年大陆还能用吗?怎样判断更可靠?
可以列为有条件验证的协议,但本文没有证据证明它在大陆各地区普遍可用。 节点IP、域名、路由、运营商、时间和客户端版本都会影响结果。“TLS加密”“端口443”“回落网页正常”均不能单独证明真实业务可达。
建议先按依赖顺序检查:入口解析与TCP连接、TLS身份验证、Trojan认证、节点出口、应用实际流量。若同一入口上的多个方案同时失败,应先排除共同网络或服务器问题;若只有某个客户端失败,再核对内核与参数。一次超时不能确定阻断原因。
如果要发布可引用的实测结论,应至少记录日期、地区与运营商、固定或移动网络、两端实现版本、地址族、测试目标、持续时间和失败阶段。只保留脱敏节点标识,不公开密码、订阅或私钥。结果只能覆盖记录的样本,不应外推为全国结论。
这也意味着“哪个协议最稳”通常不如“这套实现在哪种条件下完成了哪些测试”有用。更广的候选范围见大陆VPN连接条件总览。
哪些软件支持Trojan?配置字段为什么不能照搬?
本次核对的sing-box与mihomo官方文档均有独立Trojan配置入口,证明对应内核有协议支持;它不等于所有使用这些内核的App都开放相同选项。
一个特别容易混淆的字段是network:sing-box的Trojan出站用它限制TCP或UDP业务类型,默认两者均启用;mihomo的同名字段表示传输方式,其文档列出WebSocket、gRPC,其他情况按TCP处理。复制配置时只看字段名称会造成误解。sing-box Trojan出站 · mihomo Trojan配置
另一个风险是文档示例并不都是安全的部署模板。mihomo页面的综合字段示例列有skip-cert-verify,不应因为示例展示了这个选项就默认关闭证书校验。原始Trojan配置文档明确建议验证证书及主机名;sing-box也将insecure标注为接受任意服务器证书的非安全设置。Trojan证书配置 · sing-box TLS字段
导入节点后应复核地址、端口、凭据、服务器名称、校验开关和传输参数。订阅转换工具可能丢失扩展字段;导入成功仅证明格式被接受,不是连接或安全验收。
Trojan、VLESS、Shadowsocks和AnyTLS怎么选?
以下比较设计与部署关注点,不比较未经测量的速度,也不将技术名称当作大陆可用性排名。
| 协议 | 核心理解 | 比较时最应避免的误会 |
|---|---|---|
| Trojan | 在TLS通道内进行代理认证和转发 | HTTPS外观不等于不可识别或永久免费节点 |
| VLESS | 代理协议,可搭配不同传输与安全机制 | REALITY不是VLESS同义词,也不是独立代理协议 |
| Shadowsocks | 以具体加密方法和协议版本定义代理通信 | “SS”标签不能说明是传统AEAD还是2022版本 |
| AnyTLS | TLS代理,关注会话复用和填充策略 | 新设计目标不代表所有线路都优于Trojan |
VLESS当前文档已包含可选VLESS Encryption,不能沿用“VLESS永远没有加密”的旧概括;Shadowsocks应核对AEAD算法和版本;AnyTLS的参考实现并不定位为功能完备的生产客户端。VLESS官方说明 · Shadowsocks AEAD说明 · AnyTLS项目说明
建议按现有设备支持、入口网络、维护能力和需要承载的业务来缩小范围。已有稳定Trojan部署的团队,不必只因出现新名称就迁移;需要会话策略或其他特性时,可进一步阅读AnyTLS详解,再用相同业务测试验证收益。
维护Trojan产品时,不能忽略哪些工作?
本次读取原始trojan-gfw/trojan发布页时,标记为Latest的版本仍为v1.16.0。这是该实现的发布状态,不代表整个协议生态的版本号,也不能据此断言所有Trojan实现停止维护。实际采购或更新应分别检查所用内核、TLS库、操作系统和客户端发布记录。原始项目发布页
我们的交付建议是建立最小维护清单:证书到期与续期监控、凭据撤销与轮换、内核升级回退、脱敏错误日志、入口及真实请求健康检查、账号到期后的权限变化。客户端还需检查休眠恢复、Wi-Fi与移动数据切换、DNS处理和应用分流。
不要把安装开源内核等同于整套商业VPN交付。若需要接入自有App,应将平台、版本和验收业务写入范围,可参考VPN协议与SDK开发;节点端的责任拆分见VPN节点部署与运维。
Trojan常见问题
Trojan是病毒或木马吗?
本文的Trojan是代理协议名称,不是恶意软件类别。不过,名称正常不能证明下载文件安全,仍应从可信项目或软件发行渠道获取并核对来源。
Trojan一定要使用443端口吗?
不一定。客户端和服务端配置都有端口字段,两端与防火墙必须一致。使用443并不会自动获得HTTPS等价性或免于网络限制。
Trojan密码正确,为什么还是连不上?
密码验证之前可能已发生入口不可达或TLS失败;验证之后也可能出现出口或目标故障。应按阶段定位,而非只重置密码。
Trojan支持UDP,为什么游戏仍然卡顿?
UDP业务支持不保证实时体验。常规外层TCP、线路丢包、节点负载、应用分流和目标服务器都可能影响表现,需用实际游戏或通话场景验证。
Trojan-Go节点能直接用普通Trojan客户端吗?
要看是否启用了扩展。基础兼容不能推出WebSocket、复用或额外加密也兼容;应确认两端文档和实际使用参数。
Trojan在大陆是否比其他协议更稳定?
本文没有可支持这一排名的跨地区实测数据。优先选择在目标网络、设备和业务上完成验证的方案,并准备经过测试的备用路径。
官方技术与平台资料
- Trojan设计概述Trojan
- Trojan认证与TCP/UDP协议Trojan
- Trojan协议原始文档trojan-gfw
- Trojan配置与证书验证Trojan
- 原始实现发布记录trojan-gfw
- Trojan-Go实现与扩展Trojan-Go
- sing-box Trojan出站sing-box
- sing-box TLS身份验证sing-box
- mihomo Trojan配置mihomo
- Hysteria 2协议Hysteria
- VLESS与可选加密Project X
- Shadowsocks AEADShadowsocks
- AnyTLS设计与实现边界AnyTLS
项目评估
把Trojan接入变成可维护的产品能力
明确两端实现、TLS身份验证和客户端平台,按实际业务验收连接、恢复、权限及升级回退。
