Shadowrocket VMess 和 VLESS 有什么区别:添加节点前要看懂的几个字段

对照 Add Server 里的 UUID、alterId、加密方式与传输层字段,讲清 VMess 与 VLESS 在认证和加密上的差别,以及填错后连接失败的典型表现。

本文速览

VMess 与 VLESS 不是可以直接互换的 Type。两者都使用 UUID 标识用户,但认证机制与协议内加密不同;TLS、传输方式、Host 和 Path 还要分别匹配服务端。本文适合已经持有自己的服务商配置或订阅、准备在 Shadowrocket(小火箭)中导入或手动填写的用户,按“选对 Type → 核对认证 → 核对传输 → 分层排错”的顺序操作。

先给结论:Type 必须与服务端一致

VMess 是带有认证及可选载荷加密机制的代理协议;VLESS 使用更精简的协议结构,本身不提供载荷加密,通常需要由外层安全机制保护传输。两者使用相同格式的 UUID,不代表同一个服务端入口同时支持两种协议。把已有 VMess 条目的 Type 改成 VLESS,其他字段原样保留,不能完成协议转换。

添加之前先确认资料是否齐全。除了 Address、Port 和 UUID,还要确认传输方式及安全设置。端口 443 只是一个端口号,不能据此推断“必然启用 TLS”,也不能推断使用 VMess 还是 VLESS。

核对项VMessVLESS
用户标识使用 UUID,并参与 VMess 认证流程使用 UUID,采用 VLESS 的认证结构
alterId与旧式认证兼容有关;现代 AEAD 配置通常为 0没有对应的 alterId 参数
协议内加密存在 Security 相关选项,需符合服务端要求协议本身不加密载荷;链接里的 encryption 通常为 none
外层安全独立核对 TLS 等设置独立核对 TLS 等设置,不能把 none 当成安全层配置
传输方式TCP、WebSocket 等需与服务端一致TCP、WebSocket 等需与服务端一致

结论:先确认完整参数,再选择 Type

只有“地址、端口、UUID”三项时,先向自己的服务商核对传输与安全设置;不要通过切换 Type 或轮流尝试加密选项补齐缺失信息。

添加步骤:优先保留已有配置的完整字段

在 Home 中使用添加入口进入 Add Server,选择资料指定的 Type,再逐项填写。手动添加适合资料完整、需要核对字段的情况;若已有完整分享链接或订阅,导入可以减少漏填 Host、Path 等参数的机会。导入后仍应打开条目核对,而不是只看显示名称。

导入已有完整配置

推荐

使用用户已有的分享链接或订阅导入,随后检查 Type、Address、Port、TLS 与传输设置。推荐的是减少转录错误,不代表任意来源的配置都可直接信任。

适合:服务商已经提供完整链接或订阅,参数较多

Add Server 手动填写

按参数表逐项录入,先选 Type,再检查随协议变化而出现的选项。保存前确认没有把另一种协议的参数照搬过来。

适合:已有完整参数表,需要逐项核对或定位差异

  1. 在 Home 确认当前要使用的条目,进入其编辑页面检查 Type。不要仅凭名称中的“VMess”或“VLESS”判断实际类型。
  2. 把 Address 与 Port 分开填写。Address 通常是域名或 IP,不要把整段带路径的分享链接填入地址字段。
  3. 复制完整 UUID,核对前后是否多出空格、换行或引号,再填写对应的协议选项。
  4. 检查 TLS 与传输设置,保存后重新打开条目,确认字段没有遗漏。

单条分享链接描述一个连接条目,订阅地址则用于取得并更新一组条目。例如 https://example.com/sub?token=xxxx 只是不可用的订阅格式示例,不是 Address 的填写示例。订阅更新可能重新生成条目,排错前应记录手动修改的位置,避免把更新覆盖误判为设置没有保存。

认证字段:UUID 与 alterId 分别检查

UUID 是用户标识,不是服务器域名,也不是订阅地址中的 token。常见文本格式为 36 个字符,包含连字符,例如 123e4567-e89b-42d3-a456-426614174000。这里仅演示格式,不是可用凭据;外形正确也不代表该 UUID 已获服务端授权。

VMess 的 alterId 不能作为延迟或速度调节项。旧式 VMess 认证曾使用非零 alterId,现代 VMess AEAD 配置通常使用 0。如果旧资料写着其他数值,应核对服务端当前使用的认证方式,而不是自行把数值加大。VLESS 没有对应的 alterId,不需要把它移植到其他字段。

加密与传输:none 不等于关闭 TLS

协议内加密和外层 TLS 属于不同层。VMess 的 Security 选项可能涉及 auto、aes-128-gcm、chacha20-poly1305 等取值,应以服务端要求及应用实际提供的选项为准。不要把 VMess 的加密值填入 VLESS 的对应位置,也不要为了追求速度随意选择 none。

