Shadowrocket VMess 和 VLESS 有什么区别:加密方式、传输层与填写字段对照

从加密、认证与传输层三个角度说明 VMess 与 VLESS 的差异,并对照 Shadowrocket 里两类节点需要填写的字段,帮你看懂服务商给的参数。

本文速览

VMess 与 VLESS 不能只通过切换 Type 相互转换:两者都常用 UUID 识别用户,但协议加密机制不同,外层还可能使用 TLS 与 WebSocket。本文适合已经持有服务商参数或订阅的用户,按“协议 → 认证 → 传输 → TLS”的顺序核对字段,再用 Global Routing 区分连接问题与规则问题。订阅与节点从你的服务商处获取。

一、先分清 VMess、VLESS、TLS 与传输层

在 Shadowrocket(小火箭)里,VMess 和 VLESS 是两种不同的代理协议,不是同一条连接的快慢档位。服务端使用哪一种,客户端就必须选择相同的 Type。即使服务器地址、端口和 UUID 完全一致,单独把 VMess 改成 VLESS,也不会让服务端自动接受另一种协议。

理解参数时,应把配置拆成几个独立层次。VMess 或 VLESS 决定代理协议和认证格式;TCP、WebSocket 等决定连接如何承载;TLS 负责相应连接上的加密与服务器身份验证。WebSocket 本身不等于加密,端口填写为 443 也不等于已经启用 TLS。

2 种
本文对照的协议:VMess / VLESS
443
常见 TLS 服务端口;实际值以服务商参数为准
4 层
核对顺序:协议、认证、传输、TLS

例如,“VLESS + WebSocket + TLS”表示用 VLESS 处理代理请求,通过 WebSocket 承载,并由 TLS 保护到相应 TLS 终止点的连接。这三个名称回答的是不同问题,不能拿其中一个去替换另一个。

二、加密与 UUID:VLESS 的 none 不等于整条连接没有保护

VMess 支持在协议层对数据进行加密。采用 AEAD 的 VMess 实现还会对相应协议数据进行认证保护;具体数据加密方式应与服务端兼容。客户端出现的 auto 等选项与 VMess 的加密选择有关,不能把它照搬成 VLESS 的配置要求。

VLESS 本身不提供 VMess 那样的协议层数据加密,常见参数中的 encryption=none 指的是这一层。若外面正确配置了 TLS,连接仍可获得 TLS 提供的传输保护。因此,“VLESS 没有内置数据加密”和“VLESS 连接一定是明文”是两回事;也不能据此关闭服务商要求的 TLS。

核对项VMessVLESS
用户凭据通常使用 UUID,与服务端用户配置一致。通常使用 UUID,与服务端用户配置一致。
协议层数据加密支持协议层加密,按服务端要求选择兼容设置。不提供这一层加密,常见 encryption 值为 none。
外层 TLS可与 TLS 组合,不由协议名称自动决定。可与 TLS 组合,不能因 none 就关闭 TLS。
AlterId属于历史兼容参数;现代 AEAD VMess 通常对应 0,不自行改成非零值。不使用 VMess 的 AlterId,不能照抄。
时间检查认证与时间有关,设备时间明显偏差可能造成失败。不是 VMess 的时间认证机制,但 TLS 证书有效期检查仍依赖正确时间。

UUID 是认证凭据,不是服务器域名,也不是订阅地址。两种协议使用相同外观的 UUID,不代表账号可通用。复制时不要附带引号、空格或换行;向他人发送诊断信息时应遮盖 UUID、订阅 token 和其他凭据。

三、Shadowrocket 填写字段:先看共同项,再看差异项

在 Home 中添加或编辑节点时,先核对 Type,再逐项填写。已有订阅的用户优先使用服务商提供的导入数据,避免手工转写丢失扩展参数。下表按字段含义整理;不同 Type 下显示的选项可能不同,应以当前界面和服务商说明为准。

字段或参数填写内容常见错误
Type明确选择 VMess 或 VLESS。只看节点名称猜协议;名称可自定义,不能作为依据。
服务器地址服务商提供的域名或 IP 地址。把完整订阅 URL 填进地址栏,或误加 https://。
Port填写服务商给定的端口整数,例如 443。认为 TLS 只能用 443,擅自覆盖实际端口。
UUID逐字符保持原值。把节点备注当作账号,或复制时漏掉字符。
传输设置按参数选择 TCP、WebSocket 等对应方式。认为两种协议都必须用 WebSocket。
TLS / SNI核对开关、服务器名称与证书要求。把连接地址机械复制为 SNI,忽略服务商指定域名。
WebSocket Host / Path启用 WebSocket 时,按服务端要求填写。漏掉 Path 开头的 /,或把 Host 与 SNI 当成同一字段。

