先用链接开头区分单条配置与订阅,再按协议核对凭据、服务器地址、端口和传输参数。本文适合已经持有自己服务商配置、准备导入 Shadowrocket(小火箭)的用户;读完可判断一段文本该作为单条配置导入,还是作为 Subscribe 保存,并能定位常见的复制截断与参数缺失问题。下文所有配置示例均为说明语法的假值,不能用于连接。
分享链接与订阅链接:先区分导入对象
ss://、vmess://、vless://、trojan:// 中,冒号前的部分称为 scheme,用于标识链接格式。它告诉导入器应怎样解释后面的文本,并不代表服务可用、凭据有效或线路质量。单条分享链接通常携带一个服务器的连接参数,导入后得到一条配置。
订阅链接通常是一个 HTTPS 地址,访问后返回配置集合。Shadowrocket 保存订阅地址后,可以重新请求该地址以更新列表。集合不一定包含多个节点,也不一定使用统一协议;仅凭“里面只有一条”不能判断它是否为订阅。
| 识别项目 | 单条分享链接 | 订阅链接 |
|---|---|---|
| 常见开头 | ss://、vmess://、vless://、trojan:// | https://,需结合服务商说明确认 |
| 内容来源 | 参数直接包含在链接中 | 通过网络请求获取配置集合 |
| 后续变化 | 原链接不会自行变成新的参数 | 执行更新后可取得服务商调整后的列表 |
| 敏感内容 | 密码、UUID、地址和连接参数 | 可能带有可访问整个集合的 token |
例如 https://example.com/sub?token=xxxx 只是订阅地址的格式示意。普通网页地址、账户管理页面和订阅地址都可能以 HTTPS 开头,不能把任意网页粘贴到 Subscribe 后期待生成节点。应使用已有服务商明确提供的订阅地址,本站不提供、不销售、不推荐节点或订阅。
ss://:区分用户信息编码与整段编码
ss:// 对应 Shadowsocks。常见 SIP002 形式是“编码后的加密方法与密码,加上明文服务器地址和端口”。下面的示例中,YWVzLTEyOC1nY206dGVzdA 解码后是 aes-128-gcm:test,其中冒号左侧是 method,右侧是 password。
ss://[email protected]:8388#Example%20SS
ss://:选择 Shadowsocks 分享格式。YWVzLTEyOC1nY206dGVzdA:Base64URL 编码后的用户信息,不是订阅 token。server.example.invalid:服务器地址;此处为不可用于实际连接的示例域名。8388:示例服务端口,实际值必须与服务商配置一致。#Example%20SS:显示名称,%20表示空格。
还可能遇到把 method:password@host:port 整段 Base64 编码的旧式链接。因此,“看不到 @”不等于链接一定错误。应先让导入器解析,再核对结果,不要为了补齐外观而手工插入 @、冒号或斜杠。带 plugin 参数的链接还可能包含编码后的附加设置,不能只保留问号前的部分。
vmess://:先还原 JSON,再检查字段含义
常见 VMess 分享形式是 vmess:// 后接 Base64 编码的 JSON 对象。下面展示解码后的内容,而不是可以直接粘贴导入的完整分享链接。不要把原始 JSON 紧接在 scheme 后面,也不要把这段示例当成实际账户配置。
{
"v": "2",
"ps": "Example VMess",
"add": "server.example.invalid",
"port": "443",
"id": "11111111-1111-4111-8111-111111111111",
"aid": "0",
"scy": "auto",
"net": "ws",
"type": "none",
"host": "edge.example.invalid",
"path": "/example",
"tls": "tls",
"sni": "edge.example.invalid"
}
add 与 port 指向实际连接目标,id 是身份标识,net 表示传输类型。示例使用 WebSocket,因此包含 host 和 path;启用 TLS 时,还需核对 tls 与 sni。这里的 v 是分享格式字段,不是 Shadowrocket 应用版本号。
- 导入完整的
vmess://文本,先检查地址、端口和 UUID 是否存在。 - 核对传输类型。服务端要求 WebSocket 时,不要改成普通 TCP 来“简化”配置。
- 分别核对 WebSocket Host、路径与 TLS Server Name;三者作用不同,值也不必相同。
- 如果导入后缺失字段,向已有服务商核对原始参数,不要靠更换端口或关闭验证猜测。
一些分享格式或参数命名存在差异,成功识别链接不等于每个扩展字段都已正确映射。尤其是传输层、TLS 和身份参数,应在保存前逐项检查。Base64 文本换行、丢失末尾字符或被聊天软件替换标点,都可能导致 JSON 无法完整还原。
vless:// 与 trojan://:相似 URL,不同凭据
VLESS 与 Trojan 的分享链接通常更接近普通 URL:用户信息位于 @ 前,服务器位于 @ 后,问号之后是连接选项,井号之后是备注。两者外观相似,但认证字段不能互换;VLESS 通常使用 UUID,Trojan 使用密码。
vless://[email protected]:443?encryption=none&security=tls&type=ws&host=edge.example.invalid&path=%2Fexample&sni=edge.example.invalid#Example%20VLESS
trojan://[email protected]:443?security=tls&type=tcp&sni=edge.example.invalid#Example%20Trojan
| 字段 | 含义与核对方法 |
|---|---|
encryption=none | VLESS 的协议参数,不表示外层 TLS 一定未启用。 |
security=tls | 表示示例使用 TLS;还需核对 Server Name 和证书验证。 |
type=ws / type=tcp | 表示传输类型,必须与服务端一致。 |
host 与 path | WebSocket 的 Host 与路径;%2Fexample 解码为 /example。 |
sni | TLS Server Name,不应仅因连接目标是某个地址就机械地替换成同一值。 |
# 后的文本 | 通常为显示名称,不决定认证和传输方式。 |
密码或备注含有 @、#、& 等保留字符时,应按其所在位置正确进行百分号编码。例如,用户信息中的字面量 @ 可表示为 %40。不要对整条链接反复编码或解码;原本属于密码的字符可能因此被误判为分隔符。
结论:先核对参数,不靠 scheme 推断全部设置
看到 vless:// 或 trojan:// 后,仍需检查传输类型、TLS Server Name 与服务端口;不要因为示例使用 443,就把自己的配置也统一改成 443。
Shadowrocket 导入步骤:单条配置与 Subscribe 分开处理
以下以 iPhone / iPad 的操作顺序说明。先从已有服务商复制完整链接,确保没有混入说明文字、引号或尾部句号。ss://、vmess://、vless://、trojan:// 应按单条配置导入;HTTPS 订阅地址则应保存为 Subscribe,而不是手工选择某一种代理协议。
- 导入单条:复制完整分享链接后打开 Shadowrocket,在出现剪贴板导入提示时确认。系统询问粘贴权限时,应允许本次读取,否则应用无法取得链接。
- 提示未出现:在 Home 点击右上角
+进入 Add Server,使用页面提供的 URL 导入入口;如需手动填写,则在 Type 中选择对应协议,并按原始配置逐项录入。 - 导入订阅:在 Home →
+→ Type 选择 Subscribe,在 URL 中填写订阅地址,设置便于辨认的备注后保存,再执行订阅更新。 - 保存后检查:回到 Home,确认单条配置或订阅分组已出现,打开条目核对地址、端口、认证信息与传输参数,不以显示名称作为正确性的依据。
- 更新时区分对象:Subscribe 更新会重新请求远端列表;独立保存的单条配置不会因为订阅更新自动获得新的密码或服务器地址。
二维码只是一种文本承载方式,不决定内容是单条还是订阅。扫描前后仍应检查解码内容的 scheme;如果二维码实际包含账户网页地址,就不能把它当作节点配置。首次连接如出现系统 VPN 配置授权提示,应先确认正在操作的是 Shadowrocket,再完成授权。
导入后不能访问:用 Global Routing 区分规则与连接
“已出现在 Home”只证明配置保存成功,不证明认证、TLS 或目标访问均正常。先选中待检查的服务器并运行 Connectivity Test,再结合实际网页请求观察结果。一次测试有响应,也不能证明所有应用、所有域名或所有传输方式都能正常工作。
Global Routing → Config
推荐按当前 Config 的规则选择策略;未命中的流量由 FINAL 等兜底规则决定去向,不是默认全部直连。先确认规则和所选服务器,再恢复此姿态进行日常使用。
适合:已核对规则、需要按目标分流的日常配置
Global Routing → Proxy
使进入客户端处理范围的流量走代理,可临时用于判断问题是否来自 Config 分流。切换后仍失败,应继续检查凭据、服务器、传输与 TLS 参数。
适合:短时排查规则影响,完成后恢复原设置
Global Routing → Direct
使进入客户端处理范围的流量直连;此时网页能打开,不能据此证明刚导入的服务器可以连接。核对分享链接时不要把直连结果当作代理测试结果。
适合:对照基础网络状态,而非验证节点认证
每次只改变一项设置,并记录测试前后的现象。例如,“在 Config 下某个域名失败,切到 Proxy 后可访问”提示应检查该域名匹配的规则;“两种姿态均失败”则需要进一步区分连接参数、基础网络与目标服务问题。遇到 TLS 验证错误,应核对 Server Name、证书有效性及系统时间,不应直接以关闭验证作为常规处理。
常见问题:链接截断、重复导入与更新差异
复制进去提示格式错误,是协议不支持吗?
先检查开头是否完整,例如是否丢了 vmess://,再检查尾部是否混入中文句号或换行。回到原始来源重新复制整条链接,不要只复制聊天气泡中可见的一行。格式错误优先排查文本完整性,不能直接等同于协议不可用。
订阅更新了,为什么手动添加的那条还是旧密码?
订阅分组与独立条目是不同对象。先在 Home 确认正在查看的是哪个分组,再检查订阅更新结果;手工添加的条目需要按已有服务商的新参数单独修改,或重新导入新的单条链接。
节点名称和地址都有,为什么还是连接失败?
打开该条目的编辑页,依次核对端口、密码或 UUID、传输类型、TLS Server Name,以及 WebSocket Host 和路径。名称只是备注;地址正确但路径不符,仍可能导致握手失败。核对完成后再做 Connectivity Test 和实际访问测试。
可以把完整链接发到公开讨论区帮忙检查吗?
不要公开完整链接、二维码或订阅 token。反馈时保留 scheme、传输类型、脱敏后的错误信息及复现步骤即可;已经暴露凭据时,应通过已有服务商提供的账户管理方式重置或撤销,再更新本地条目。
整理配置时,先保留当前可用条目,再验证新导入项,确认后才清理重复内容。同名条目不一定相同,同一服务器地址也可能对应不同端口、账户或传输参数。判断是否重复,应比较完整配置,而不是只看备注名称。