小火箭添加节点链接:ss://、vmess://、vless://、trojan:// 格式与订阅链接的区别

拆解四种分享链接的结构和常见编码方式,说明单节点链接与订阅地址在导入方式、更新行为上的不同,并给出用假值演示的识别方法。

本文速览

Shadowrocket(小火箭)中的单节点分享链接用于描述一条连接;订阅地址用于获取并更新一组条目。本文面向已经拥有自己服务商与订阅的用户,先按链接前缀区分输入类型,再解释认证、传输与编码字段,最后给出导入核对和故障排查顺序。所有地址、密码与 UUID 示例均为假值,不能用于连接。

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

ss://、vmess://、vless:// 和 trojan:// 是协议分享链接的常见前缀。它们描述的是节点参数,不是网页地址。二维码也只是承载这些文本的一种方式:扫描二维码不等于导入订阅,最终类型仍由二维码里的内容决定。

订阅地址通常使用 https://,例如 https://example.com/sub?token=xxxx。Shadowrocket 需要请求这个地址,再解析返回内容。仅凭 HTTPS 前缀不能确认它就是订阅;登录页面、错误提示页和普通网页同样使用 HTTPS,需要结合原提供方的说明与导入结果判断。

输入类型实际内容后续更新
单节点分享链接一条连接的地址、端口、认证及可选传输参数通常是导入时的参数快照,不会自行追踪原始文本变化
订阅地址获取远端条目列表的入口,可能包含访问凭据更新时重新请求地址,条目变化取决于返回内容
二维码文本的图像载体,可能是分享链接,也可能是订阅地址由其中承载的输入类型决定

节点订阅与 Config 中的规则配置也不是同一对象。前者主要维护连接条目,后者用于配置规则等行为。导入节点不会自动替用户编写 DOMAIN-SUFFIX、IP-CIDR 或 FINAL 规则。

ss://:先解读认证部分,再核对端口

Shadowsocks 分享链接常见的 SIP002 结构,是将加密方法与密码组合后进行 Base64 编码,再接服务器地址、端口和可选参数。下面示例中,认证部分解码为 aes-128-gcm:password;8388 只是演示端口,并非必须使用的固定值。

ss://[email protected]:8388#Demo-SS

认证部分解码:
aes-128-gcm:password

对应字段:
method = aes-128-gcm
password = password
server = example.com
port = 8388

Base64 是编码,不是保密措施。能够读取链接的人通常也能还原其中的认证信息。排查时可以记录 Type、端口和是否存在附加参数,不应把完整分享链接提交到公开留言区或在线解码页面。

vmess://:常见内容是 Base64 编码的 JSON

VMess 分享链接常见形式是在 vmess:// 后放入 Base64 编码的 JSON。下方是解码后的结构示例,不是可直接粘贴导入的完整分享链接。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"
}

其中 v 表示分享数据格式,不是 Shadowrocket 版本;add 与 port 对应连接地址和端口;id 是 UUID;aid 对应 alterId,示例值为 0。不要为了让链接“看起来正常”而任意修改这些认证字段。

字段组示例核对重点
认证id、aid、scyUUID、alterId 与加密选项分别核对,不互相替代
传输net=ws、path=/demoWebSocket 的路径需要与服务端对应,大小写和斜杠也要保留
HTTP 主机信息host=example.com用于相应传输的 Host,不等于连接地址必然相同
TLStls=tls、sni=example.com是否启用 TLS、Server Name 与证书验证应分别检查

端口 443 本身不表示 TLS 已启用,也不表示传输必然是 WebSocket。示例里的 net、tls 和端口是独立信息,导入后应在节点编辑页面逐项核对。

vless:// 与 trojan://:认证位置相同,含义不同

这两类链接常采用 URI 结构:@ 前放认证信息,后面是服务器与端口,问号后是参数,井号后是备注。VLESS 在认证位置通常放 UUID,Trojan 则放密码。不能仅更换链接前缀,就把一种协议转换成另一种协议。

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&type=tcp&sni=example.com#Demo-Trojan

结论:导入成功后,先核对认证与传输两组字段

在 Home 打开新条目的编辑页面,先确认 Type、地址、端口、UUID 或密码,再确认 TLS、Server Name、传输类型及路径。保存成功仅说明条目已建立,不等于服务端已接受连接。

在 Home 导入:保留原文与订阅关系

