VMess 与 VLESS 是不同协议,不是同一个节点上的两档速度设置。两者都常用 UUID 标识用户,但加密机制与服务端配置不同。本文适合已经有服务商参数、准备在 Shadowrocket 的 Add Server 中手动填写或核对导入结果的用户:先分清协议、传输与 TLS 三层,再按字段检查,最后用固定条件测试,避免把参数错误误判为协议性能问题。
一、VMess 与 VLESS 的核心区别
先给结论:协议类型必须与服务端一致。VMess 服务端不能通过把客户端 Type 改成 VLESS 来连接,反过来也一样。即使地址、端口和 UUID 完全相同,协议握手格式不同仍会导致失败。已有订阅从你的服务商处获取,手动输入时也应以同一份完整参数为依据。
| 核对项 | VMess | VLESS |
|---|---|---|
| 用户标识 | 通常使用 UUID,与服务端用户配置对应 | 通常使用 UUID,与服务端用户配置对应 |
| 协议自身的加密 | 有协议层认证与数据加密机制,具体取决于所选加密方式 | 基础协议不内置数据加密,需结合外层安全传输判断安全性 |
| 传输搭配 | 按服务端配置使用 TCP、WebSocket 等传输 | 按服务端配置使用 TCP、WebSocket 等传输 |
| TLS | 与协议内的加密设置是两项不同配置 | 常用于提供外层传输保护,不能因使用 UUID 就省略 |
| 修改协议类型 | 必须同时有对应的服务端支持,不能只改客户端 Type | |
“VLESS 更轻量”描述的是协议设计取舍,并不等于任何网络下都更快。实际体验还受服务器负载、线路拥塞、传输方式及本地网络影响。比较不同地址的两个节点,不能单凭测速结果推导 VMess 与 VLESS 的普遍优劣。
二、UUID、加密方式与 TLS 分别负责什么
UUID 用于标识用户,不是服务器地址,也不是 TLS 证书。它通常写成由连字符分隔的十六进制字符串。复制时要保留完整内容,不混入空格或换行;同一个 UUID 能否用于不同协议,由服务端是否配置了对应用户决定,不能由字符串格式推断。
VMess 的加密选项与 TLS 开关属于不同层。VMess 协议内可以采用 AES-128-GCM、ChaCha20-Poly1305 等方式;实际应按服务端参数及应用提供的选项核对。看到 TLS 已启用,不代表可以随意改动 VMess 的加密设置。
判断顺序:先确认安全传输,再判断是否可用
若参数是 VLESS 且没有启用 TLS,先向服务商核实是否有明确的外层安全传输设计;不要把“UUID 已填”或“端口为 443”当成连接已加密的证据。
TLS 还涉及服务器身份校验。连接地址可以是 IP,而用于证书校验的 Server Name 是域名,两者不必相同。不要为消除报错而直接跳过证书校验;应先核对 Server Name、证书域名及设备日期时间。VMess 的认证也对时间同步有要求,设备时间明显偏差时,应先恢复系统自动时间再重试。
三、在 Home → Add Server 中逐项填写
从 Home 进入 Add Server,先确定 Type,再填写地址和认证信息。不同协议或传输方式会显示不同字段;没有显示的项目不应借用其他字段硬填。界面布局可能随应用调整,核对重点是字段含义与服务端要求一致,而不是照搬某张旧截图的位置。
- Type:选择服务商明确提供的 VMess 或 VLESS。导入后也要查看类型,不能只看备注名称。
- Address 与 Port:Address 只填连接用的主机名或 IP,不把整条分享链接填进去。Port 使用服务商给出的数值;例如参数写 8443,就不能因为启用了 TLS 改成 443。
- UUID:完整复制用户标识。VMess 若另有 Alter ID 参数,按实际资料填写;现代 VMess AEAD 配置通常使用 0,VLESS 不使用 VMess 的 Alter ID 机制。
- VMess 加密设置:核对服务商指定的方式。不要把协议的加密选项与 TLS、WebSocket 混成同一个开关。
- 传输设置:按提供的信息选择 TCP 或 WebSocket 等方式。使用 WebSocket 时,再检查 Host 与 Path;Path 中的前导斜杠也属于参数。
- TLS 与 Server Name:确认是否启用、校验域名是什么,以及是否存在额外要求。若提供了 Flow 等扩展参数,也必须确认当前所选配置支持并正确对应。
四、TCP 与 WebSocket:把传输参数分开核对
VMess、VLESS 描述代理协议,TCP、WebSocket 描述承载方式,TLS 描述安全传输的一部分。比如“VLESS + WebSocket + TLS”是一组组合关系,不是三个可随意互换的协议选项。服务端使用 WebSocket 时,只填对 UUID 和 TLS 仍不足以完成连接。
两种常见传输组合的检查重点
TCP + TLS
- 核对 Address、Port 与 UUID。
- 确认传输选择与服务端一致。
- 核对 TLS 的 Server Name 和证书校验。
- 若服务商另有扩展参数,逐项确认支持情况。
WebSocket + TLS
- 先完成地址、端口、UUID 与 TLS 核对。
- 再逐字检查 WebSocket 的 Host。
- 保留 Path 的大小写、斜杠及必要查询参数。
- 区分连接地址、Host 与 Server Name 的用途。
不要默认 Address、Host 与 Server Name 三者相同;它们分别参与连接目标、WebSocket 请求和 TLS 身份校验。
例如连接地址是 edge.example.com,WebSocket Host 是 ws.example.com,Server Name 是 tls.example.com,这三个字段可以在特定部署中各不相同。是否如此必须由实际配置决定。将它们全部替换为连接 IP,可能造成 TLS 校验失败,或请求没有被转发到正确的服务。
五、连接测试:先排除 Global Routing 的影响
保存节点后,在 Home 选中它,再核对 Global Routing。该设置控制流量如何分配,不会把 VMess 转成 VLESS。Config 是按配置规则处理,Proxy 用于将进入代理处理范围的流量交给代理;Direct 则用于直连。Scene 按已设置的场景处理,不能仅凭名称判断当前实际出口。
Config:恢复日常规则
推荐节点单独验证可用后,用 Config 检查实际规则命中。规则可以指定 PROXY、DIRECT 或 REJECT,不能假设所有请求都经过当前节点。
适合:已有配置下的日常使用与分流核对
Proxy:临时隔离规则因素
测试时临时选择 Proxy,并固定同一个节点与测试目标,减少规则导致直连的干扰。测试结束后恢复原有 Global Routing 设置。
适合:确认问题来自节点连接还是分流规则
Direct:检查本地网络基线
用于核对本地网络能否直接访问原本可直连的目标。此时网页可打开,不能证明 VMess 或 VLESS 节点正常。
适合:排除 Wi-Fi、蜂窝网络及本地连接故障
测试时一次只改变一个条件。先固定网络、节点和目标,记录是否超时、是否出现 TLS 错误、是否只有特定网站失败,再更换本地网络复测。端口可达或延迟有数值,只说明相应测试得到响应,不等于代理认证、传输路径及完整请求都成功。
- 连接立即报 TLS 错误:先查 Server Name、设备时间与证书校验,不先改 UUID。
- WebSocket 握手出现 404 等 HTTP 状态:优先核对 Host、Path 与服务端转发路径;状态本身不能证明 UUID 正确。
- 长时间超时:先查 Address、Port 与网络可达性,再核对传输和认证;超时不能唯一定位某一字段。
- Proxy 可用而 Config 下部分目标失败:检查 Config 中规则顺序及命中策略,而不是立即更换协议。
六、导入、更新与常见填写问题
已有订阅优先按服务商提供的导入方式添加,再检查导入后的 Type、传输和 TLS 信息。订阅更新可能覆盖节点参数,因此手动修改前应保留原始资料。更新后出现异常时,先比较地址、端口与传输参数是否改变,不要连续修改多项后再尝试回忆原值。
有 UUID,为什么还是连不上?
UUID 只解决用户标识的一部分问题。回到 Home → Add Server 对应的节点编辑页,按 Type、Address、Port、UUID、传输、TLS 的顺序核对。尤其不要遗漏 WebSocket 的 Host、Path 或 TLS 的 Server Name。
把 VMess 改成 VLESS 会不会更快?
不能直接改。先从你的服务商处获取对应的 VLESS 完整参数,单独保存为另一条记录。只有在服务端、线路和测试条件可比较时,测试结果才有参考意义;不同线路的差异不能归因于协议名称。
订阅更新以后,之前修改的 Path 不见了怎么办?
先确认是否由订阅重新下发了参数,向服务商核实最新值。确需临时验证时,可将参数单独保存为手动记录再测试,避免将订阅管理的记录当成长期手动配置。不要反复填回未经确认的旧 Path。
开启 On Demand 能修复协议错误吗?
不能。Settings → On Demand 管理按需连接条件,不修正 UUID、TLS 或传输字段。先验证手动连接可用,再核对 On Demand;测试期间保持触发条件稳定,避免自动连接状态变化干扰判断。
最终检查可以收敛为一句话:先让协议类型与服务端对应,再让传输与 TLS 参数逐项对应,最后确认请求确实走向预期策略。若仍无法定位,向服务商提供已遮盖凭据的字段信息、网络类型和错误现象,比只描述“VMess 慢”或“VLESS 不通”更有助于排查。更多操作入口可查看节点管理与Global Routing 使用说明。