Article · 代理协议:VLESS、Trojan 与 Shadowsocks · 协议原理

VLESS 协议是什么:为什么它本身不加密

VLESS 是只负责用户认证和传递目标地址的轻量代理协议,协议本身不加密,机密性交给外层的 TLS 或 REALITY。本文拆解 VLESS 请求头的字段,说明不套外层时会暴露什么,以及读机场资料里的“VLESS”时还缺哪些信息。

发布 最近更新 品牌资料整理日期 搜索意图 信息

VLESS 不加密是分工,不是遗漏

VLESS 是一种只做两件事的代理协议:用 UUID 证明你是合法用户,把你要访问的目标地址告诉服务器。它不对数据做任何加密,机密性和完整性交给外层的 TLS 或 REALITY 负责。所以判断一个 VLESS 节点是否安全,要看它外面套了什么,而不是看 VLESS 这个名字本身。

这种分工来自 V2Ray 与 Xray 社区对 VMess 的反思:当 VMess 运行在 TLS 里面时,数据会被加密两次,既浪费计算资源,也让协议更复杂。VLESS 把协议层瘦身到最小,让成熟的 TLS 去做它擅长的事。本文属于 代理协议二级专题,一级专题中的概览见 代理协议:VLESS、Trojan 与 Shadowsocks。

一个 VLESS 请求头里有什么

客户端与服务器建立连接后,首先发送一个很短的请求头,随后才是真正的数据。按协议说明,请求头大致包含以下字段:

字段 作用 说明
版本号 标明协议版本 目前常见实现固定为 0
UUID 用户认证 16 字节,相当于这个节点的“密码”
附加信息 携带扩展参数 例如流控模式,可以为空
指令 说明要做什么 TCP 连接、UDP 转发或多路复用
端口与地址 目标在哪里 地址可以是 IPv4、IPv6 或域名

服务器检查 UUID 是否在允许列表中,通过后回复一个同样很短的响应头,然后双方开始原样转发数据。整个过程中没有密钥协商,也没有对数据加密的步骤。这就是节点配置里常见“加密方式:none”这一项的来源:它不是漏填,而是 VLESS 规定必须这样写,提醒使用者协议层不提供加密。

为什么把加密交给外层

把加密留给外层,至少有三点考虑:

  1. 避免重复加密。 外层 TLS 已经提供了经过长期检验的加密与完整性校验,协议层再加密一次,收益很小,开销却实实在在。
  2. 外观交给标准协议。 外层使用标准 TLS 时,旁观者看到的是一次普通的加密握手和加密流量,协议本身的结构被包在里面。
  3. 协议更容易实现和审查。 字段越少,不同客户端之间的实现差异越小,出错的可能也越低。

代价是:VLESS 节点的安全性完全取决于外层配置是否正确。外层是 TLS 时,需要服务器有可用的域名证书;外层是 REALITY 时,需要客户端填对公钥等参数。两种方案的原理分别见 REALITY 如何在没有证书时完成握手 和 TLS、SNI 与证书校验导致的连接失败。

不套外层的 VLESS 会暴露什么

如果 VLESS 直接跑在明文 TCP 上,网络路径上的任何一方都能看到请求头的全部内容。按字段对照:

被看到的内容 后果
UUID 等同于泄露账号凭据,他人可以冒用
目标地址和端口 你访问了哪个网站一目了然
目标网站本身是 HTTPS 网页内容仍由网站自己的 TLS 保护
目标网站是明文 HTTP 网页内容同样会被看到

因此,常规的 VLESS 节点几乎都搭配 TLS 或 REALITY 使用。少数场景下,机场可能在专线或内部链路中使用不带外层的 VLESS,这属于运营方自己的部署选择,资料一般不会说明,以各品牌说明为准。作为用户,能做的是在客户端里查看节点的“传输层安全”一项是否为 TLS 或 REALITY。

流控与 Vision:减少“TLS 套 TLS”

当你通过 VLESS + TLS 访问一个 HTTPS 网站时,会出现两层 TLS:外层是你和节点之间的,内层是你和网站之间的。这种嵌套在流量形态上有一定特征,也带来额外开销。Xray 社区为此设计了流控模式,常见写法是 Vision:在内层 TLS 握手完成后,识别出已经加密的数据,减少外层的重复处理,使流量形态更接近普通的单层 TLS。

流控是写在 VLESS 附加信息里的扩展参数,只在特定组合下生效,通常要求传输方式是原始 TCP,安全层是 TLS 或 REALITY。客户端如果不认识这个参数,就可能无法连接。这也是“同样是 VLESS 节点,有的客户端能用,有的不行”的常见原因之一。

近年 Xray 社区还为 VLESS 增加了可选的协议层加密方案,但各客户端支持程度不一。机场资料里的“VLESS”目前一般仍指依赖外层安全的常见形态,具体以各品牌说明为准。

读机场资料里的“VLESS”时还缺什么

本站整理的 17 个品牌资料中,有 12 个写明协议为 VLESS,5 个协议待核实。这 12 份资料都只写到协议名这一层,没有说明安全层、传输方式和流控参数。一个 VLESS 节点能否在你的设备上使用,至少还取决于三项信息:

  • 安全层是 TLS 还是 REALITY,或者没有;
  • 传输方式是原始 TCP、WebSocket、gRPC 还是其他;
  • 是否启用了流控,以及启用的是哪一种。

这些信息通常要在导入订阅后,才能在客户端的节点详情里看到。如果你的客户端对某种组合支持不完整,购买前可以向客服确认订阅下发的具体组合。客户端怎么选、参数怎么核对,属于客户端操作,见 桌面端客户端:Windows 与 macOS 以及 资料写明 VLESS 的机场在电脑上用什么客户端。

另外要注意,资料写 VLESS 并不代表订阅里只有 VLESS 节点。本站测速截图中多数节点类型显示为 Shadowsocks,这一差异的分析见 测速截图协议与资料协议不一致的核对方法。

边界与提醒

本文只解释 VLESS 的协议设计,不涉及服务器部署,也不比较哪个品牌的 VLESS 配置更好。协议名称只说明数据怎样封装,不说明线路类型、速度或 AI、流媒体可用性;本站对 17 个品牌均未做解锁实测。和 VMess 的系统比较见 VMess 与 VLESS 的时间校验与加密层差别。

请遵守所在地法律法规与相关平台的服务条款,不要把代理工具用于违法用途。

常见问题

VLESS 本身不加密,是不是说明它不安全?

不能这么理解。VLESS 的设计是把加密交给外层的 TLS 或 REALITY,自身只做认证和寻址,避免重复加密。真正需要留意的是节点是否确实套了外层安全层;没有外层时,用户标识和目标地址会以明文形式出现在网络上。

机场资料只写 VLESS,能看出用的是 TLS 还是 REALITY 吗?

看不出来。VLESS 只是代理协议这一层,安全层、传输方式和流控参数都要看订阅里实际下发的节点配置。本站整理的 12 个写明 VLESS 的品牌资料,都没有进一步说明这些参数。

VLESS 和 VMess 是什么关系?

VLESS 可以看作 VMess 的精简后继:去掉了协议层加密和对系统时间的依赖,只保留认证与寻址。两者的详细差别见本专题的 VMess 与 VLESS 对比文章。

来源与更新

品牌字段来自本站品牌数据文件(整理自 2026-09-04 品牌清单,Vendor Data,官网待核实);测速截图为 2026-10-18 复核后发布的单次 Measured Data;AI 与流媒体均为 Not Tested。发布 2026-10-18,最近更新 2026-10-18。本页不承诺任何平台的收录、排名或引用。