VLESS是什么?和VMess的区别、为什么说它被弃用了
VLESS是什么?简单说,它是一种只负责「认证身份、转发数据」的轻量代理协议,本身不加密,加密交给外面那层 TLS 或 Reality 来做。你在订阅里看到的 vless:// 开头的链接,就是这种协议的节点。
网上关于 VLESS 的中文资料大多写于 2021 年前后,那时还没有 Reality,也没有后来的新特性,还有一句「VLESS 已被弃用」让不少人以为该换协议了。这篇按现在的情况讲清三件事:它和 VMess 差在哪、「弃用」到底弃在哪、一条 vless 链接里的每个参数是什么意思。
VLESS 只管认证和转发
VLESS 的认证只靠一个 UUID。客户端连上服务器时带上这个 UUID,对得上就放行,然后原样转发数据,协议本身不保存会话状态。
它刻意不做加密。在配置里,encryption 这一项必须明确写成 none,不能留空,v2fly 文档对此的解释是「为了提醒使用者没有加密」。所以 VLESS 从来不单独使用,一定要套在 TLS 或 Reality 里面,由外层负责加密和伪装。
这样做的好处是省掉一层重复加密。另一个副作用是 VLESS 不依赖系统时间,客户端电脑的时钟不准也能连上。
VLESS 和 VMess 的区别
VMess 是 V2Ray 更早的协议,自带加密。两者放在一起比:
| 对比项 | VMess | VLESS |
|---|---|---|
| 自身加密 | 有,协议层自带 | 没有,encryption=none,靠外层 TLS / Reality |
| 套上 TLS 之后 | 加密两次(协议一次、TLS 一次) | 只有 TLS 这一次 |
| 对系统时间的要求 | 客户端和服务器 UTC 时间误差要在 90 秒内 | 不依赖系统时间 |
| 认证 | UUID,旧版还有 alterId(现在应设为 0,启用 AEAD) | 只有 UUID |
| 能否搭配 Reality、Vision | 常见方案里不这么用 | Xray 发布 Reality 时给的示例就是 VLESS + Vision + Reality |
| 主流内核支持 | v2fly、Xray、sing-box、mihomo 都支持 | Xray、sing-box、mihomo 支持;v2fly 已标注弃用 |
实际使用中最常见的一个区别是时间:用 VMess 时手机或电脑时间不准,会直接连不上且没有明确报错;换成 VLESS 就没有这个问题。
「VLESS 被弃用」是怎么回事
这句话来自 v2fly(也就是 V2Ray 原版项目)的官方文档。2022 年 10 月,文档里加了一行:「VLESS 已被弃用并且可能被移除。请考虑使用 Trojan 作为替代品。」文档没有说明具体原因。
关键在于,弃用只发生在 v2fly 这一个项目里。VLESS 的主要维护方是从 V2Ray 分出来的 Xray 项目,它不但没有弃用,还在持续加新东西:
| 时间 | 项目与版本 | 发生了什么 |
|---|---|---|
| 2020-08 | V2Ray v4.27.0 | VLESS 首次发布(预览版) |
| 2020-11 | Xray v1.0.0 | Xray 从 V2Ray 分出,此后 VLESS 主要在 Xray 里演进 |
| 2022-10 | v2fly 文档 | 标注 VLESS 弃用,建议改用 Trojan |
| 2023-03 | Xray v1.8.0 | 发布 Reality,不需要自己买域名就能伪装成真实网站 |
| 2025-09 | Xray v25.9.5 | VLESS 加入可选的抗量子加密(基于 ML-KEM-768) |
sing-box 和 Clash 系的 mihomo 内核也都支持 VLESS。所以判断方法很简单:只有你用的是 v2fly 原版内核,才需要考虑换协议;用 Xray、sing-box、mihomo 内核的客户端,照常用即可。
一条 vless:// 链接逐项看懂
以一条 VLESS + Reality 链接为例(尖括号里是占位,实际是具体的值):
vless://<UUID>@<服务器地址>:<端口>?encryption=none&flow=xtls-rprx-vision&security=reality&sni=<伪装域名>&fp=firefox&pbk=<公钥>&type=tcp#节点名
| 参数 | 含义 | 出问题时的表现 |
|---|---|---|
<UUID> | 你的身份凭证,相当于密码 | 填错或已失效:连接被服务器拒绝 |
@地址:端口 | 服务器位置 | 地址或端口不通:直接超时 |
encryption | VLESS 自身加密,通常是 none | 不是 none 时,客户端内核必须支持 VLESS 新加密 |
flow | 流控方式,xtls-rprx-vision 是目前主流 | 客户端不支持 Vision 或没带上这一项:通常连不上 |
security | 外层是 tls 还是 reality | 客户端不支持 Reality:导入时报错或参数被忽略 |
sni | Reality 模式下是借用的真实网站域名 | 和服务端不一致:握手失败 |
fp | 模拟哪种浏览器的 TLS 指纹 | 一般不用改 |
pbk / sid | Reality 的公钥和短 ID(sid 可为空) | 公钥错一位就连不上 |
type | 传输方式,Reality 通常是 tcp | |
# 后面 | 节点显示名,只是个标签 | 不影响连接 |
排查连不上时,先对这张表看 security、flow、encryption 三项,它们决定了你的客户端能不能用这条链接:
| 链接里出现 | 客户端需要 |
|---|---|
security=reality | 支持 Reality 的内核:Xray、sing-box、mihomo 都可以 |
flow=xtls-rprx-vision | 支持 Vision 流控,同样是上面三种 |
encryption= 不是 none | 目前只有 Xray v25.9.5 及以后的内核能用 |
| 客户端内核是 v2fly 原版 | 不建议用 VLESS,换一个客户端 |
三个常见误区
「VLESS 不加密,所以不安全」
VLESS 协议层不加密,但它从来不裸跑,外层的 TLS 或 Reality 负责加密。真正不安全的是配置错误导致外层没生效,比如 security 留空,这时数据确实是明文。所以要检查的是 security 那一项,而不是纠结 VLESS 本身。
「VLESS 被弃用了,要赶紧换协议」
弃用只是 v2fly 一个项目的决定,Xray 仍在主导开发,sing-box 和 mihomo 也都支持。你的客户端只要不是 v2fly 原版内核,就不受影响。
「换成 VLESS 速度会快很多」
VLESS 比 VMess 少一层加密,省下的主要是 CPU,老旧手机和路由器上感受会明显一些。但日常上网的速度瓶颈通常在线路和网络环境,换协议解决不了线路本身慢的问题。
我们的线路用的是什么
我们的主协议就是 VLESS + Reality:借用真实网站的 TLS 证书做伪装,客户端的握手内容和访问真实网站一致。每台服务器配置了 30 个以上的伪装域名,每条线路随机分配其中一个,单个域名被干扰只影响少数线路。原理细节在 Reality协议是什么 里讲过。
具体配置是 flow=xtls-rprx-vision、encryption=none,加密由 Reality 的 TLS 层负责。
说一句对我们不利的实话:我们目前没有用上 2025 年新加的 VLESS 抗量子加密。 原因是服务端和客户端都用 sing-box 内核,而 sing-box 的 VLESS 目前没有这个选项。抗量子加密防的是「现在截获流量、等将来量子计算机成熟再解密」这种长期风险;对日常上网来说,现有 TLS 1.3 层的加密是足够的,但如果你对这类长期风险特别在意,目前只有 Xray 内核能做到。
VLESS 之外我们还内置了基于 QUIC 的 Hysteria2 作为备用协议,两者怎么选可以看 VPN协议怎么选。
常见问题
VLESS 和 Reality 是什么关系?
VLESS 是协议,负责认证和转发;Reality 是外面那层,负责加密和伪装成访问真实网站。两者分工不同,常见组合是 VLESS + Vision + Reality,链接里对应 flow=xtls-rprx-vision 和 security=reality。
VLESS 用什么客户端?
Windows 上常用 v2rayN、Clash Verge Rev,安卓上常用 v2rayNG、NekoBox,iOS 上常用 Shadowrocket,底层是 Xray、sing-box 或 mihomo 内核的都能用。链接带 Reality 和 Vision 时,确认客户端版本不太旧即可。
VLESS 链接怎么转成 Clash 用?
用 mihomo 内核的客户端(如 Clash Verge Rev)时,在配置文件的 proxy-providers 里填上原始订阅地址,mihomo 会自己解析 vless 链接,不需要在线转换,具体做法见 订阅转换是什么。别把订阅地址贴到在线转换网站,那等于把全部节点凭证交给对方。
VLESS encryption 是什么,要不要开?
这是 Xray v25.9.5 起加入的可选加密,基于 ML-KEM-768,主打抗量子。开了之后客户端也必须是较新的 Xray 内核,sing-box 和 mihomo 用户会连不上。普通用户用 Reality 已经足够,没有特别需求不必追。
VLESS 和 Trojan 哪个好?
两者都不自带加密,都靠外层 TLS 保护,安全性在同一档。差别在部署:传统 Trojan 需要一个自己的域名和证书;VLESS 搭配 Reality 可以借用别人网站的证书,不用买域名,这也是它现在更常见的原因。