机场知识 知识解读
VLESS 是什么?轻量协议原理与 Reality、WS + TLS 等传输组合
VLESS 是 V2Ray / Xray 生态的轻量代理协议,自身不做加密,交给 TLS 或 Reality 保护。本文讲清 Vision 流控、VLESS + Reality、WS + TLS 等常见组合、客户端支持与导入常见问题。
- 作者
- 网络研究组
- 首次发布
- 最后更新
- 内容类型
- 知识解读
- 资料核对
- 阅读时间
- 约 3 分钟
信息可能随服务调整而变化,请以最新官方信息为准。
直接答案
VLESS 是 V2Ray / Xray 生态中的轻量代理协议,用 UUID 认证,协议本身不负责加密,而是交给外层的 TLS 或 Reality 保护数据。这样做减少了重复加密的开销,也不依赖时间同步。VLESS 的强大之处在于组合:VLESS + Reality + Vision 适合直连节点,VLESS + WS + TLS 可以经过 CDN,配置灵活但对客户端支持要求更高。
- 定义 VLESS
- Xray / V2Ray 生态中的无状态轻量代理协议。客户端以 UUID 进行身份认证,协议本身不内置加密,设计上依赖 TLS、Reality 等外层安全传输,可承载于 TCP、WebSocket、gRPC 等多种传输方式之上。
Key Takeaways · 要点速览
- VLESS 只负责认证和转发,加密交给 TLS 或 Reality,避免与 TLS 重复加密。
- Vision 流控用于处理 TLS in TLS 特征,常与 TLS 或 Reality 搭配。
- VLESS + Reality 不需要自有域名和证书,VLESS + WS + TLS 可以经过 CDN。
- VLESS 参数较多,flow、传输方式、Reality 参数任何一项不匹配都会导致连不上。
VLESS 的直接解释
VLESS 可以理解为「去掉加密的 VMess」:保留 UUID 认证和灵活的传输方式,删掉了协议自身的加密层和时间认证。原因很直接,当外层已经有 TLS 时,再加密一次只是浪费 CPU 和流量。去掉之后,VLESS 更轻、更快,也不再因为设备时间不准而连不上。
正因为自己不加密,VLESS 的安全性和伪装能力完全取决于它搭配的传输层,所以讨论 VLESS 时,几乎总是在讨论「VLESS + 什么」。
说明Xray 后续为 VLESS 引入了可选的协议层加密方案,用于特定部署场景。是否启用、如何配置以 Xray 官方文档为准,机场用户按订阅下发的参数使用即可。
工作原理与 Vision 流控
- 客户端与服务器先建立外层安全连接(TLS 或 Reality)。
- 客户端在 VLESS 请求头中带上 UUID 和目标地址。
- 服务器校验 UUID,通过后开始转发数据;不通过时可回落到正常网站。
Vision 流控(参数常写作 xtls-rprx-vision)是 VLESS 最常见的扩展。通过代理访问 HTTPS 网站时会形成 TLS in TLS,内层握手的数据包长度有规律可循。Vision 会对内层握手阶段的数据做填充等处理,并在条件满足时减少重复加密,以缓解这一特征。AnyTLS 用另一种思路处理同样的问题,对比见 AnyTLS 是什么。
常见传输组合
| 组合 | 是否需要域名证书 | 能否经过 CDN | 特点 |
|---|---|---|---|
| VLESS + TCP + Reality + Vision | 不需要 | 不能 | 直连节点的主流选择,握手外观接近真实网站 |
| VLESS + TCP + TLS + Vision | 需要 | 不能 | 与 Trojan 类似,配合 Vision 处理 TLS in TLS |
| VLESS + WS + TLS | 需要 | 能 | 兼容性好,适合 CDN 中转,延迟可能更高 |
| VLESS + gRPC + TLS / Reality | 视配置 | TLS 时可以 | 基于 HTTP/2,支持多路复用 |
| VLESS + XHTTP / HTTPUpgrade | 视配置 | 视配置 | 较新的传输方式,客户端支持以最新说明为准 |
Reality 的原理和参数见 Reality 是什么。
与 VMess、Trojan 的对比
| 对比项 | VMess | VLESS | Trojan |
|---|---|---|---|
| 协议自身加密 | 有 | 默认无,依赖外层 | 无,依赖 TLS |
| 认证方式 | UUID + 时间 | UUID | 密码 |
| 时间同步要求 | 高 | 无 | 无 |
| Reality / Vision | 不适用 | 支持 | 不适用 |
| 配置复杂度 | 中 | 较高 | 低 |
客户端支持情况
| 客户端 | VLESS 基础 | Reality | Vision |
|---|---|---|---|
| v2rayN(Xray 内核) | 支持 | 支持 | 支持 |
| Clash Verge Rev(Mihomo 内核) | 支持 | 支持 | 支持 |
| sing-box | 支持 | 支持 | 支持 |
| Shadowrocket / Stash | 支持 | 以最新版本说明为准 | 以最新版本说明为准 |
| Surge | 以官方说明为准 | 以官方说明为准 | 以官方说明为准 |
重要较新的传输方式(如 XHTTP)通常先在 Xray 中实现,其他内核跟进有时间差。订阅里的节点在某个客户端中显示异常,先确认客户端是否支持该传输方式。
在机场中的使用场景
- 直连主力节点:VLESS + Reality + Vision 常被用作直连节点的主力配置,不需要维护证书。
- CDN 备用节点:服务器 IP 被干扰时,VLESS + WS + TLS 经 CDN 中转保持可用。
- 进阶用户调优:需要在多种传输方式之间对比的用户,VLESS 提供的选择最多。
导入与使用常见问题
- 提示不支持的协议或参数:更新客户端;v2rayN 用户确认所选内核。
- 能导入但全部超时:检查 flow 是否被客户端忽略、Reality 公钥与 SNI 是否完整,必要时重新更新订阅。
- TLS 握手报错:参考 TLS 握手失败怎么办。
结论
VLESS 是目前最灵活的代理协议之一:协议本身极简,能力来自 TLS、Reality、Vision 和多种传输方式的组合。它适合作为直连节点的主力,也能通过 CDN 组合做备用。代价是参数多、对客户端要求高,使用前确认客户端支持是第一步。客户端配置可参考 v2rayN 完整使用教程。
常见问题
VLESS 不加密,是不是不安全?
VLESS 不内置加密,是因为它设计为与 TLS 或 Reality 一起使用,由外层负责加密。机场提供的 VLESS 节点通常都配置了 TLS 或 Reality,传输内容是加密的。不要使用既没有 TLS 也没有 Reality 的 VLESS 节点跨公网传输。
VLESS 节点导入后连不上,最常见的原因是什么?
常见原因有三类:客户端或内核不支持 Reality、Vision 等扩展;flow 等参数与服务端不一致;客户端版本过旧无法识别新的传输方式。先更新客户端并重新更新订阅,仍不行再换用其他协议节点对比。
VLESS + Reality 和 VLESS + WS + TLS 选哪个?
直连节点通常优先 Reality,握手外观接近真实网站且不需要证书;需要经过 CDN 或服务器 IP 被干扰时,WS + TLS 更灵活。机场订阅中两者都有时,以你网络下的实际稳定性为准。
Surge 能用 VLESS 吗?
Surge 对 VLESS 及 Reality 的支持情况请以 Surge 官方说明为准。如果当前版本不支持,可以选择订阅中的 Trojan、Shadowsocks 等其他协议节点。