Shadowrocket VMess 与 VLESS 区别:UUID、加密与传输方式怎么看

对照 VMess 与 VLESS 在加密层、UUID 校验和常见传输组合上的差别,说明在 Shadowrocket 里填写这两类节点时需要留意哪些字段。

本文速览

本文适合已经持有自己的服务商与订阅、需要核对 VMess 或 VLESS 参数的用户。先区分协议认证、协议加密、TLS 与传输方式,再按地址、端口、UUID、服务器名称和传输参数逐项检查;不要仅修改协议名称就把一条配置当作另一种协议使用。

一、VMess 与 VLESS:先分清协议层和传输层

Shadowrocket(小火箭)中的 VMess 与 VLESS 是两种不同的代理协议。它们都可以使用 UUID 作为用户标识,但请求格式和认证处理并不相同。服务器开放的是哪种协议,客户端就必须选择对应类型;同一个地址、端口与 UUID,并不代表服务器同时接受两种协议。

VMess 具有协议自身的认证与数据加密机制,实际使用的加密选项需要与服务端及客户端支持情况相符。VLESS 的基础协议不提供负载加密,常见部署会配合 TLS 等安全层。VLESS 配置中的 encryption=none 描述的是这一协议层,不等于整个连接必然以明文传输。

核对项目VMessVLESS
用户标识使用 UUID,需与服务端用户记录匹配。使用 UUID,需与服务端用户记录匹配。
协议负载加密具有协议加密机制,加密选项不能随意照抄其他节点。基础协议不提供负载加密,需另外核对安全层。
TLS可以与 TLS 组合;有协议加密不代表应忽略证书验证。常见组合使用 TLS;不能从协议名称推断 TLS 已开启。
常见传输可见 TCP、WebSocket 等组合,需匹配服务端。可见 TCP、WebSocket、gRPC 等组合,需匹配服务端。
互换条件必须有对应的服务端入口与完整参数,不能只改客户端 Type。

协议名称只说明连接的一部分。完整配置还包含传输和安全层,例如“VLESS + WebSocket + TLS”同时指定了协议、传输与安全层三个维度。遇到连接失败时,应按层核对,而不是把所有错误都归因于 UUID。

二、UUID 怎么核对:格式正确不等于认证通过

常见 UUID 文本是由十六进制字符与连字符组成的 36 个字符,分为 8-4-4-4-12 五组。它是用户身份参数,不是服务器地址,也不是可自行更换的备注。重新生成一个格式正确的 UUID,仍然无法通过没有登记该标识的服务端认证。

36 字符
常见带连字符 UUID 的文本长度
5 组
UUID 常见分组:8-4-4-4-12
443
TLS 常见端口之一,不是协议固定端口
  1. 从用户已有订阅或原始参数记录取得 UUID,不从备注、域名或订单编号推测。
  2. 核对复制内容前后是否混入空格、换行或中文标点,避免把整段说明粘贴进用户标识字段。
  3. 若订阅更新后 UUID 已变更,确认正在编辑的是更新后的条目,而不是同名的旧条目。
  4. 涉及求助时遮盖完整 UUID 和订阅令牌。UUID 虽不是传统密码,仍属于连接凭据。

判断方法:格式检查之后,再核对来源

UUID 长度和分组都正确时,不要继续随机修改字符。回到同一条原始记录,同时核对协议类型、地址、端口与用户标识,避免把两条配置的字段拼接到一起。

VMess 的认证还依赖时间条件。设备时间明显偏离时,即使 UUID 正确也可能失败。可先检查 iPhone 或 iPad 的系统日期与时间是否准确,再重复连接;不要通过修改加密方式来补偿设备时间错误。

三、TLS、SNI、Host 与 Path 分别检查什么

TLS 负责连接安全层,SNI 用于 TLS 握手中的服务器名称指示;WebSocket 的 Host 与 Path 则属于后续的 HTTP 请求。它们可能使用相同域名,也可能按服务端设计使用不同值,不能因为“看起来像域名”就互相替换。

例如,已有记录若明确写着地址 edge.example.com、端口 443、TLS 服务器名称 tls.example.com、WebSocket Host ws.example.com、Path /gateway,就应分别核对这五项。这里的域名与路径仅用于解释字段关系,不是可用连接配置。

四、在 Shadowrocket 中导入和检查参数

已有订阅时,先保留订阅提供的完整组合,再进入单条记录核对。手动输入只适合原始参数齐全的情况。Shadowrocket 的 Home 用于查看和选择连接条目,Config 用于配置文件与规则,Settings 用于应用设置;协议认证字段不应填写到 Config 的规则行中。

保留订阅导入的参数

推荐

