VLESS、Trojan、Hysteria2 区别:机场协议怎么选

VLESS Trojan Hysteria2区别,先说结论:这三个协议的设计思路不同——VLESS 追求轻量、Trojan 追求像普通 HTTPS、Hysteria2 基于 QUIC 面向弱网——但对你来说,选哪个其实不重要,重要的是它和你的客户端、线路匹配。 本文用保守准确的说法讲清各协议的设计思路,再对照客户端支持,最后给一条实用的判断路径。

协议是“节点和客户端说话用的语言”,它和订阅、节点、线路的分工见 机场节点是什么。本文只展开协议这一层。技术细节随版本变化,不确定的地方一律以各项目官方文档为准。

VLESS Trojan Hysteria2区别:先看两个维度

比较协议,先抓两个维度,比背名字有用:

  1. 走的是 TCP 还是 UDP。 大多数协议基于 TCP;Hysteria2 基于 QUIC,QUIC 跑在 UDP 之上。你的网络对 UDP 友不友好,会直接影响这类协议能不能用。
  2. 外面有没有一层“像 HTTPS”的外壳。 有的协议本身只管认证和转发,需要搭配 TLS 之类的传输层;有的协议在设计上就内置了 TLS。

记住这两个维度,下面的对照表会好读很多。

五种常见协议,各自的设计思路

Shadowsocks:老牌、轻量

Shadowsocks 是最早流行的一批代理协议,设计思路是简单、轻量、实现容易,几乎所有主流客户端都支持,兼容性好。它本身没有额外的 TLS 外壳,数据按约定的加密方式封装。很多服务商仍会提供这类节点,术语见 Shadowsocks。

VLESS:轻量、无状态

VLESS 来自 V2Ray 一系,设计思路是轻量、无状态,用 UUID 做认证。要注意:VLESS 本身不负责加密,通常搭配 TLS 或 Reality 这类传输层使用,也可以搭配多种传输方式,安全性和表现取决于搭配了什么。很多较新的节点会使用这个组合,术语见 VLESS。

Trojan:像普通 HTTPS

Trojan 的设计思路是让流量看起来像普通的 HTTPS 访问:它基于 TLS,用密码认证,对不合规的访问可以转交给一个真实的网站处理。这种设计依赖证书、域名等配置是否正确。实际效果因网络环境而异,不能当成承诺。术语见 Trojan。

Hysteria2:基于 QUIC,面向弱网

Hysteria2 基于 QUIC,传输在 UDP 上,拥塞控制的思路是在丢包较多、延迟较高的线路上也尽量维持传输速率,所以常被用在网络环境不理想的场景。代价是对 UDP 通路敏感,一旦网络限制 UDP,就用不了;同时它比较占带宽,对服务商的带宽成本也有影响。术语见 Hysteria2。

AnyTLS:较新的一类

AnyTLS 是较新的协议,设计目标之一是缓解“TLS 套 TLS”带来的流量特征,并通过填充、连接复用等方式改善表现。它需要较新的内核支持,服务商是否提供、你的客户端是否支持,都要提前核对。术语见 AnyTLS。

除此之外,还有 VMess、TUIC 等协议,以及像 ShadowTLS 这样“套在别的协议外面”的外壳,不在这篇展开。

对照表:一眼看清五种协议

协议 设计思路 传输基础 特点倾向 需要留意
Shadowsocks 老牌轻量的加密代理 通常为 TCP,也支持 UDP 转发 轻量、兼容性好 没有 TLS 外壳,是否提供因服务商而异
VLESS 轻量、无状态 常见为 TCP,可搭配多种传输方式 开销小,可与 TLS、Reality 搭配 自身不加密,取决于搭配的传输层
Trojan 像普通 HTTPS 访问 基于 TLS 用密码认证,思路直接 依赖证书和域名配置
Hysteria2 基于 QUIC,面向弱网 UDP 丢包较多时可能更有优势 UDP 受限时不可用,较占带宽
AnyTLS 缓解 TLS 套 TLS 的特征 基于 TLS 设计上带填充和连接复用 较新,客户端支持要核对

表里写的“倾向”,是设计层面的特点,不是对速度、稳定程度的承诺。

客户端支持:选协议之前先看你用什么软件

协议能不能用,先看客户端认不认。大致情况:

客户端类型 常见代表 支持情况
基于 Mihomo 内核的 Clash 系 Clash Verge、Mihomo Party 常见协议支持度较高,较新协议看内核版本
v2ray 系 v2rayN 常见协议支持较好,较新协议要看版本和所选内核
基于 sing-box 内核的客户端 Sing-box 覆盖面通常较广,较新协议也往往较早支持
iOS 上的常见客户端 Shadowrocket 支持较多协议,具体以 App 的说明为准

