在 Shadowrocket 中,分享链接通常携带一条连接配置,订阅链接则指向可重新获取的配置列表。本文面向已经持有自己的服务商配置与订阅的用户:先辨认链接类型,再核对协议字段,最后分别完成导入、更新与连接验证。文中的域名、密码和 UUID 均为格式示例,不用于连接。
先区分:连接参数与远程列表地址
ss://、vmess://、vless://、trojan:// 是常见的单条分享链接前缀。它们主要回答“连接哪个地址、使用什么协议、怎样认证”。导入后,Shadowrocket 可以从链接中解析出服务器、端口与认证字段;导入成功只表示语法可识别,不等于服务器可达或账号有效。
订阅 URL 通常以 https:// 开头,表示一个需要请求的远程地址。该地址返回的内容可能是多条分享链接,也可能是这些链接的 Base64 编码文本。普通网页地址同样可以以 https:// 开头,因此不能只看前缀就认定它是订阅。
- 单条分享链接:导入的是当时的参数快照。原参数改变后,需要重新导入或手动修改。
- 订阅 URL:保存的是列表来源。执行更新时重新获取内容,来源中的条目可能增加、删除或变化。
- Config 文件:承担规则、策略等配置管理;不能把任意 Config 文件地址直接当作节点订阅地址使用。
ss://:核对加密方法、密码与地址
Shadowsocks 分享链接常见的 SIP002 形式,将认证信息放在 @ 前,后面接服务器与端口。认证部分通常是 method:password 的 URL-safe Base64 编码;还可能附带查询参数与 # 后的备注。另有把更长一段内容整体编码的旧式格式,手动拆分时不能假设所有链接布局完全一致。
ss://
解码后的认证内容:aes-128-gcm:example-password
服务器:example.com
端口:8388
备注:Example
| 字段 | 含义与核对方法 |
|---|---|
| method | 例如 aes-128-gcm。必须与服务器配置一致,不能按名称相似程度替换。 |
| password | 用于认证;区分大小写。复制时保留原值,不附加空格或换行。 |
| host:port | 服务器地址与监听端口。8388 只是示例,不能代替自己的实际端口。 |
| plugin 等查询参数 | 可能影响传输方式;需核对导入结果与当前支持情况,不要直接删除。 |
| # 后的备注 | 主要用于列表辨认。修改备注不等于改变服务器地址。 |
Base64 是编码,不是保密措施。能还原出认证字段的人仍可读取密码。出现无法导入时,先检查完整链接是否被聊天工具换行、截断或添加了标点,再检查编码与格式,不要先改加密方法。
vmess://:先还原 JSON,再检查传输字段
常见的 VMess 分享格式是在 vmess:// 后放置 Base64 编码的 JSON。下面展示的是编码前的结构,不是可以直接粘贴导入的完整分享链接。不同来源的字段可能不同,不能把这组示例覆盖到自己的配置上。
{
"v": "2",
"ps": "Example",
"add": "example.com",
"port": "443",
"id": "00000000-0000-0000-0000-000000000000",
"aid": "0",
"net": "ws",
"type": "none",
"host": "example.com",
"path": "/example",
"tls": "tls"
}
add与port:实际连接地址与端口;ps是备注,不能替代地址。id:UUID 认证字段。示例中的全零值仅说明形式,实际必须使用自己已有的值。aid:历史格式中的 alterId 字段;不要为了尝试连通而任意增加其数值。net、host、path:本例描述 WebSocket 及其 Host、路径。路径中的大小写、斜杠与查询部分可能影响连接。tls:本例启用 TLS。服务器地址、HTTP Host 与 TLS 的 SNI 各有用途,不能认为三者总是相同。
导入后应打开该条目的编辑页,将服务器、端口、UUID、传输方式与 TLS 选项逐项对照原始配置。若文本能解码但应用不能识别,可能是分享格式变体或字段不兼容;应从自己的原配置来源重新导出适用格式,而不是只修改链接前缀。
vless:// 与 trojan://:外形相似,认证不同
这两种格式常表现为“认证信息、服务器、端口、查询参数、备注”的组合,但认证字段的含义不同。VLESS 通常使用 UUID;Trojan 通常使用密码。下面两条仅说明字段位置,域名与认证值均是假值。
vless://[email protected]:443?encryption=none&security=tls&type=ws&host=example.com&path=%2Fexample&sni=example.com#Example
trojan://[email protected]:443?security=tls&type=tcp&sni=example.com#Example
| 字段位置 | VLESS | Trojan |
|---|---|---|
| @ 前 | 通常为 UUID | 通常为经过必要 URL 编码的密码 |
| security=tls | 本例使用 TLS;不代表所有配置都使用相同安全设置 | 本例使用 TLS,需与服务器端保持一致 |
| type | 本例为 ws,需同时检查 Host 与 path | 本例为 tcp,不能照搬 ws 参数 |
| sni | 用于 TLS 握手的服务器名称 | 用于 TLS 握手的服务器名称 |
encryption=none 是本例 VLESS 的协议参数,不表示整条传输没有 TLS。path=%2Fexample 解码后是 /example。密码、路径或备注中出现 @、#、& 等字符时,需要按所在位置正确编码,否则可能被解析成分隔符。
导入与更新:按链接类型走对应入口
先确认剪贴板中只有完整链接,没有前后的说明文字。Shadowrocket 的 Home 用于查看连接条目;Config 用于配置文件管理;Settings 用于应用设置。单条分享链接与 Subscribe 都可能最终在 Home 中形成可选条目,但它们的后续维护方式不同。
两种导入流程:单条参数与 Subscribe
已有单条分享链接
- 复制完整的 ss://、vmess://、vless:// 或 trojan:// 文本。
- 返回 Home;若出现剪贴板导入提示,确认内容后导入,并按系统提示允许读取。
- 没有出现提示时,可使用对应导入入口,或从 Home → + 选择协议并按原配置逐项填写。
- 保存后进入编辑页,复核地址、端口、认证与传输参数。
已有订阅 URL
- 进入 Home → + → Type,选择 Subscribe。
- 在 URL 中粘贴自己的完整订阅地址,填写便于辨认的备注后保存。
- 完成首次获取,展开相应分组检查条目;需要同步时对该订阅执行更新。
- 更新后重新确认所选条目,特别留意来源已删除或替换的项目。
单条链接保存参数;Subscribe 保留远程列表来源。修改订阅内条目前,先记录原值,下一次更新可能覆盖本地修改。
订阅地址的格式可以类似下面的文本。它只是示意,不能用于获取配置。真实地址中,查询参数或路径常包含访问凭据,必须完整保留;也不要把它发到公开页面或交给不明转换网站。
https://example.com/sub?token=xxxx
- 请求超时:检查当前网络能否到达订阅地址,并区分域名解析失败、连接失败与 HTTP 响应错误。
- 收到 401 或 403:核对 URL 中的凭据是否完整,向自己的原配置来源确认访问权限;反复导入同一地址通常不能解决权限问题。
- 请求成功但没有条目:确认返回的是订阅内容,而不是登录页、错误页或普通网页。状态码成功不代表内容格式正确。
导入后的验证:把参数问题与路由问题分开
条目出现在 Home 中之后,仍需验证连接。先检查参数,再确认 Global Routing 的姿态,最后观察目标请求的连接结果。订阅负责更新连接条目,不代表它必然同时提供完整的分流规则;规则是否生效还取决于当前 Config 与路由选择。
Global Routing → Config
推荐在已经准备好规则的前提下,按当前 Config 决定策略。DOMAIN-SUFFIX、GEOIP、IP-CIDR 等规则及 FINAL 兜底共同影响结果,未匹配请求不一定直连。
适合:导入完成后,验证日常规则与连接条目能否配合工作。
Global Routing → Proxy
用于让受应用处理的连接采用代理姿态,临时减少规则分流对排查的干扰。仍需确认实际选中了正确且可用的连接条目。
适合:短时区分代理连接故障与 Config 规则匹配问题。
Global Routing → Direct
用于直连对照。此姿态下网页能打开,不能证明刚导入的代理参数有效,也不能据此判断订阅中的条目可用。
适合:检查当前网络直连情况,建立故障对照。
结论:先用同一条目做路由对照
保持网络与所选条目不变,临时从 Config 切到 Proxy 再测试同一目标。若只有 Config 失败,优先检查命中规则与目标策略;若两者都失败,先回查认证、传输参数与服务器可达性,测试结束后恢复原路由姿态。
Global Routing 还包括 Scene,不应将其误认为第四种分享链接或协议。Settings → On Demand 管理的是按条件触发连接,也不负责把分享链接转换成订阅。排查过程中应记录这些设置的原状态,避免同时改动多个变量后无法判断原因。
常见问题:识别成功之后还要检查什么
把 vmess:// 改成 vless://,能直接用吗?
不能。两者的分享结构与认证、传输要求不同。请从自己的原配置来源取得对应协议的完整配置,再导入并检查字段;仅替换前缀会让解析失败,或生成不符合服务器要求的条目。
订阅刷新以后,手动改过的端口又变回去了?
订阅更新可能用远程数据重建或覆盖条目。先核对订阅返回的原端口;确需保留本地调整时,可另建独立条目并明确备注,同时接受它不会随原订阅自动同步这一维护差异。
导入成功,为什么还是连不上?
进入 Home 打开该条目的编辑页,依次核对服务器、端口、密码或 UUID、TLS、SNI 与传输参数,再按上一节做 Global Routing 对照。能解析链接只说明字段格式可读,无法验证远端服务状态。
扫码导入和复制链接,得到的内容有区别吗?
二维码只是文本的载体。扫码结果如果是单条协议链接,就按单条配置处理;如果是订阅 URL,就按 Subscribe 处理。确认内容类型后再保存,不能因为入口是扫码就认定它会自动更新。
可以把完整链接截图给别人排查吗?
先遮盖密码、UUID、订阅 token 与可识别账户的信息,只保留协议、错误提示及必要的传输字段。Base64 文本也可能含认证信息;已经公开泄露时,应从自己的原配置来源撤销或更换对应凭据。
需要进一步整理条目时,可阅读订阅与节点管理说明;首次配置与系统授权步骤见使用教程。本文仅说明如何使用用户已有的配置,不涉及连接服务的提供或选择。