在 VLESS 分享参数中,encryption=none 指 VLESS 本身不提供载荷加密,不代表外层连接无需保护。如果原配置使用 TLS,导入后仍要保留 TLS;如果配置使用其他安全机制,也必须完整匹配其专用参数,不能仅靠开启普通 TLS 替代。

核对方案:将安全层与传输层分开记录

TLS 安全层
  • 确认服务端是否要求 TLS,不根据端口猜测。
  • 检查 SNI,即 TLS 握手使用的服务器名称。
  • 核对证书覆盖的域名与 SNI 是否匹配。
  • 保留证书校验,针对报错修正域名或证书。
WebSocket 传输层
  • 确认传输方式为 WebSocket,而非普通 TCP。
  • 核对 Host,不能默认它等于 Address。
  • 逐字符核对 Path,保留开头的斜杠。
  • 区分大小写,并保留资料要求的路径参数。

Address、SNI 与 WebSocket Host 可以相同,也可以不同;逐项使用原配置的值,不做自动替换。

例如,假设参数表写着 Address 为 edge.example.com、Port 为 443、SNI 为 tls.example.com、WebSocket Host 为 web.example.com、Path 为 /connect,就应按五个独立字段检查。这些都是说明用途的假值;它们展示的是字段关系,不构成可连接的配置。

连接失败:按层排查,不凭延迟数值下结论

延迟测试得到数值,只能说明该测试涉及的步骤有响应,不能单独证明 UUID、TLS、传输与目标网站访问全部正常。不同测试方式覆盖的层次不同,排错时应记录测试方式、错误文本和发生位置。下表是现象与检查方向的对应关系,不是仅凭一条报错就能确定原因的诊断结论。

看到的现象先检查下一步操作
服务器域名解析失败Address 拼写及当前网络的解析情况核对原始地址,确认没有混入协议前缀或路径
连接超时或被拒绝Address、Port 与网络可达性核对端口是否与服务端当前监听端口一致
TLS 证书或握手错误TLS 开关、SNI、系统时间与证书修正不匹配项,不以关闭证书校验作为常规解决方法
WebSocket 握手返回 400 或 404Host、Path、传输方式及服务端路由逐字符对照路径;状态码本身不能证明 UUID 有误
握手后请求被关闭Type、UUID、VMess 认证参数恢复原始参数,再核对服务端是否接受该用户
测试有响应但网页打不开Global Routing、所选条目与 DNS确认请求实际使用该条目,再分开检查规则和解析
  1. 保存一份原始参数记录;包含 UUID 或订阅 token 的内容只保留在自己的安全位置,不直接公开。
  2. 在 Home 选中待测条目,临时将 Global Routing 设为 Proxy,以减少 Config 规则对判断的干扰。应用内保留流量与系统限制仍需考虑。
  3. 发起同一个网页请求,检查错误发生在连接、TLS、传输还是请求阶段;每轮只修改一个字段。
  4. 完成验证后恢复原来的 Global Routing。若 Proxy 下可用而 Config 下失败,再到 Config 检查规则命中与策略,不继续反复修改 UUID。

Config 模式会按配置规则决定请求使用的策略。例如 DOMAIN-SUFFIX,example.com,DIRECT 会让相应域名直接连接,即使 Home 中选中的条目本身可用,该请求也未必经过它。排除规则干扰的目的,是把“协议配置错误”和“请求没有使用该条目”分开。

常见问题:切换协议、订阅更新与字段缺失

VMess 能用,改成 VLESS 为什么立刻失败?

先恢复原来的 Type。服务端必须提供 VLESS 入口,并给出对应的端口、UUID、传输和安全参数,才能另建 VLESS 条目。客户端改名或切换 Type 不会改变服务端支持的协议。

VLESS 找不到 alterId,是不是少填了一项?

不是。alterId 属于 VMess 的相关参数。回到 Add Server 核对 Type 确实为 VLESS,然后按原资料填写 UUID、传输与安全设置,不要寻找其他字段代填 alterId。

只有 UUID 和 443 端口,能直接开 TLS 吗?

不能据此确定。先向自己的服务商核对 Address、TLS 要求、SNI 与传输方式;如果使用 WebSocket,还要取得 Host 和 Path。信息不齐时,暂停反复试填更容易保留有效排错线索。

订阅更新后,刚改好的 Path 又变回去了怎么办?

在 Home 打开更新后的条目,对照原始订阅参数与自己的修改记录。订阅内容由来源端决定,应让服务商修正源配置;需要临时验证时另建手动条目,避免把临时修改当作订阅已经修复。

VMess 与 VLESS 的选择首先取决于已有服务端支持什么,再看具体传输与安全配置,不能单凭协议名称推断速度。Shadowrocket 负责使用用户已有的配置;客户端购买和网络服务分别管理。本站不提供、不销售、不推荐节点或订阅。

App Store 正版核对