小火箭分享链接格式解读:ss://、vmess://、vless://、trojan:// 与订阅链接的区别

单条分享链接只描述一个服务器,订阅链接是一份可刷新的服务器列表。本文说明各前缀的编码结构,以及导入 Shadowrocket 后在界面上的不同表现。

本文速览

本文适合已经持有自己服务信息、但无法判断应当导入哪一种链接的 iPhone 与 iPad 用户。先区分分享链接、订阅地址与规则配置,再识别四种常见前缀中的认证和传输字段,最后在 Home 核对导入结果与更新行为。所有示例均为不可用于实际连接的演示数据,本站不提供、不销售、不推荐节点或订阅。

1. 先区分单条分享、订阅地址与规则配置

Shadowrocket(小火箭)中的服务器参数、订阅来源和分流规则是三个不同层次。分享链接携带一个服务器的连接参数;订阅地址指向可以再次请求的远程内容;规则配置决定连接请求如何分流。即使它们都能以一段文本或一个 URL 的形式出现,也不能互相替代。

内容类型通常包含什么导入后的核对对象
单条分享链接协议、服务器地址、端口、认证信息与可选传输参数Home 中对应服务器的编辑内容
服务器订阅地址远程地址与访问凭据,响应内容包含服务器列表Home 中的订阅来源及其下属条目
规则配置分流规则、策略及其他配置内容,具体取决于文件Config 中实际选择的配置及规则

一个 https:// 地址并不天然就是服务器订阅,它也可能指向登录页面、帮助网页或规则配置。判断依据是已有服务提供的用途说明与返回内容,而不是地址看起来是否很长。服务器列表订阅也不保证同时配置 DNS 或分流规则;导入成功后,仍需检查当前的 Global Routing。

2. ss:// 与 vmess://:Base64 包裹的内容并不相同

ss://:先找加密方法与密码,再找地址和端口

ss:// 表示 Shadowsocks 分享链接。常见 SIP002 结构把“加密方法:密码”放进 Base64 编码的 userinfo,服务器地址和端口保留在外部;较早的格式也可能把整段连接信息一起编码。因此,不能把每一条 ss:// 都按照同一个位置机械截断。

解码后的 userinfo 演示:
aes-256-gcm:demo-password

对应的服务器信息演示:
Server: example.com
Port: 8388
Method: aes-256-gcm
Password: demo-password

这里的 8388 只是演示端口,不是 Shadowsocks 的强制端口。实际端口必须与已有服务一致。链接还可能包含 plugin 查询参数以及 # 后的备注。备注用于辨认条目,不替代地址;若服务要求额外插件参数,只保留地址、密码和端口可能不足以建立连接。

vmess://:常见结构是 Base64 编码的 JSON

常见的 vmess:// 分享格式把 JSON 对象编码后放在前缀后面。下面展示的是解码后的阅读示例,不是可以直接粘贴到导入框的完整链接。实际分享格式可能有变体,应以导入后显示的字段为准。

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

判断:能解码,只能说明文本结构可读

Base64 是编码,不是保护凭据的加密措施。识别结构时应在本地处理;不要把完整分享链接提交到在线解码网页。导入后先逐项核对协议、端口与传输参数,再进行连接测试。

3. vless:// 与 trojan://:URI 中哪些字段不能省略

vless:// 与 trojan:// 常采用较容易阅读的 URI 结构:前缀之后是认证信息,@ 之后是服务器地址和端口,? 之后是查询参数,# 之后是备注。可读不等于不敏感,认证部分仍应按密码处理。

vless://[email protected]:443?encryption=none&security=tls&type=ws&host=example.com&path=%2Fdemo&sni=example.com#Demo-VLESS

trojan://[email protected]:443?security=tls&sni=example.com#Demo-Trojan
字段或位置含义核对方式
@ 之前VLESS 示例使用 UUID;Trojan 示例使用密码不要把两种认证信息互换
example.com:443服务器地址与端口端口以已有服务参数为准
security=tls分享格式中的 TLS 设置检查导入后的 TLS 设置与证书名称
sniTLS 握手中的服务器名称与服务给出的名称一致,不随意改成地址
type=ws、host、pathWebSocket 传输及其请求参数路径大小写、斜杠和 Host 都要完整
#Demo-VLESS显示备注修改备注不会修复认证或传输错误

VLESS 示例中的 encryption=none 描述协议相关参数,不能据此判断整个连接没有 TLS;是否启用 TLS 还要看 security 与导入后的实际设置。同理,看到 443 只能确认端口数字,不能证明证书校验、SNI 或 WebSocket 路径正确。

URL 中的特殊字符可能需要百分号编码。示例的 %2Fdemo 解码为 /demo。手动处理时,不要反复解码后再拼回链接,也不要把原本属于密码的 @ 或 # 当成结构分隔符。若 IPv6 地址出现在 URI 的主机位置,通常需要方括号,以免地址中的冒号与端口分隔符混淆。

4. 订阅地址:保留远程来源,更新的是列表

服务器订阅通常是一个 HTTPS 地址,例如下面的明显假值。导入时,Shadowrocket 需要请求该地址并解析响应,才会生成可选择的服务器条目。响应可能是多条分享链接组成的文本,也可能经过整体编码;不能仅凭订阅 URL 猜出里面使用 Shadowsocks、VMess、VLESS 还是 Trojan。

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

导入方案:按已有资料的类型选择入口

