小火箭节点链接格式详解:ss://、vmess://、vless://、trojan:// 与订阅链接有何不同

拆解四种分享链接的字段结构,说明单条节点链接与订阅地址的本质区别,以及在 Add Server 和 Subscribe 中分别怎么用。

本文速览

Shadowrocket(小火箭)的单条分享链接描述一个连接条目,订阅地址则用于获取并更新一组条目。本文适合已经持有自己的服务商配置或订阅的用户:先辨认链接前缀,再检查地址、端口、认证与传输字段,最后在 Add Server 中核对单条配置,或通过 Subscribe 保存订阅。本页示例全部使用 example.com 与演示凭据,仅解释格式,不能用于实际连接。

一、先区分分享链接与订阅地址

以 ss://、vmess://、vless://、trojan:// 开头的文本,通常属于单条连接的分享格式。它把协议所需字段包装成一段可复制的文本;导入以后,Shadowrocket 将字段保存为 Home 中的连接条目。名称只是便于识别的备注,不能替代地址、端口或认证信息。

订阅地址通常以 https:// 开头。Shadowrocket 请求这个地址后,读取服务器返回的订阅内容,再解析其中的条目。因此,订阅地址不是某一种代理协议;同一份订阅可以包含不同协议的条目。普通网页地址也可能以 HTTPS 开头,能在浏览器打开并不等于它能作为 Subscribe 使用。

4 种
本文拆解的分享前缀:ss / vmess / vless / trojan
8388
下文 Shadowsocks 示例端口,不是固定要求
443
下文 TLS 示例端口,实际值由已有服务决定

二、ss://:认证字段与服务器地址

Shadowsocks 的常见 SIP002 分享格式,将加密方法和密码组成 method:password,经 Base64URL 编码后放在 @ 前面;后面接服务器地址与端口。下例中的认证部分解码后是 aes-128-gcm:test,其中 test 仅为演示密码。

ss://[email protected]:8388#SS%20Demo
位置示例内容核对方法
协议前缀ss://对应 Shadowsocks,不是 HTTPS 地址。
认证部分YWVzLTEyOC1nY206dGVzdA解码得到加密方法与密码,导入后分别核对。
服务器example.com:8388域名与端口都必须符合已有服务参数。
备注#SS%20Demo%20 表示空格,显示名称为 SS Demo。

还可能遇到较早的格式:将 method:password@host:port 整体编码,再放到 ss:// 后面。这种形式在编码文本外看不到 @,不能因此断定它缺少服务器地址。另有链接通过查询参数携带插件信息;如果已有服务要求插件,仅恢复加密方法、密码和端口并不构成完整配置。

  • 不要因为认证文本看起来随机,就把它当成另一个订阅地址;它可能只是编码后的字段。
  • Base64URL 常用 -、_ 代替普通 Base64 中的部分字符,末尾补位也可能省略,不宜手工改写。
  • 加密方法与服务器设置必须一致。端口写成 8388 不表示任何 Shadowsocks 服务都使用该端口。

三、vmess://:编码后的 JSON 描述

常见 VMess 分享格式是 vmess:// 加上 Base64 编码的 JSON。与前面的 Shadowsocks 示例不同,服务器地址通常藏在 JSON 的 add 字段中,而不是直接出现在链接尾部。下面展示的是解码后的结构,不是可直接粘贴到 Subscribe 的地址。

{
  "v": "2",
  "ps": "VMess Demo",
  "add": "example.com",
  "port": "443",
  "id": "00000000-0000-4000-8000-000000000000",
  "aid": "0",
  "scy": "auto",
  "net": "tcp",
  "type": "none",
  "host": "",
  "path": "",
  "tls": "tls",
  "sni": "example.com"
}

v 描述分享格式,不是 Shadowrocket 的应用版本。ps 是备注,add 与 port 是连接目标,id 是 UUID 认证信息,aid 对应 Alter ID。示例中的全零主体 UUID 只是格式演示,应使用已有服务提供的完整值;不能靠修改备注修复认证错误。

  • net 描述传输方式。若已有配置采用 WebSocket,通常还需要核对 host 与 path,不能套用上面的 TCP 示例。
  • tls 与 sni 涉及 TLS 设置。连接地址和 TLS server name 可以不同,应按原配置保留。
  • scy 描述 VMess 加密设置;它与 TLS 是两个层面的字段,不能互相替代。
  • 编码文本可能包含补位字符或因转发而被换行。应复制原始完整链接,不要只取第一行,也不要把包裹它的引号一并复制。

四、vless:// 与 trojan://:相似外形,不同认证

VLESS 与 Trojan 的常见分享链接都接近 URI 结构:前缀后是认证信息,@ 后是服务器地址和端口,? 后是查询参数,# 后是备注。外形相近不代表可以只改前缀:VLESS 通常使用 UUID,Trojan 使用密码,服务端协议也必须对应。

vless://[email protected]:443?encryption=none&security=tls&type=tcp&sni=example.com#VLESS%20Demo

trojan://[email protected]:443?security=tls&type=tcp&sni=example.com#Trojan%20Demo
字段VLESS 示例Trojan 示例
认证UUID密码 demo-password
目标example.com:443example.com:443
传输type=tcptype=tcp
TLSsecurity=tlssecurity=tls
server namesni=example.comsni=example.com

VLESS 示例中的 encryption=none 是协议字段,不等于这条连接没有使用 TLS。查询参数还可能描述 WebSocket 路径、Host、flow 或其他传输细节;不同分享格式对字段名的约定可能存在差异。导入成功之后,仍应打开条目核对这些信息是否按原配置保留。

  • 密码包含 @、#、? 等保留字符时,需要按 URI 规则编码,否则可能被误认成字段分隔符。
  • IPv6 地址在 URI 中通常使用方括号包围,再接端口,避免地址内的冒号与端口分隔符混淆。
  • 备注可以改成便于识别的名称;UUID、密码、SNI 和路径则不应凭名称猜测。
  • 443 只是示例端口。TLS 是否启用、使用哪个端口以及证书对应的 server name,都由已有服务决定。