几个提醒:

  • 较新的协议需要较新的版本。 Hysteria2、AnyTLS 这类协议,旧版本可能不支持,表现为节点不显示或连不上。
  • 从官方渠道更新。 内核和客户端的更新说明,可以查看官方仓库,比如 sing-box 官方仓库 和 mihomo 官方仓库,支持哪些协议以文档为准。
  • “看不到某些节点”不一定是节点坏了。 常见原因之一是客户端不认识这个协议,排查思路见 部分节点能用。

同一个协议名,为什么搭法不同、结果也不同:协议层、传输层、安全层

往深里讲一层。节点详情里写着的“协议”,其实只是整条链路里的一层。拆开看,一个节点通常由三层组成:

层 管什么 常见例子
协议层 怎么认证、怎么转发 VLESS、Trojan、Shadowsocks、Hysteria2、AnyTLS
传输层 数据在网络上怎么跑 TCP、WebSocket、gRPC,以及 Hysteria2 用的 QUIC(跑在 UDP 上)
安全层 有没有加密外壳 TLS、Reality 这类

这张表有三个实用的推论:

  1. 两个节点都叫 VLESS,可能是不同的搭法。 一个搭 TCP 加 TLS,另一个搭 WebSocket 加 TLS,参数不同,客户端是否支持、网络是否放行也不同。所以“同样是 VLESS,这个能连那个连不上”并不奇怪。
  2. 客户端要“三层都认识”才算支持。 节点显示出来了却连不上,常见原因之一是传输或安全层的某个参数,当前版本的客户端或内核处理不了。这时更新到官方渠道的较新版本,往往比换节点有用。
  3. Hysteria2 的特殊之处是传输层和安全层合在 QUIC 里。 它依赖 UDP,网络对 UDP 做限制或限速时,整个协议就受影响,这是它和基于 TCP 的协议最实用的区别。
  4. 多路复用是“几个连接共用一条底层连接”。 一般的好处是少做几次握手,代价是底层连接一旦出问题,挂在上面的几个连接会一起受影响。是否启用由服务商决定,你通常不需要自己动手改。

这里讲的是常见的分层思路,具体支持哪些传输方式和参数,随内核版本变化,以各项目的官方文档为准,比如前面提到的 sing-box 官方仓库 和 mihomo 官方仓库。

选哪个不重要,匹配最重要:4 个判断

  1. 你的客户端支持吗? 不支持的协议,再好也用不上。先看客户端,再看节点。
  2. 你的网络放行 UDP 吗? 基于 UDP 的协议在 UDP 受限时可能用不了,这时改用基于 TCP 的节点。
  3. 服务商怎么配的? 节点的协议通常由服务商设定,你没必要自己改参数,改了反而容易连不上。
  4. 别把协议当速度开关。 协议只是链条中的一环,速度和稳定程度更多取决于线路、带宽和负载。线路的差别见 IPLC和IEPL区别。

把 VLESS Trojan Hysteria2区别落到你自己的情况上,可以这样选:

  • 新手,只想先用起来:用服务商默认配好的节点,别折腾协议。
  • 网络环境不理想:同时准备一个基于 TCP 的节点和一个基于 UDP 的节点,哪个顺手用哪个。
  • 客户端比较老:先更新到较新的版本,再看节点是否出现。

按你的处境对号入座:5 个场景该怎么处理协议

下面的做法是一般规律,具体以你的网络环境和服务商的配置为准。

  1. 如果你在校园网或办公网络里,UDP 疑似被限制,优先试基于 TCP 的节点,比如 VLESS 或 Trojan 类;Hysteria2 连不上时,别反复折腾,直接换 TCP 类节点。使用网络时,同时要遵守该网络的使用规定。
  2. 如果你手机用 iOS 的小火箭、电脑用 Windows 的 v2rayN,两端混用,先向服务商确认订阅里的节点两端都支持,并以较旧的那个客户端为准。想看看各平台有哪些选择,可以用 机场客户端选择器,导入步骤见 小火箭导入订阅。
  3. 如果订阅里协议混着一大堆,不知道选哪个,先按地区选,再在同一地区里挑一个基于 TCP 的和一个基于 UDP 的,各用几天,晚间也用一用,看哪个更顺手。怎么比较,见 机场测速工具。
  4. 如果你想用 Hysteria2,但服务商只提供 TCP 类节点,不用硬追协议。协议要和线路、客户端匹配,才算好用。买之前问清楚有没有,是更省事的办法。
  5. 如果你是想了解内核的技术爱好者,别只看二手教程,去官方仓库读文档,那里写着当前版本支持哪些协议和参数,比网上流传的“推荐配置”可靠得多。