已有一条分享链接
  • 复制完整的 ss://、vmess://、vless:// 或 trojan:// 内容。
  • 在 Home 使用添加入口导入,或通过扫描承载该文本的二维码导入。
  • 打开新增条目,核对 Type、地址、端口及认证字段。
  • 参数变更后,需要重新导入或手动修正对应条目。
已有服务器订阅地址
  • 在 Home → + 的添加页面,将 Type 选择为 Subscribe。
  • 在 URL 中填写完整地址,保留路径、查询参数与 token。
  • 保存并获取列表,检查来源下是否出现预期服务器。
  • 需要同步远程变更时更新该订阅,而不是重复添加同一来源。

扫码与剪贴板只是输入方式;二维码装的是单条分享还是订阅地址,才决定导入后的管理方式。

更新订阅意味着再次获取远程来源,条目数量、名称、地址和凭据都可能变化。更新成功并不表示当前选中的服务器一定可以连接,也不表示流量规则已经正确。更新前应记录自己当前使用的条目;不要假设对订阅下属条目的本地修改会永久保留,下一次更新可能重建相关字段。

5. 导入后在 Home、Config 与 Settings 分别检查什么

Home 负责查看和选择服务器,是确认导入结果的起点;Config 用于管理规则配置;Settings 包含应用设置。不要因为分享链接中带有 type=ws,就把它当成 Config 中的分流规则。协议传输决定如何连接服务器,规则决定哪些请求使用哪一种策略,两者处在不同层次。

  1. 先在 Home 打开新增条目的编辑页,确认 Type 与原始前缀对应,再检查服务器地址、端口、认证信息及 TLS、传输参数。
  2. 如果导入的是订阅,确认条目确实属于预期来源,而不是此前添加的同名独立条目。
  3. 核对 Global Routing。日常按规则使用时检查 Config 是否选中,以及 Config 页面是否已选择预期配置。
  4. 选中一个自己有权使用的服务器,开启连接并完成系统 VPN 配置授权,再进行实际请求测试。
  5. 需要判断自动重连行为时,再检查 Settings → On Demand;它不是订阅更新开关,也不会补齐缺失的服务器参数。

Config:按当前配置分流

推荐

在已有有效规则配置的前提下使用。请求按当前配置匹配,不能简单理解为所有未命中的请求都会直连;最终处理方式取决于配置中的兜底策略。

适合:已经核对规则、需要按域名或 IP 分流的日常使用

Proxy:临时排除规则干扰

将可代理的请求交由当前代理选择处理,用于对照 Config 下的表现。它不会修复服务器密码、TLS 或传输参数,也不能替代完整的联网测试。

适合:同一服务器下临时检查是否与分流规则有关

Direct:直接连接对照

按直连方式处理请求。此时网页能打开不能证明刚导入的服务器可用,因为该请求可能根本没有使用它。

适合:确认本地网络基础连通性,作为短时排查对照

规则配置中的 DOMAIN-SUFFIX 匹配域名后缀,GEOIP 与 IP-CIDR 用于相应的 IP 条件,FINAL 承担前序规则未命中时的兜底处理。它们不是四种分享链接的查询参数,也不会因为导入服务器而自动按使用需求生成。需要了解规则配置时可继续看使用教程或疑难手册。

6. 导入与更新常见问题

复制链接后没有出现服务器,是不是协议不对?

先确认复制内容从协议前缀开始,没有混入“点击导入”等说明文字,也没有被聊天软件插入换行。回到 Home → + 核对添加类型;单条分享按服务器内容处理,HTTPS 订阅则选择 Subscribe。若仍无法识别,核对原始完整链接,不要自行替换前缀。

二维码能扫出来,为什么连不上?

扫码成功只说明二维码文本可被读取。先打开 Home 中的条目,检查端口是否完整,再核对 UUID 或密码、SNI、WebSocket 路径等字段。二维码内容可能已经过期,也可能只是某个网页地址;不要把扫码提示当成服务器可用性测试结果。

延迟有数值,但网页还是打不开怎么办?

延迟结果不能覆盖认证、DNS、TLS 和目标网站的完整访问流程。先确认选中的是刚核对的服务器,再临时对照 Global Routing → Proxy 与 Config 的表现。若只有 Config 异常,检查规则命中;若两者都失败,继续检查认证、TLS 与传输参数,而不是只修改显示名称。

更新订阅后出现重名条目,应该删哪一个?

先在 Home 区分独立条目与订阅来源下的条目,再比较地址、端口和协议。名称相同不代表连接参数相同。确认旧的独立条目不再需要后再移除;若只是同一订阅被添加两次,保留已核对有效的来源,避免以后两份列表分别更新。

订阅地址超时,可以把端口改成 443 吗?

不要用猜测的端口替换已有参数。HTTPS 订阅地址的访问端口与列表中服务器的连接端口是两回事。先检查当前网络是否能访问该来源、URL 是否完整以及 token 是否有效;网页能响应但返回登录页时,也不能认定订阅更新成功。

7. 最后核对:结构正确、来源有效、实际请求一致

完成导入后,应分别验证“文本被识别”“服务器参数正确”和“请求确实按预期路径完成”。这三个结果不能互相代替。一次成功导入只是建立了本地记录;一次成功刷新只是取回了远程内容;实际访问仍取决于服务器状态、当前网络、DNS 与路由设置。

下一步:一次只改一层

先保留原始链接,核对导入字段;字段正确后再检查连接;连接确认后才调整规则。不要同时更改端口、TLS 与 Global Routing,否则即使访问恢复,也难以确定是哪项修改起作用。

App Store 正版入口先核对,再购买