VLESS、VMess、Trojan 有什么区别?六个协议逐对比较
更新于
30 秒结论:把这些名字放一起比之前,先分清它们在哪一层——这是绝大多数对比文没讲清、导致越看越乱的地方。VLESS、VMess、Trojan、Shadowsocks 是代理协议(谁来搬运数据);Reality、AnyTLS 是传输安全与伪装层(怎么让这条连接不像代理);Hysteria2 则是另一条路,走 UDP 主攻丢包线路上的速度。所以「VLESS 和 Reality 哪个好」是个伪问题,它们是搭配关系。真要比,只有同层的才比得起来——本文按三对最常被搜的组合逐个讲。最后附一份本站 191 篇机场评测的协议覆盖统计:有些协议很强,但你从机场买不到。
信息核实于 2026-09-09 | 技术依据:Xray 官方文档 | 机场数据:本站逐家核实的 191 篇评测
先分层:为什么你看的对比文越看越乱
搜「机场协议对比」出来的文章,大多会把 Shadowsocks、VMess、VLESS、Trojan、Reality、AnyTLS、Hysteria2 摆成一排打分。这个排法本身就是错的,因为它们不在同一层:
| 层 | 干什么 | 有谁 |
|---|---|---|
| 代理协议 | 负责搬运数据、验证身份 | Shadowsocks、VMess、VLESS、Trojan |
| 传输安全 / 伪装层 | 负责加密和"让它不像代理" | TLS、Reality、AnyTLS |
| 另起一路 | 换传输方式换速度 | Hysteria2(UDP/QUIC) |
理解这个分层,很多困惑会自动消失:
- 「VLESS 和 Reality 哪个好」是伪问题 —— 它们是搭配关系,正确写法是 VLESS+Reality;
- 「为什么节点名这么长」 ——
VLESS + Vision + Reality是「协议+流控+伪装」三段拼起来的; - 「Trojan 是不是比 SS 安全」 —— 这个能比,因为两者同层。
⚠️ 唯一的例外是 Hysteria2:它是完整协议,但走 UDP/QUIC,主攻的是丢包线路上的速度而非伪装,所以和上面几个比的时候维度也不一样。
第一对:VLESS vs VMess —— 加密搬没搬出协议层
这是搜索里最常见的一组(vless和vmess区别、vless vmess trojan 对比)。核心差别只有一句:
- VMess:协议层自带加密,自己完成身份验证和数据加密;
- VLESS:协议层只做轻量身份校验,加密整个交给外面的 TLS / Reality。
Xray 官方文档对 VLESS 的说明是「VLESS 必须配合传输安全层使用」——这句话是理解它的关键:VLESS 本身不加密,所以它离不开外层。
| VMess | VLESS | |
|---|---|---|
| 加密在哪 | 协议层自带 | 交给外层 TLS / Reality |
| 开销 | 多一层加密 | 更轻 |
| 客户端要求 | 老客户端都支持 | 需要较新内核 |
| 特有的坑 | 依赖系统时间,UTC 误差超 120 秒就连不上 | 少套一层外壳就等于裸奔 |
VMess 那个时间坑值得单独记:官方文档写明「VMess 依赖于系统时间,请确保使用 Xray 的系统 UTC 时间误差在 120 秒之内」。它的表现很有迷惑性——节点全红,但你的网络明明正常,很多人会以为是机场挂了。
⚠️ 顺带澄清一个流传很广的说法:「VMess 已被弃用」在官方层面没有依据。本站查过 Xray 文档,VMess 页上唯一的警告就是上面那条系统时间提醒,既没有弃用声明也没有安全警告;VLESS 页同样没有。协议在机场里用得少了,和被官方废弃是两回事。
第二对:Trojan vs VLESS —— 兼容性 vs 灵活性
trojan和vless、trojan和vless哪个好、trojan和vless区别 是一组高频词。答案不是谁更好,是强项不同:
Trojan 的强项是兼容性。 它出现得早、实现简单,几乎所有客户端都支持,拿到 Trojan 节点基本不会遇到导不进去的问题。它走标准 TLS,把自己伪装成正常 HTTPS。
VLESS 的强项是灵活。 因为把加密交给了外层,它可以搭配更强的伪装方案——VLESS + Reality 是目前抗识别最好的组合之一。代价是需要较新的客户端内核。
| Trojan | VLESS | |
|---|---|---|
| 伪装方式 | 伪装成标准 HTTPS | 取决于外层(TLS / Reality) |
| 客户端支持 | 几乎全支持 | 需要较新内核 |
| 抗识别上限 | 受限于标准 TLS 指纹 | 配 Reality 可以更高 |
| 站内机场覆盖 | 31 家 | 归在 V2Ray 系 47 家里 |
怎么选:客户端老、或者走中转专线线路 → Trojan 完全够用;直连过墙且客户端够新 → VLESS+Reality 更抗封锁。但同一条线路下两者速度差距很小,别为这个换机场。
第三对:Shadowsocks vs Trojan —— 两种相反的隐身思路
shadowsocks和trojan的区别 也是一组稳定的搜索。它俩的思路正好相反:
- Shadowsocks 走"无特征"路线:把数据加密成看不出规律的字节流,不伪装成任何特定协议。早期极其有效;
- Trojan 走"最常见"路线:不追求无特征,而是把自己藏进标准 HTTPS 里,让检测设备觉得你在正常访问网站。
为什么"无特征"后来反而成了特征? 因为检测手段升级到了「专门找那些看不出是什么的全加密流量」——当大部分正常流量都是有明确特征的 HTTPS 时,一条"什么都不像"的流量本身就很可疑。
| Shadowsocks | Trojan | |
|---|---|---|
| 思路 | 无特征加密流 | 伪装成 HTTPS |
| 开销 | 最轻 | 略高(TLS 握手) |
| 客户端支持 | 最广 | 很广 |
| 直连过墙时 | 敏感期较易被识别 | 相对更稳 |
| 站内机场覆盖 | 49 家(最多) | 31 家 |
⚠️ 但有个前提必须说清:这个差别主要体现在流量直接过墙时。走国内中转或专线的节点,流量在入口就被隧道封装了,用哪个协议对能不能连上影响小得多——这就是为什么很多机场的 Shadowsocks 节点至今活得好好的,而且它仍是站内覆盖最广的协议。
AnyTLS 和 Reality:不是竞争者,是另一层
这两个经常被塞进协议对比表,但它们和上面三对不是一回事:
- Reality:Xray 官方定义是「对 TLS 的一种修改,通过借用目标站点的 TLS 外观与握手特征来完成伪装」。它借用真实网站的证书和握手,让 DPI 以为你在访问那个站。主攻证书与 SNI 层面的伪装。
- AnyTLS:主攻的是「TLS 里面又套一层 TLS」造成的包长特征识别,把包长序列打乱。
两者解决的是不同的暴露点,都不负责搬运数据,所以永远是搭配使用(VLESS+Reality)或作为整体方案出现。想看它们和 Hysteria2 的三方对照,/anytls 那篇里有一张现成的表。
站内数据:有些协议很强,但你买不到
这是本站能提供、而技术文档给不了的一层信息。按 191 篇机场评测的 protocols 字段统计:
| 协议 / 方案 | 本站核实过在用的机场数 | 你实际遇到的概率 |
|---|---|---|
| Shadowsocks | 49 | 最高 |
| V2Ray 系(含 VLESS / VMess) | 47 | 很高 |
| Trojan | 31 | 高 |
| AnyTLS | 26 | 中,2026 年增长最快 |
| Hysteria2 | 24 | 中 |
| SSR | 2 | 极低,基本淘汰 |
| Reality | 个位数 | 低 |
最反直觉的是 Reality。 它在技术评价上是最强的伪装方案之一(官方原话「目前最安全的传输安全方案之一」),但机场里很少见——本站核实过明确在用的只有个位数;反过来,WgetCloud、STC 在评测里都明确写着「未提供 Reality、AnyTLS、Hysteria2 等新协议」。
原因是部署成本:Reality 要为每个节点配置借用的目标站、serverNames、shortIds,机场批量上几十上百个节点时,这套维护成本远高于整体换一个协议。所以它主要活跃在个人自建 VPS 场景。
这条数据的实际用途:当你看到某篇文章说「一定要选 Reality 的机场」时,可以知道那基本不现实。
所以你该关心哪个:三种情况
情况一:你只是买机场用,节点能连上就行 → 不用关心协议。 机场给什么就是什么,客户端按订阅自动连。把注意力放在线路质量、倍率规则和机场的运营记录上,那些才决定体验。
情况二:你的节点连不上、导不进客户端 → 八成是客户端太老,不是协议问题。 尤其是已停更的 Clash for Windows:它的旧内核不支持 VLESS、AnyTLS 这些新协议。换成 mihomo(Clash.Meta)内核系或 sing-box 系客户端即可。判断方法:如果 VLESS、Hysteria2、AnyTLS 三种节点你都导不进去,那一定是内核问题。
情况三:你在敏感期、走的是直连节点 → 这时协议才真正拉开差距。当前抗识别大致是 VLESS+Reality 与 AnyTLS 领先,Hysteria2 在高丢包和移动网络上有优势,Trojan 兼容性兜底,裸 SS/VMess 最易被识别。但注意——这个排序只对直接过墙的节点成立,走中转和专线的节点,协议的影响小得多。
常见问题
VLESS、VMess、Trojan 有什么区别?
三者都是代理协议,区别在加密放在哪一层。VMess 协议层自带加密,是三者里最老的,有个隐蔽的坑——依赖系统时间,官方文档写明 UTC 误差需在 120 秒内,超了会连不上(表现是节点全红但网络正常)。VLESS 把加密整个搬出协议层,自己只做轻量身份校验,Xray 文档明确「VLESS 必须配合传输安全层使用」,所以更轻但离不开外层。Trojan 伪装成正常 HTTPS 流量,把自己藏在标准 TLS 里,兼容性最好。对买机场的人来说,实际差别主要在客户端兼容性:VMess 和 Trojan 老客户端都认,VLESS 需要较新内核。
Trojan 和 VLESS 哪个好?
强项不同,没有绝对好坏。 Trojan 胜在兼容性——出现早、实现简单,几乎所有客户端都支持,走标准 TLS,中转专线线路上很稳。VLESS 胜在灵活——因为加密交给外层,可以搭配 Reality 这类更强的伪装,VLESS+Reality 是目前抗识别最好的组合之一,代价是需要较新内核。判断很简单:客户端老或走中转专线 → Trojan 够用;直连过墙且客户端够新 → VLESS+Reality 更抗封锁。但同线路下两者速度差距很小,别为协议换机场。
Shadowsocks 和 Trojan 有什么区别?
思路正好相反。 Shadowsocks 走「无特征加密流」——数据加密成看不出规律的字节流,不伪装成任何协议;Trojan 走「最常见」——伪装成标准 HTTPS,藏进 TLS 握手里。当检测升级到「专门找看不出是什么的全加密流量」后,SS 的无特征反而成了特征。但有个重要前提:这个差别主要体现在直连过墙时。走中转或专线的节点,流量在入口就被隧道封装,协议影响小得多——这也是为什么很多机场的 SS 节点至今活得好好的,而且它仍是站内覆盖最广的协议(49 家)。
AnyTLS、Reality 和这些协议是一回事吗?
不是,不在同一层。 VLESS、VMess、Trojan、Shadowsocks 是代理协议(搬运数据);Reality 和 AnyTLS 属于传输安全与伪装层(让连接不像代理)。Xray 文档说得很明白「REALITY 只是修改了 TLS」,它自己不搬运数据;AnyTLS 主攻的是「TLS 套 TLS」的包长特征。所以正确组合是 VLESS+Reality,你不会看到单独的 Reality 节点。Hysteria2 又是另一种情况:完整协议,但走 UDP/QUIC,主攻丢包线路上的速度而非伪装。
哪个协议最抗封锁?该挑用什么协议的机场?
买机场基本不用挑协议,机场给什么就是什么。真要排抗识别:VLESS+Reality 与 AnyTLS 领先,Hysteria2 在高丢包和移动网络有优势,Trojan 兼容兜底,裸 SS/VMess 最易被识别——但这个排序只对直连过墙的节点有意义。更实际的一点是:有些协议很强但你买不到。本站 191 篇机场评测统计:Shadowsocks 49 家、V2Ray 系 47 家、Trojan 31 家、AnyTLS 26 家、Hysteria2 24 家,而明确在用 Reality 的只有个位数——它的部署成本对机场太高。所以与其纠结协议,不如先看线路质量和运营记录。