先从用户已有服务的管理页面获取原始文本,避免复制带说明文字的整段消息。分享链接中不要混入引号、中文标点、空格或聊天软件插入的换行。二维码如果承载订阅地址,同样应作为订阅处理,而不是另建一个普通协议条目。

  1. 确认输入类型。协议前缀用于识别单条连接;已有订阅应使用原提供方标注的完整订阅 URL。
  2. 复制完整内容,在 Home 使用剪贴板导入提示;使用二维码时,通过 Home 的扫描入口读取。导入前核对识别到的对象。
  3. 需要手动添加时,在 Home 点击 + 进入 Add Server。单节点选择对应 Type 并核对字段;订阅选择 Type 为 Subscribe,将完整地址填入 URL。
  4. 保存后回到 Home。单节点检查编辑页中的参数;订阅检查是否形成对应分组,以及条目数量和名称是否符合已有服务提供的内容。
  5. 订阅更新使用该分组的更新操作。更新后再次检查当前选中条目,尤其是原条目被删除、更名或替换的情况。

两类输入的维护方式

已有单节点分享链接
  • 导入后核对 Type 与全部连接参数。
  • 原提供方调整参数时,重新获取原始链接。
  • 替换前确认旧条目,避免同名条目混淆。
已有订阅地址
  • 按 Subscribe 类型保存完整 URL。
  • 通过订阅更新获取远端条目变化。
  • 在原提供方修改凭据后核对订阅 URL 是否变化。

同一订阅反复新建可能出现多个来源组;维护时优先更新原组,不把每次刷新当作新订阅导入。

订阅更新能否成功,还取决于地址是否有效、访问凭据是否过期、当前网络是否能访问该地址,以及返回格式是否可解析。HTTP 请求成功也可能只拿到登录页面,因此“地址能打开”不能替代对导入结果的检查。

导入后能否访问:区分参数问题与Global Routing

如果 Home 已出现条目,但网页打不开,先确认当前选中的条目与连接状态,再查看 Global Routing。节点链接负责提供连接参数,Global Routing 决定流量如何处理;在错误的路由姿态下反复更改 UUID,不能验证原本的问题。

Config

推荐

使用当前选定的配置处理流量。已有规则配置并完成核对时,可按规则让不同目标使用指定策略。

适合:已配置规则的日常使用,检查特定目标命中的策略

Proxy

将应用接管的流量交给当前代理策略,用于暂时减少规则分流对测试的影响;它不能修复服务端认证或 TLS 参数。

适合:临时测试当前条目,区分节点连接与规则选择问题

Direct

使用直接连接,不通过当前代理节点。此时目标可访问,不能据此认定刚导入的节点能够连接。

适合:建立直连对照,确认当前网络对目标的直接访问情况

排查时一次只改变一个变量。若临时使用 Proxy 能访问同一目标,而 Config 不能访问,应检查配置中的规则顺序与策略;若两者都失败,则回到认证、TLS、传输、服务状态和网络可达性逐项核对。测试完成后恢复原本需要的姿态。

链接导入常见问题:按现象定位

复制了链接,为什么没有识别成节点?

先检查内容是否从协议前缀开始,是否混入消息标题、引号或换行。重新复制原始完整链接;如果得到的是 HTTPS 地址,先确认它属于订阅还是普通网页,再在 Home → + → Type → Subscribe 中处理已有订阅。

vmess:// 后面看不到服务器地址,是不是链接坏了?

不一定。常见 VMess 分享格式把 JSON 整体做了 Base64 编码,地址不会直接显示。优先使用 Shadowrocket 导入,再在编辑页检查地址、端口、UUID、alterId 和传输字段,不要把编码文本手动填进地址栏。

订阅更新以后,为什么手动添加的那条没有变化?

手动条目不是订阅来源中的条目,不会因为另一个订阅更新就自动替换。回到 Home 确认分组归属,使用订阅组内的对应条目;需要保留手动条目时,应自行核对原提供方的新参数。

相同地址和端口,为什么另一个链接能用?

继续比较 Type、UUID 或密码、加密选项、TLS、Server Name、Host 与路径。地址和端口相同,只说明连接入口相同,不能说明认证及传输配置相同;先逐项比对,不要直接互换协议前缀。

能把完整订阅地址发给别人帮忙检查吗?

不应公开完整地址。订阅 URL 中的 token 可能允许读取服务信息,分享链接本身也含认证数据。求助时只提供脱敏后的结构、Type、端口、传输选项和错误现象;已泄露的凭据应到原提供方管理页面重置。

完成识别、导入和连接测试后,再处理自动连接等使用习惯。Settings → On Demand 用于按需连接,不负责修复错误的分享链接,也不会替用户更新已失效的认证信息。

App Store 正版核对