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
@之前的认证数据包含 method 与 password,不能把整个 Base64 字符串直接当密码填写。#Demo-SS是备注。修改备注不会修复密码、端口或加密方法不匹配的问题。- 部分旧式链接把
method:password@server:port整段编码;也有链接使用 URL-safe Base64 或省略末尾填充符。识别时应保留原始文本,不要只凭外观补字符。 - 如果存在
plugin参数,还需要核对应用内是否支持对应插件及选项。只保留地址和密码,可能丢失连接所需的附加设置。
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、scy | UUID、alterId 与加密选项分别核对,不互相替代 |
| 传输 | net=ws、path=/demo | WebSocket 的路径需要与服务端对应,大小写和斜杠也要保留 |
| HTTP 主机信息 | host=example.com | 用于相应传输的 Host,不等于连接地址必然相同 |
| TLS | tls=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
encryption=none是 VLESS 的协议参数,不表示整条链路必然没有传输层保护;示例另外指定了security=tls。type=ws与type=tcp描述传输选择,不能因为 UUID 或密码正确就忽略它们。path=%2Fdemo使用百分号编码,解码后的路径是/demo。复制时应保留编码形式,避免手动反复解码。- Trojan 密码若包含
@、#等保留字符,需要正确编码。例如密码里的@可编码为%40,否则可能被误当作 URI 分隔符。 - 某些链接带有额外安全或传输参数。不要为了缩短链接而删除未知字段,应先对照已有服务的原始参数和应用内可用选项。
结论:导入成功后,先核对认证与传输两组字段
在 Home 打开新条目的编辑页面,先确认 Type、地址、端口、UUID 或密码,再确认 TLS、Server Name、传输类型及路径。保存成功仅说明条目已建立,不等于服务端已接受连接。
在 Home 导入:保留原文与订阅关系
先从用户已有服务的管理页面获取原始文本,避免复制带说明文字的整段消息。分享链接中不要混入引号、中文标点、空格或聊天软件插入的换行。二维码如果承载订阅地址,同样应作为订阅处理,而不是另建一个普通协议条目。
- 确认输入类型。协议前缀用于识别单条连接;已有订阅应使用原提供方标注的完整订阅 URL。
- 复制完整内容,在 Home 使用剪贴板导入提示;使用二维码时,通过 Home 的扫描入口读取。导入前核对识别到的对象。
- 需要手动添加时,在 Home 点击
+进入 Add Server。单节点选择对应 Type 并核对字段;订阅选择 Type 为Subscribe,将完整地址填入 URL。 - 保存后回到 Home。单节点检查编辑页中的参数;订阅检查是否形成对应分组,以及条目数量和名称是否符合已有服务提供的内容。
- 订阅更新使用该分组的更新操作。更新后再次检查当前选中条目,尤其是原条目被删除、更名或替换的情况。
两类输入的维护方式
已有单节点分享链接
- 导入后核对 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 用于按需连接,不负责修复错误的分享链接,也不会替用户更新已失效的认证信息。