本文适合已经持有自己的服务商与订阅、需要核对 VMess 或 VLESS 参数的用户。先区分协议认证、协议加密、TLS 与传输方式,再按地址、端口、UUID、服务器名称和传输参数逐项检查;不要仅修改协议名称就把一条配置当作另一种协议使用。
一、VMess 与 VLESS:先分清协议层和传输层
Shadowrocket(小火箭)中的 VMess 与 VLESS 是两种不同的代理协议。它们都可以使用 UUID 作为用户标识,但请求格式和认证处理并不相同。服务器开放的是哪种协议,客户端就必须选择对应类型;同一个地址、端口与 UUID,并不代表服务器同时接受两种协议。
VMess 具有协议自身的认证与数据加密机制,实际使用的加密选项需要与服务端及客户端支持情况相符。VLESS 的基础协议不提供负载加密,常见部署会配合 TLS 等安全层。VLESS 配置中的 encryption=none 描述的是这一协议层,不等于整个连接必然以明文传输。
| 核对项目 | VMess | VLESS |
|---|---|---|
| 用户标识 | 使用 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,仍然无法通过没有登记该标识的服务端认证。
- 从用户已有订阅或原始参数记录取得 UUID,不从备注、域名或订单编号推测。
- 核对复制内容前后是否混入空格、换行或中文标点,避免把整段说明粘贴进用户标识字段。
- 若订阅更新后 UUID 已变更,确认正在编辑的是更新后的条目,而不是同名的旧条目。
- 涉及求助时遮盖完整 UUID 和订阅令牌。UUID 虽不是传统密码,仍属于连接凭据。
判断方法:格式检查之后,再核对来源
UUID 长度和分组都正确时,不要继续随机修改字符。回到同一条原始记录,同时核对协议类型、地址、端口与用户标识,避免把两条配置的字段拼接到一起。
VMess 的认证还依赖时间条件。设备时间明显偏离时,即使 UUID 正确也可能失败。可先检查 iPhone 或 iPad 的系统日期与时间是否准确,再重复连接;不要通过修改加密方式来补偿设备时间错误。
三、TLS、SNI、Host 与 Path 分别检查什么
TLS 负责连接安全层,SNI 用于 TLS 握手中的服务器名称指示;WebSocket 的 Host 与 Path 则属于后续的 HTTP 请求。它们可能使用相同域名,也可能按服务端设计使用不同值,不能因为“看起来像域名”就互相替换。
- Address 与 Port:决定连接到哪里。TLS 并不强制使用
443,如果原始记录给的是8443,应保留8443。 - TLS 与服务器名称:核对 TLS 是否启用,以及用于名称校验和 SNI 的参数是否符合原始记录。地址为 IP 时,不应直接推断服务器名称也要填这个 IP。
- WebSocket Host:是 HTTP 层的主机信息,可能参与反向代理路由。漏填或误填可能让请求到达服务器却无法进入目标服务。
- WebSocket Path:通常以
/开头,需要精确对应服务端路径;大小写、末尾斜杠以及查询部分都可能影响路由。 - gRPC serviceName:属于 gRPC 的服务标识,不能把 WebSocket Path 原样填入后就认为配置等价。
例如,已有记录若明确写着地址 edge.example.com、端口 443、TLS 服务器名称 tls.example.com、WebSocket Host ws.example.com、Path /gateway,就应分别核对这五项。这里的域名与路径仅用于解释字段关系,不是可用连接配置。
四、在 Shadowrocket 中导入和检查参数
已有订阅时,先保留订阅提供的完整组合,再进入单条记录核对。手动输入只适合原始参数齐全的情况。Shadowrocket 的 Home 用于查看和选择连接条目,Config 用于配置文件与规则,Settings 用于应用设置;协议认证字段不应填写到 Config 的规则行中。
保留订阅导入的参数
推荐已有有效订阅时,导入后检查协议、端口、TLS 和传输参数,不随意改写 UUID 或 Type。先确认原始条目是否可用,再进行单项调整。
适合:已有订阅、需要减少手工抄录差错
按完整记录手动填写
逐项录入服务端给出的参数;字段缺失时先确认,不把缺省值当作正确答案。保存后记录调整项,便于恢复原配置。
适合:已有完整单条参数、需要定位具体字段问题
- 在 Home 点右上角添加按钮,使用 Type 选择对应类型;导入已有订阅时选择 Subscribe,并在 URL 中填入自己的订阅地址。
- 保存后回到 Home,展开订阅分组,进入目标条目的编辑页面,先确认 Type 是 VMess 还是 VLESS。
- 依次核对地址、端口、UUID,再检查 TLS、服务器名称与传输参数。不同类型呈现的字段不同,以当前页面实际显示为准。
- 保存并返回 Home,选择刚检查的条目。确认 Global Routing 的当前姿态,再开启连接并发起一次新的网络请求。
- 订阅更新后重新检查相关条目;本地手工改动可能被更新结果覆盖,不要把订阅源记录与临时试验配置混淆。
订阅 URL 通常包含令牌,分享截图或日志前应隐藏完整链接。本文以用户已经持有自己的订阅为前提,本站不提供、不销售、不推荐节点或订阅。
五、连不上时按层排查,不用协议名称推断速度
“端口能连通”“出现延迟数值”和“目标网页能够正常访问”不是同一项验证。端口可达只能说明某个入口响应,不能证明 UUID 认证、TLS 校验或 WebSocket 路由都成功。下面按可观察现象区分检查方向,不将任何一种现象认定为唯一原因。
| 可观察现象 | 先检查 | 下一步 |
|---|---|---|
| 连接超时 | 地址、端口、当前网络可达性 | 核对端口原值,换用自己的另一网络重复同一请求。 |
| 证书或名称校验错误 | 设备时间、TLS 服务器名称、证书 | 对照原始记录,不以跳过验证作为默认处理。 |
| 连接后立即断开 | Type、UUID、VMess 加密选项及时间 | 恢复原始参数,再核对服务端入口是否对应。 |
| WebSocket 出现 404 或 400 | Host、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 的共通检查顺序是入口可达、身份参数、安全层、传输参数,最后再看规则与目标请求。一次只改一项,并保留原始记录,才能区分是哪次调整改变了结果。
- Type 与服务端协议一致,Address、Port 与 UUID 来自同一条记录。
- VMess 加密参数按原始记录填写;VLESS 不套用 VMess 的加密字段含义。
- TLS、服务器名称、WebSocket Host 与 Path 或 gRPC serviceName 分别核对。
- Home 中选中了目标条目,Global Routing 的姿态与当前测试目的相符。
- 导出配置或分享排查信息前,隐藏 UUID、订阅 URL 和其他凭据。