服务器地址决定先连接到哪里;SNI 用于 TLS 握手中的服务器名称指示,并与相应证书验证设置有关;WebSocket Host 是 HTTP 请求中的主机信息。这些值有时相同,但职责不同。服务商分别给出时,应分别保留,不能为“看起来整齐”而统一修改。

  1. 先保留一份原始参数,确认 Type、地址、Port 与 UUID。
  2. 再核对传输方式;只有使用 WebSocket 时才处理相应 Host 与 Path。
  3. 最后核对 TLS、SNI 以及服务商要求的其他参数,不以关闭证书验证作为默认修复。
  4. 保存后回到 Home 选择该节点,进行实际请求测试;每次只改一项,便于判断原因。

四、订阅导入与手动填写:两种核对方案

订阅是批量提供或更新节点信息的入口,不是 VMess 或 VLESS 本身。一个订阅内可以包含不同协议;更新后节点地址、端口和传输参数也可能变化。导入成功只表示客户端读到了数据,不保证凭据仍有效或服务端当前可用。

核对方案:保留原始参数,减少重复手改

已有订阅
  • 订阅从你的服务商处获取,在 Home 添加订阅入口并完成更新。
  • 展开导入结果,检查 Type、地址与端口是否符合服务商说明。
  • 更新前记录手动改动;订阅更新可能重建或覆盖节点字段。
只有单个节点参数
  • 在 Home 添加节点,先选择正确的 Type。
  • 按字段表录入 UUID、传输与 TLS 参数,不混用两种协议的专属项。
  • 保留原始记录,参数变动时逐项对照,而不是反复猜测开关。

两种方式都以服务端配置为依据;订阅入口、节点凭据与应用购买记录分别管理。

订阅地址通常带有认证信息。示意地址 https://example.com/sub?token=xxxx 仅用于说明结构,不能用于导入。真实地址不要放到公开截图、聊天记录或日志中;订阅更新失败时,先区分地址过期、请求无法到达和返回内容无法解析,再向你的服务商核对。

五、连接测试:区分节点参数错误与 Global Routing 选择

Home 用于选择节点和连接,Config 管理配置文件与规则,Settings 包含应用设置。节点协议填写正确,不代表每个请求都会经过这个节点;Global Routing 决定流量处理姿态,Config 下还要结合当前生效规则判断。

Config

推荐

按当前配置规则选择处理策略;未命中前置规则的请求通常交给 FINAL。结果是否直连取决于配置,而不是固定“其余都直连”。

适合:已核对规则、需要按目标区分处理方式的日常使用。

Proxy

将流量交给代理路径,可用于暂时排除按目标匹配规则的影响。测试时仍需核对所选节点以及适用的排除设置。

适合:保持目标网站不变,检查所选节点是否能够完成请求。

Direct

使用直连路径;此姿态下网页能打开,不能证明刚填写的 VMess 或 VLESS 节点有效。

适合:对照本地网络是否可以直接访问同一个目标。

如果使用 Scene,还要核对相应场景的设置,不能只凭上一次选中的节点推断当前路径。排查时固定网络和测试目标,先记录原姿态,再短暂切换测试,完成后恢复原设置。On Demand 管理按条件建立连接,不会替你修正 UUID、SNI 或 WebSocket Path。

六、常见问题:速度、转换与导入后的异常

VLESS 一定比 VMess 快吗?

不能只凭协议名称判断。保持同一网络、相近测试时段和相同目标,记录请求完成情况与延迟,再核对服务器路径、拥塞和外层传输。若两条节点的服务器不同,就不能把差异全部归因于协议;VLESS 没有内置数据加密也不等于所有场景吞吐都更高。

直接把 Type 从 VMess 改成 VLESS 可以吗?

不可以据此完成转换。先从你的服务商处获取对应的 VLESS 参数,再在 Home 新建独立节点进行核对。服务端必须配置对应协议;UUID 相同也不能替代服务端支持,原 VMess 节点应保留以便对照。

UUID 和端口都对,为什么 WebSocket 还是连不上?

继续检查传输方式、Host、Path、TLS 和 SNI。例如服务端要求的 Path 是 /connect,填成 connect 或 / 就不是同一个路径。遇到 HTTP 状态错误时,结合服务商说明核对反向代理入口,不随机轮换域名;/connect 只是路径示意,不是通用值。

更新订阅后,之前能用的节点失败了怎么办?

先在 Home 确认当前选中的节点,再对照更新后的 Type、地址和传输参数,检查原先的手动改动是否被覆盖。若返回的数据缺少必需字段,保留已遮盖凭据的错误描述并向你的服务商核对,不自行猜测 UUID 或 TLS 设置。

七、核对应用来源与服务范围

Shadowrocket 是闭源商业应用,唯一购买安装入口是 App Store,采用一次性买断。核对时查看官方图标、开发者 Shadow Launch Technology Limited 和应用 ID 932747118。主要使用设备为 iPhone 与 iPad;系统要求、价格、兼容性与购买适用范围以 App Store 页面标注为准。

Shadowrocket 正版入口先核对 App Store 信息 →