五、在 Add Server 与 Subscribe 中分别操作

先判断拿到的是单条分享链接还是订阅地址,再选择入口。Home 管理连接条目,Config 管理配置文件,Settings 管理应用设置。把订阅地址直接填到普通连接的服务器字段,不能让应用自动把它当成订阅解析。

  1. 识别前缀

    检查文本开头。四种协议前缀按单条分享链接处理;HTTPS 地址则先核对它是否确实是已有服务提供的 Subscribe 地址,而非账户网页。

  2. 核对单条

    在 Home 右上角「+」进入 Add Server。手动添加时,在 Type 选择对应协议,按已有参数填写地址、端口与认证信息;使用分享链接导入后,也应打开条目检查这些字段。

  3. 添加订阅

    在 Home →「+」→ Add Server 中,将 Type 设为 Subscribe,把自己的订阅地址填入 URL,设置便于辨认的备注后保存。不要把单条 ss:// 链接填到订阅 URL 中。

  4. 检查更新

    回到 Home,下拉刷新订阅并查看是否出现条目。更新完成后,检查数量、协议及关键字段;若服务端调整了内容,列表也可能随之改变。

  5. 验证连接

    选择需要测试的条目,按系统提示允许 VPN 配置并开启连接,再检查实际请求表现。字段解析成功、订阅更新成功与目标网站可访问是三个不同结果,应分别确认。

https://example.com/sub?token=xxxx

上面的地址仅展示 HTTPS 订阅的形态,不是可用订阅。真实地址的路径、参数及 token 应完整保留,不能删除看似多余的查询参数。订阅更新可能替换由订阅管理的条目;需要长期保留的手动修改,应先记录原值,再确认更新后的结果。

六、导入之后,检查 Global Routing 而非修改协议

链接解决的是「如何连接到服务器」,Rule 解决的是「请求采用什么策略」。当条目可以连接、但请求没有按预期经过它时,应检查 Home → Global Routing。下面的推荐仅针对已有规则配置的日常使用姿态,不是对协议或服务的推荐。

Config

推荐

按当前配置处理请求。检查 Config 中启用的配置,以及 Rule 的先后顺序和目标策略;配置中指定 DIRECT 的请求不会因为选择了某个连接条目就自动改走代理。

适合:已有明确规则、需要按目标分别处理请求。

Proxy

使用代理路由姿态,可用于暂时排除 Rule 分流对测试的影响。切换前先确认选中的代理或策略组;测试结束后恢复原来的路由设置。

适合:已核对连接字段,需要缩小规则问题的排查范围。

Direct

使用直连路由姿态。此时网页能打开,不能据此证明刚导入的代理条目可用;需要测试代理链路时,应明确切换到对应姿态。

适合:临时确认直接网络访问的表现。

Global Routing 中的 Scene 用于场景设置,应检查应用内对应的场景条件,不应把它当成分享链接中的协议参数。Settings → On Demand 管理按需连接行为,也不会补齐链接缺失的 UUID、密码或传输路径。更多字段解释可查看配置字段说明,基础概念见概念速查。

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT

这份片段只演示规则顺序:访问 example.com 及其子域时使用 PROXY,其他未命中的请求由 FINAL 交给 DIRECT。DOMAIN-SUFFIX 按域名后缀匹配;GEOIP 和 IP-CIDR 属于 IP 相关规则,不能写在分享链接的认证字段里。把链接备注改为 PROXY,也不会生成任何分流规则。

七、格式错误、更新失败与凭据保护

复制后提示格式不对,先查哪里?

先查看开头是否完整,再检查是否混入空格、换行、中文标点或消息中的说明文字。对于 VMess,确认复制的是整个编码文本;对于 VLESS 和 Trojan,确认 @ 后仍有地址与端口。不要用改协议前缀的方式强行导入。

订阅地址能打开,却没有条目?

核对 Home →「+」→ Type 是否为 Subscribe,以及 URL 是否为完整的订阅地址。返回登录页面、错误页面或普通 HTML 的地址不等于有效订阅。联系自己已有服务的管理方确认返回内容格式,并在 Home 重新刷新检查。

订阅更新一直超时怎么办?

先区分网络超时与服务器返回的认证错误。若已有可用连接,可在 Settings → Subscribe 检查 Update via Proxy,再回到 Home 刷新;该设置只改变订阅请求的路径,不能修复失效 token、错误 URL 或服务端异常。

导入成功,但还是无法访问?

打开该条目,依次核对协议、地址、端口、认证、TLS server name 和传输参数,再检查 Home → Global Routing。若切换姿态后表现不同,继续检查 Config 的 Rule;若所有姿态下该条目均无法建立连接,应回到已有服务参数核对,而不是随意换端口。

发截图求助,要遮住哪些内容?

遮住密码、UUID、完整订阅 URL 与 token,也不要把完整二维码公开。二维码通常只是分享文本的另一种载体。若凭据已公开,应通过已有服务的管理入口重置相关认证,再更新 Shadowrocket 中的条目。

Shadowrocket 获取与核验

Shadowrocket 是 Apple 平台的付费客户端,唯一获取入口是 App Store。核对开发者 Shadow Launch Technology Limited、官方图标与应用 ID 932747118。客户端一次性买断 ≠ 线路套餐;系统要求以 App Store 页面标注为准。首次配置请使用自己已有的服务资料。

去正版核验页 看教程
App Store 正版核验查看购买与恢复说明