VMess vs VLESS:读懂 REALITY、TLS 与 Hysteria2 的配置关系
VMess vs VLESS 要分开看协议加密、传输方式和传输层安全。官方文档将 VMess 描述为加密协议,VLESS 另有加密字段与流控条件,REALITY 属于修改过的 TLS;Hysteria2 则基于 QUIC,并支持转发 TCP 与 UDP。
协议名称分别对应哪些配置内容?
VMess 的加密选项由出站文档说明
Xray 将 VMess 称为加密协议,其 security 可选 AES-128-GCM、ChaCha20-Poly1305 或 auto。服务端能够自动识别客户端采用的加密方式。
选择 auto 时,客户端在 AMD64、ARM64、s390x 上使用 AES-128-GCM,其他架构使用 ChaCha20-Poly1305。这是文档列出的选择规则,不能据此判断连接表现。
VLESS 的加密字段不能留空
Xray 的 VLESS 出站要求填写 encryption。关闭加密时须显式写 none,留空不符合该字段的要求;因此,描述 VLESS 时还需要交代这个字段的取值。
sing-box 的 VLESS 出站将 tls 与 transport 分别列为独立配置项。协议名称、传输方式和 TLS 配置需要分开理解,不能只凭名称补全其余配置。
REALITY 与 Hysteria2 的定义不同
Xray 将 REALITY 描述为修改过的 TLS,借用目标网站的外观与握手作为伪装。它出现在传输层安全的配置语境中,与 VLESS 出站字段的含义不同。
Hysteria 2 官方首页描述的是基于定制 QUIC 的协议,流量设计成看起来像普通 HTTP/3,并支持 TCP、UDP 转发。这里同时涉及底层承载与被转发的流量。
加密、TLS 和传输方式应怎样分开读?
security 要结合所在位置理解
VMess 出站的 security 用于选择协议加密方式。Xray 传输层的同名字段则可取 none、tls 或 reality,其中 none 为默认值,表示不启用传输层安全。
这两处字段虽然同名,文档赋予的作用不同。解释配置时,需要同时说明它属于出站协议还是传输层,不能把两处 none 的含义直接合并。
TLS 的说明有明确边界
Xray 传输文档说明,tls 由 Go 提供,通常协商为 TLS 1.3,不支持 DTLS。这些描述针对该传输层配置,不能扩展成所有协议实现的共同属性。
sing-box 的 VMess 出站把 transport 和 tls 分列,VLESS 出站也采用独立配置项。阅读这些页面时,协议加密与 TLS 是否配置应分别核对。
传输列表不能直接变成底层分类表
Xray 列出的传输方式包括 raw、xhttp、mkcp、grpc、websocket、httpupgrade、hysteria 和 masque,默认方式为 raw。
其中 hysteria 与 masque 传输要求 TLS。至于列表中每一种传输分别基于 TCP、UDP 还是 QUIC,官方没有说明,不能仅按名称补齐对应关系。
VLESS 配合 REALITY 时有哪些明确条件?
Vision 的组合要求写在 flow 说明中
Xray 规定,flow 为 xtls-rprx-vision 时,需要配合 TCP 加 TLS、TCP 加 REALITY,或 VLESS Encryption。这个条件针对指定的 flow 值。
sing-box 的 VLESS 出站中,flow 仅列出 xtls-rprx-vision。引用这个可选值时,还应保留对应实现的配置语境,不能把不同页面的字段说明混写。
REALITY 支持的传输范围已经列出
Xray 的 REALITY 文档将适用传输限定为 raw、xhttp、grpc。讨论 VLESS 与 REALITY 的组合时,需要保留这一范围,不能扩展到传输列表的所有项目。
对于认证失败的流量,文档说明服务端会将其转发到配置的 target 站点。这是认证失败时的处理行为,不是对连接成功率或使用体验的评价。
UDP 开关与数据包编码是不同项目
sing-box 的 VLESS 出站默认同时开启 tcp 与 udp,packet_encoding 默认使用 xudp。这两项分别说明网络范围与数据包编码,不能相互替代。
同一实现的 VMess 出站也默认同时开启 tcp 与 udp,但 packet_encoding 留空表示不编码,xudp 对应 Xray。两个出站的默认编码描述并不相同。
Hysteria2 如何通过 QUIC 转发流量?
规范区分 TCP 流与 UDP 数据报
Hysteria 2 协议规范说明,它运行在标准 QUIC 与不可靠数据报扩展之上。每个被代理的 TCP 连接,对应一条 QUIC 双向流。
UDP 包则经过封装,以数据报形式发送,超大包会分片。因此,支持转发 TCP 与 UDP,不等于把它的底层承载描述为 TCP 与 UDP 两种连接。
HTTP/3 服务与认证过程有单独要求
协议规范要求服务端是真实的 HTTP/3 服务器。客户端通过向 /auth 发送 POST 请求进行认证,认证成功时返回状态码 233。
Xray 的 Hysteria 出站说明则将其称为建立在调优过的 QUIC 传输之上的代理控制协议,要求 version 为 2,并注明协议自身没有内置认证。
TLS 要求应注明来自哪个实现
sing-box 的 Hysteria2 出站要求填写 tls,network 默认同时开启 tcp 与 udp。obfs 可选 Salamander 或 Gecko,留空表示关闭混淆。
Xray 另行说明,Hysteria 出站若用于非 Hysteria 传输,便无法代理 UDP。这个限制需要与协议规范中 TCP 流、UDP 数据报的承载方式分别理解。
其他出站文档如何描述相同维度?
Trojan 的 TLS 说明存在实现差别
Xray 的 Trojan 出站要求 password,并说明须与 TLS 等传输层安全一起使用。security 为 none 仅限服务器处于私有地址且链路可信的情形。
sing-box 的 Trojan 出站则仅将 server、server_port、password 列为必填,tls 与 transport 不是必填项,network 默认同时开启 tcp 与 udp。
Shadowsocks 分别说明加密与转发
Xray 的 Shadowsocks 出站列出多种加密方式,并说明同时转发 TCP 与 UDP,UDP 可以关闭。这些内容描述的是加密选项与流量转发范围。
sing-box 将 method 列为必填;其 udp_over_tcp 可以把 UDP 放进 TCP 连接,但不能与多路复用同时使用。这个选项不能简写成协议只支持 TCP。
TUIC 的 QUIC 与 UDP 选项分列
sing-box 的 TUIC 出站运行在 QUIC 之上,tls 为必填,network 默认同时开启 tcp 与 udp。udp_relay_mode 可选 native 或 quic,默认使用 native。
文档另列 udp_over_stream,并说明它不能与 udp_relay_mode 同时使用。这里的互斥关系属于配置条件,不能据此推导某个选项的性能结论。
官方没有写明的几件事
Xray 出站页没有补全所有承载细节
对于 Xray 的 VMess 出站页是否内置 TLS、基于 TCP 还是 UDP,官方没有说明。Trojan 出站页是否明确写出 TCP 与 UDP,官方没有说明。
这些问题不能用 sing-box 的默认值代答。阅读客户端中的配置时,应以应用内实际界面为准,并区分它展示的是协议字段还是传输字段。
Hysteria 2 的 TLS 结论不能跨来源套用
关于 Hysteria 2 首页与协议页是否明写默认加密或内置 TLS,官方没有说明。能够明确引用的是 sing-box Hysteria2 出站要求配置 tls。
因此,写到 TLS 必填时需要保留 sing-box 这一对象。不能把实现文档的必填要求,改写成 Hysteria 2 首页已经作出的默认行为声明。
TUIC 与各传输的空缺应保留
关于 TUIC 在 Xray 文档中的描述,官方没有说明。Xray 传输列表是否逐项明确底层属于 TCP、UDP 或 QUIC,官方没有说明。
客户端界面中的实际项目应以应用内展示为准。sing-box 的 TUIC 配置可以说明该实现,但不能据此补写 Xray 的字段或默认值。
常见问题
VMess 有协议加密,是否就表示已经配置 TLS?
不能仅凭协议加密选项得出这个结论。sing-box 将 VMess 的 security、transport 与 tls 分列,协议加密和 TLS 配置需要分别核对。
VLESS 的 encryption 留空,是否等于 none?
Xray 文档要求 encryption 不能留空。需要关闭时必须显式填写 none,不能把缺少字段内容解释为已经满足关闭加密的要求。
Hysteria2 支持 TCP,是否表示底层使用 TCP?
不能这样理解。官方规范说明,每个被代理的 TCP 连接对应一条 QUIC 双向流;UDP 包则封装后通过数据报发送。
VMess 的连接核对还有什么明确条件?
Xray 文档要求主机 UTC 时间与真实时间相差不超过 120 秒。这是文档明确列出的时间条件,不能据此将所有连接异常都归因为时间偏差。
第三方整理,与相关软件及服务的开发者无隶属关系。
参考来源
- xtls.github.io/en/config/outbounds/vmess.html
- sing-box.sagernet.org/configuration/outbound/vmess/
- xtls.github.io/en/config/outbounds/vless.html
- sing-box.sagernet.org/configuration/outbound/vless/
- xtls.github.io/en/config/transport.html
- xtls.github.io/en/config/transports/reality.html
- xtls.github.io/en/config/outbounds/hysteria.html
- v2.hysteria.network/
- v2.hysteria.network/docs/developers/Protocol/
- sing-box.sagernet.org/configuration/outbound/hysteria2/
- xtls.github.io/en/config/outbounds/trojan.html
- sing-box.sagernet.org/configuration/outbound/trojan/
- xtls.github.io/en/config/outbounds/shadowsocks.html
- sing-box.sagernet.org/configuration/outbound/shadowsocks/
- sing-box.sagernet.org/configuration/outbound/tuic/
常见问答
新手第一次配置,直接选哪个协议最省心?
VMess 已经过时了吗,还能继续用吗?
为什么 Hysteria2 在某些宽带下速度反而不如 VLESS?
推荐服务与工具
查看全部服务 →跨界云
价格已核对跨界云 是本站收录的机场服务商之一。已核对的套餐共 6 档,最低月付 ¥20(轻云 Lite,120GB / 月),价格核对于 2026-08-03。
微风网络
价格已核对微风网络 是本站收录的机场服务商之一。已核对的套餐共 4 档,最低月付 ¥27(乘风 (Riding),200GB / 月),价格核对于 2026-08-03。
推广说明:本页面可能包含推广注册链接。通过相关链接注册可能为本站带来推广收益,但不会额外增加用户的正常购买价格。具体价格、套餐和服务状态以对应用户中心实时展示为准。