VLESS 是 Project X(Xray)文档定义的一种无状态、轻量传输协议,作为客户端与服务端之间的承载层。它用 UUID 标识用户,不依赖系统时间同步——这一点与 VMess 的设计差异在官方文档中写得很清楚。讨论 VLESS 时务必同时说明外层 streamSettings 与安全配置,否则容易把「协议名」误当成完整安全方案。
协议定位
文档称 VLESS 分为 inbound 与 outbound,可在 Xray 路由体系中桥接流量。它解决的是「谁有权接入、字节如何被转发」,而不是操作系统级 TUN 的全局路由语义;与 传统 VPN 或 WireGuard 对比时,要区分承载协议与终端隧道产品。
认证:UUID
服务端 settings.users 中的 id 可为标准 UUID,或短于 30 字节的自定义字符串(按 UUIDv5 映射规则与 UUID 等价)。level 对接本地策略;email 用于日志与统计区分。UUID 泄露等同于接入凭证泄露,应像密码一样保管订阅链接与配置文件。
Inbound 与 Outbound
Inbound 监听入站连接并校验用户;Outbound 把通过路由规则的流量发往下一跳。VLESS 只定义其中 protocol: vless 的语义,具体走哪条线路由 routing 与 outbounds 决定。两端须使用互相认可的 UUID、flow 与传输层参数。
streamSettings 与 TCP
常见组合为 TCP 承载,再配合 security 字段选择 TLS、REALITY 或 none。官方警告:除非对端是可信私有地址且链路受控,或启用了规定的 VLESS Encryption,否则不应在公网以 security: none 裸奔——否则路径上的观察者可直接读取载荷。
TLS 与 REALITY
TLS 提供证书校验与记录层加密,是大多数公网部署的外层。REALITY 属于特定部署选项,用于 mimics 真实站点握手等场景,配置门槛高于普通 TLS。无论哪种,证书校验被关闭或主机名不匹配时,协议标签无法补救中间人风险。TLS 基础可参考 Cloudflare Learning 对握手与记录层的说明。
flow 与 xtls-rprx-vision
用户对象可设 flow:空值时走标准 TLS 代理;xtls-rprx-vision 启用文档所述 XTLS 模式,含内层握手随机填充。XTLS 仅在文档列出的组合下生效,例如 TCP+TLS/REALITY 时在满足条件下对 TLS 1.3 载荷做底层拷贝优化;客户端与服务端 flow 不一致会导致无法连接或功能降级。全局 settings.flow 为空字符串时还会作为 per-user flow 的默认值,配置时要注意空字符串无法「关掉」 flow 的行为。
VLESS Encryption
decryption 字段不能留空;禁用需显式 none。启用时,文档描述由多段点分块构成握手方式、流量外观、会话票据与填充策略等,并要求服务端与客户端精确匹配。官方建议多数用户用 xray vlessenc 生成,以免手写出错。它在不受信链路上可提供独立于 TLS 的加密选项,但并不自动等价于「流量不可观察」或身份隔离。
fallbacks 与 reverse
fallbacks 可将未识别流量导向其他端口,用于与 Web 服务共存;reverse 结构表示该用户的连接可用于简化反向代理隧道,并会禁用该用户的常规正向代理。功能组合错误可能导致非预期暴露或环路。
客户端与服务端兼容性
须使用同一文档版本的 core,并对齐 UUID、flow、传输层、加密块与 SNI 等字段。第三方图形客户端只是配置的壳,安全取决于 core 来源是否可验证、更新是否及时,以及订阅是否被篡改。不应把某个商业 App 名称与 VLESS 协议划等号。
协议本身不保证什么
- 不保证出口节点不记录元数据或遵守隐私承诺。
- 不保证绕开所有运营商策略或长期可用。
- 不替代系统补丁、账户 2FA 与防钓鱼习惯。
- 不证明分享链接中的节点未被掉包或植入恶意路由。
评估节点时,应把「协议名称」与「运营方、日志、客户端签名与更新节奏」分开核对;测评文章若只展示连通性而不说明外层 security 配置,参考价值有限。工具选型背景可读 如何选择隐私工具;若你主要需要链路加密与路由语义,先厘清 网络流量加密 分层再决定是否采用 VLESS 栈。
与 DNS 及分流
VLESS 栈本身不替你选择 DNS 解析路径;若路由规则只代理部分域名,其余查询仍可能暴露访问意图。搭配分流模板时,应同时检查系统 DNS、routing 规则与出口是否一致,避免「代理显示已连接但查询仍走本地运营商」的错位。
再次强调:VLESS 协议名称本身不提供身份不可关联性或运营方可信保证;安全取决于 UUID 保管、外层 TLS/REALITY 配置、客户端供应链与节点运营方。