VLESS 是什么
VLESS 是 V2Ray / Xray 的一种轻量传输协议。本页说明它和 VMess 的区别、vless:// 分享链接里各个字段的含义、常见的搭配方式,以及在客户端里怎么填写。
VLESS 是什么
VLESS 是 V2Ray 生态里的一种代理协议,2020 年由 RPRX 提出,名字取自「less is more」。它的特点:
- 无状态:服务器不记录连接状态,也不依赖系统时间(VMess 依赖时间,时间不准会连不上)。
- 用 UUID 认证:
id可以是标准 UUID,也可以是 30 字节以内的字符串(Xray 会把它映射成 UUID)。 - 加密交给外层:通常配合 TLS 或 Reality;Xray 新增了可选的 VLESS Encryption。
- 支持 XTLS Vision 流控:
xtls-rprx-vision,减少「TLS 套 TLS」的特征。
Xray 和 v2fly 的分叉
VLESS 最早同时出现在 v2ray-core 和 Xray-core 里。现在两边的态度不同:
| Xray-core(Project X) | v2ray-core(v2fly) | |
|---|---|---|
| VLESS 状态 | 持续开发 | 文档标为已弃用,建议改用 Trojan |
| Reality | 支持 | 不支持 |
| XTLS Vision 流控 | 支持 | 不支持 |
| VLESS Encryption | 支持(较新版本) | 不支持 |
所以用 VLESS 节点,客户端要选内置 Xray 的,例如 v2rayN、v2rayNG。
vless:// 分享链接格式
机场和自建服务器一般给的是一条 vless:// 链接,格式来自 Xray 社区的分享链接标准提案:
vless://[UUID]@[服务器地址]:[端口]?参数1=值&参数2=值#[节点名称]
一个 VLESS + Reality + Vision 的例子(全部是占位值):
vless://your-uuid@[服务器地址]:443?encryption=none&security=reality&sni=www.example.com&fp=chrome&pbk=your-public-key&sid=your-short-id&type=tcp&flow=xtls-rprx-vision#我的节点
| 参数 | 含义 |
|---|---|
encryption |
VLESS 是否自带加密:none 表示不启用;启用 VLESS Encryption 时是一长串以 mlkem768x25519plus 开头的值 |
security |
传输层安全:none、tls 或 reality |
type |
传输方式:tcp、ws、grpc、httpupgrade、xhttp 等 |
flow |
流控,常见值 xtls-rprx-vision,可以为空 |
sni |
TLS / Reality 的服务器名称 |
fp |
TLS 指纹,例如 chrome;用 Reality 时必填 |
pbk |
Reality 公钥;用 Reality 时必填 |
sid |
Reality 的 shortId,可以为空 |
path、host |
WebSocket、HTTPUpgrade、XHTTP 的路径和 Host |
# 后面 |
节点名称,只用来显示 |
想看自己的链接里每个字段是什么,可以粘贴到 节点链接解析:解析在浏览器本地完成,链接不会上传。
客户端里怎么填
大多数情况下不需要手填:在 v2rayN 里用「配置项」→「从剪贴板导入分享链接」,在 v2rayNG 里用「从剪贴板导入」,客户端会自动把上面的参数填好。手动添加时对照上表,最容易填错的是:
flow要和服务器一致(服务器开了 Vision,客户端也要选xtls-rprx-vision);- 用 Reality 时
pbk(公钥)和sni必须和服务器配置对应; encryption不启用时填none,不能留空。
常见的 VLESS 搭配
| 搭配 | 说明 |
|---|---|
| VLESS + Reality + Vision | 目前 Xray 社区最常见的组合,不需要自己的域名和证书 |
| VLESS + TLS + Vision | 需要域名和证书 |
| VLESS + WebSocket + TLS | 可以放在 CDN 后面,不能用 Vision 流控 |
| VLESS + XHTTP | Xray 较新的传输方式 |
Reality 的原理和字段见 VLESS Reality 是什么。
VLESS 和 VMess 有什么区别?
VMess 自带加密,认证依赖系统时间,客户端和服务器时间相差太多会连不上;VLESS 是无状态的,用 UUID 认证、不依赖时间,加密交给 TLS / Reality(或 Xray 的 VLESS Encryption),支持 XTLS Vision 流控。新搭建的节点多用 VLESS。详见 VMess 是什么。
VLESS 为什么说被弃用了?
这是 v2fly 维护的 v2ray-core 文档里的说法:它把 VLESS 标为已弃用并建议改用 Trojan。VLESS 在 Xray-core 里仍在持续开发,Reality、Vision、VLESS Encryption 都是在 Xray 里加的。用 Xray 内核的客户端不受影响。
VLESS 本身加密吗?
传统用法里 VLESS 自身不加密,必须配合 TLS 或 Reality。较新的 Xray 版本加入了可选的 VLESS Encryption,启用后才由 VLESS 自己加密;分享链接里 encryption=none 表示没有启用。
哪些客户端支持 VLESS?
v2rayN、v2rayNG、v2rayA、V2rayU(都内置 Xray)、Happ、V2Box(基于 Xray)都支持;Shadowrocket 也能导入 vless:// 链接。用 v2fly 内核的客户端不适合用 VLESS。
vless:// 链接里的 flow=xtls-rprx-vision 是什么?
这是 XTLS Vision 流控。按 Xray 文档,它只能用在 TCP + TLS / Reality(或开启 VLESS Encryption)的组合上;客户端里的「流控」要和服务器一致,否则连不上。
VLESS 能转成 Clash 用吗?
能。mihomo(Clash Meta)内核支持 VLESS,可以把 vless:// 链接转换成 Clash / mihomo 的节点格式,见 vmess 转 Clash,也可以用本站的 节点链接解析 在浏览器本地转换。