已有有效订阅时,导入后检查协议、端口、TLS 和传输参数,不随意改写 UUID 或 Type。先确认原始条目是否可用,再进行单项调整。

适合:已有订阅、需要减少手工抄录差错

按完整记录手动填写

逐项录入服务端给出的参数;字段缺失时先确认,不把缺省值当作正确答案。保存后记录调整项,便于恢复原配置。

适合:已有完整单条参数、需要定位具体字段问题

  1. 在 Home 点右上角添加按钮,使用 Type 选择对应类型;导入已有订阅时选择 Subscribe,并在 URL 中填入自己的订阅地址。
  2. 保存后回到 Home,展开订阅分组,进入目标条目的编辑页面,先确认 Type 是 VMess 还是 VLESS。
  3. 依次核对地址、端口、UUID,再检查 TLS、服务器名称与传输参数。不同类型呈现的字段不同,以当前页面实际显示为准。
  4. 保存并返回 Home,选择刚检查的条目。确认 Global Routing 的当前姿态,再开启连接并发起一次新的网络请求。
  5. 订阅更新后重新检查相关条目;本地手工改动可能被更新结果覆盖,不要把订阅源记录与临时试验配置混淆。

订阅 URL 通常包含令牌,分享截图或日志前应隐藏完整链接。本文以用户已经持有自己的订阅为前提,本站不提供、不销售、不推荐节点或订阅。

五、连不上时按层排查,不用协议名称推断速度

“端口能连通”“出现延迟数值”和“目标网页能够正常访问”不是同一项验证。端口可达只能说明某个入口响应,不能证明 UUID 认证、TLS 校验或 WebSocket 路由都成功。下面按可观察现象区分检查方向,不将任何一种现象认定为唯一原因。

可观察现象先检查下一步
连接超时地址、端口、当前网络可达性核对端口原值,换用自己的另一网络重复同一请求。
证书或名称校验错误设备时间、TLS 服务器名称、证书对照原始记录,不以跳过验证作为默认处理。
连接后立即断开Type、UUID、VMess 加密选项及时间恢复原始参数,再核对服务端入口是否对应。
WebSocket 出现 404 或 400Host、Path、反向代理配置检查路径大小写和传输类型;状态码本身不等于 UUID 错误。
只有部分域名访问异常DNS 与规则命中结果确认该请求是否实际经过当前所选条目。

在 Home → Global Routing 中,Proxy 可用于临时隔离规则影响,Direct 不用于验证代理条目是否可用,Config 按配置规则处理流量;若当前使用 Scene,还需核对场景实际应用的设置。规则中 DOMAIN-SUFFIX、IP-CIDR、GEOIP 与 FINAL 的匹配结果可能让不同请求走向不同策略。测试结束后恢复原先姿态,避免把临时排查设置长期保留。

判断方法:先确认请求走向,再比较连接表现

需要比较两条已有配置时,固定设备、网络、目标地址与测试方式,并确认请求确实通过各自条目。服务器位置、拥塞和传输组合不同的结果,不能直接归结为 VMess 与 VLESS 的固有速度差异。

六、UUID、加密与订阅更新的常见问题

我能把 VMess 的 Type 改成 VLESS 继续用吗?

不能只改 Type。先取得已有服务端对应的 VLESS 入口参数,再新建条目并核对地址、端口、UUID、安全层与传输。即使服务端复用了同一 UUID,也不代表两个入口的其他参数相同。

VLESS 里看到 none,是不是所有内容都没加密?

先确认它描述的是哪个字段。协议层的 encryption=none 不说明 TLS 的状态;进入该条目的编辑页,核对 TLS 是否启用、服务器名称是否正确,并保留证书验证。网站自身的 HTTPS 也属于另一层,不能替代对代理安全层的核对。

订阅更新后同名条目突然不能连接,先改 UUID 吗?

先回到 Home 检查实际选中条目是否属于更新后的分组,再对照其 Type、地址、端口和传输参数。确认没有误选旧条目后,再与自己的原始订阅记录核对 UUID;不要随机生成替代值。

一个配置能用,另一个不行,是 VLESS 一定更快吗?

单次成功或失败不能证明协议速度。按相同目标重复请求,先排除地址、端口、TLS 和传输差异,再记录延迟、断连现象及发生条件。没有控制变量的结果只适用于当次连接,不能推广成协议排名。

七、保存配置前的最终核对

协议选择应服从已有服务端的实际配置,而不是追求某个名称。VMess 与 VLESS 的共通检查顺序是入口可达、身份参数、安全层、传输参数,最后再看规则与目标请求。一次只改一项,并保留原始记录,才能区分是哪次调整改变了结果。

App Store 正版核验 →