五个场景背后是同一个道理:协议是一个需要“对上号”的东西,不是一个“越新越好”的东西。 对上客户端、对上网络、对上线路,三个都对上,协议名叫什么反而是最次要的问题。

关于协议的 4 个常见误区

  1. “协议越新越好。” 新协议有新的设计取舍,也有兼容性代价,适合的才是好的。
  2. “协议决定速度。” 同一条线路上换协议,可能有差别;但线路、带宽和负载才是主因。
  3. “看到某个协议名,就等于高速或不被限制。” 协议名是宣传里常见的标签,别当作承诺,话术拆解见 机场虚假宣传。
  4. “节点不显示就是机场的问题。” 先排除客户端版本和订阅格式的问题,再去找服务商。

术语速查:协议名和相关词对照

文章里出现的几个协议和外壳,放在一张表里,方便对照。表里是设计思路层面的一句话说明,不是对效果的承诺,点进去是各自的术语页。

词 一句话 术语页
Shadowsocks 老牌轻量的加密代理协议,兼容性好 Shadowsocks
VLESS 轻量、无状态的协议,通常搭配 TLS 或 Reality 使用 VLESS
Trojan 设计上让流量像普通 HTTPS 访问,基于 TLS Trojan
Hysteria2 基于 QUIC、跑在 UDP 上,面向丢包较多的线路 Hysteria2
AnyTLS 较新的 TLS 类协议,设计上带填充和连接复用 AnyTLS
ShadowTLS 借用真实 TLS 握手的外壳,套在别的协议外面 ShadowTLS
节点 一份连接配置,里面写着协议、地址和认证信息 节点
订阅链接 把一批节点打包交给你的网址,同时是账号凭证 订阅链接

读术语页时,不用把每个词都背下来。需要记住的只有两件事:客户端认不认这个协议,网络放不放行它依赖的传输方式。 其余的,交给服务商的默认配置就行。

选机场时,怎么用协议这个维度提问

买之前,可以向服务商问清楚三件事:

  1. 订阅里的节点主要用哪些协议?
  2. 适配哪些客户端?有没有推荐的客户端版本?
  3. 有没有同时提供基于 TCP 和基于 UDP 的节点?

想横向看资料,可以去 机场推荐排行榜 和 机场对比,整体选购思路见 机场怎么选。本文只讲技术设计,使用请遵守所在地法律法规,机场牛不提供法律意见。

VLESS Trojan Hysteria2区别常见问题

Hysteria2 一定比 VLESS 快吗?

不一定。Hysteria2 基于 QUIC,思路是在丢包较多、延迟较高的线路上尽量维持传输,所以在弱网环境下可能有优势,但线路好的时候两者差距未必明显。速度更多取决于带宽、线路、负载,以及你的网络是否放行 UDP,不能只看协议名。

客户端不支持订阅里的某个协议,怎么办?

先确认客户端和内核是不是较新的版本,从官方渠道更新后再试。较新的协议如 Hysteria2、AnyTLS,旧版本常常不支持,表现为节点不显示或连不上。更新后仍不行,可以换用支持更全的客户端,或联系服务商询问有没有适配你客户端的节点。

Shadowsocks 是不是已经过时了?

不能这么说。Shadowsocks 是老牌轻量的协议,实现广泛,几乎所有主流客户端都支持,兼容性好。新协议在设计目标上各有侧重,但没有哪个协议适合所有场景。是否继续使用,取决于服务商怎么配置节点和你的客户端支持情况。

UDP 被限制的网络下,Hysteria2 还能用吗?

通常不能正常使用。Hysteria2 依赖 UDP 传输,如果你所处的网络对 UDP 做了限制或限速,连接可能失败或表现很差。这时候建议改用基于 TCP 的节点,比如 VLESS 或 Trojan 类节点,具体能不能用以你的实际网络环境为准。

AnyTLS 是什么,我需要特意去用吗?

AnyTLS 是较新的一类协议,设计目标之一是缓解 TLS 套 TLS 带来的流量特征,并通过填充和连接复用等方式改善表现。它需要较新的内核支持,不必特意追求。你的服务商没有提供,或者客户端不支持,用常见协议的节点同样可以正常使用。

VMess 和 VLESS 是什么关系,现在还需要用 VMess 吗?

两者都来自 V2Ray 一系。VMess 是较早的协议,自带加密;VLESS 的设计更轻量,本身不负责加密,通常搭配 TLS 等传输层。很多客户端两者都支持。用哪个由服务商配置,你不需要自己选,确认客户端支持订阅里的协议就行。

延伸阅读

还没想好选哪家?先看夯到拉榜

机场牛把 28 家机场按资料透明度分成夯到拉完了六档,价格、线路和来源一页摆清楚。打开机场推荐排行榜,或者直接看便宜机场、专线机场、优惠码。