本文适合已经从自己的服务商处获取连接资料、需要判断如何导入的用户。先辨认链接前缀与内容,再区分单条服务器记录和可更新的 Subscribe,最后在 Home 核对导入结果。文中的域名、凭据与端口均用于格式说明,不能用于连接;实际订阅与节点从你的服务商处获取。
先区分分享链接、订阅地址与 Config
ss://、vmess://、vless:// 和 trojan:// 是用于识别连接资料格式的 scheme。常见单条分享链接直接携带服务器地址、认证资料及传输参数,导入后得到一条服务器记录。前缀说明如何解释内容,不代表服务器当前可用,也不表示已配置分流规则。
订阅地址通常是一个 HTTPS 地址。Shadowrocket 请求这个地址后,才取得服务器列表等订阅内容。订阅可能返回多行分享链接,也可能返回经过 Base64 编码的列表;是否能正确识别,还取决于服务商输出的具体格式。不能只凭地址以 https:// 开头,就断定它一定是订阅。
| 资料类型 | 主要内容 | 后续变化 |
|---|---|---|
| 单条分享链接 | 一个服务器的协议、地址和认证参数 | 通常需要重新导入或编辑 |
| Subscribe | 通过一个地址获取的服务器列表 | 更新订阅时重新获取列表 |
| Config | 规则、策略和 DNS 等配置内容 | 按所选配置文件及其更新方式管理 |
例如 https://example.com/sub?token=xxxx 只是订阅地址的假值示意。它的查询参数可能充当访问凭据,应与密码一样保管。单条服务器链接一般不会自动带来 DOMAIN-SUFFIX、GEOIP 或 FINAL 等规则;这些属于 Config 的另一层配置。
ss://:Shadowsocks 的认证信息如何编码
Shadowsocks 分享链接常见两种写法:较早的写法将“加密方法、密码、地址和端口”整体做 Base64 编码;SIP002 形式通常只对用户信息部分,即 method:password 做 URL-safe Base64 编码,服务器地址与端口仍保持可读。两种写法不能用同一个固定位置去拆分。
ss://BASE64URL(method:password)@server.example.com:8388#Office
ss://BASE64(method:[email protected]:8388)#Office
以上 BASE64URL(...) 与 BASE64(...) 是编码过程的说明记号,不是可直接导入的字符串。8388 仅为示例端口,不是必须使用的默认值。加密方法必须与服务端一致;不能因为名称看起来相近,就自行替换。
@后通常是服务器地址;IPv6 字面地址需要用方括号包围,再接端口。#Office是备注,通常不参与认证。中文备注可能采用百分号编码。?plugin=可能描述插件参数;是否可用取决于具体插件与客户端支持情况。- 密码中的冒号、斜杠或特殊字符要结合原始编码结构理解,不能直接按所有冒号逐段切开。
Base64 是编码,不是加密。获得完整分享链接的人通常可以还原其中的认证资料。为检查格式而使用不明网页解码工具,会把原本只在剪贴板中的凭据交给另一个接收方;应优先在本地核对,向服务商反馈时遮去密码和完整链接。
vmess://:先还原 JSON,再核对字段
常见 VMess 分享格式是 vmess:// 后接一段 Base64 编码的 JSON。地址、端口、UUID、传输方式等信息放在 JSON 字段中,而不是以普通 URL 的主机与查询参数直接呈现。下面展示的是解码后的示意内容,并非一条可直接粘贴导入的分享链接。
{
"v": "2",
"ps": "Example VMess",
"add": "server.example.com",
"port": "443",
"id": "00000000-0000-4000-8000-000000000001",
"aid": "0",
"net": "ws",
"type": "none",
"host": "edge.example.com",
"path": "/connect",
"tls": "tls",
"sni": "edge.example.com"
}
add与port指向连接端点,id是认证 UUID;示例中的 UUID 是假值。net为ws时,还要核对 WebSocket 的host与path。tls与sni描述 TLS 相关配置;端口为443本身不等于已开启 TLS。aid是历史格式中的 AlterId 字段,不是端口或连接数量。不要自行把服务商提供的值改为猜测值。
示例中的 "v": "2" 是分享格式字段,不是 Shadowrocket 的应用版本。不同来源可能省略字段,或使用不同的导出约定。出现“能识别名称但连接失败”时,应比较导入后的实际字段,尤其是传输方式、TLS 与路径,而不是只检查 UUID。
vless:// 与 trojan://:同样像 URL,认证方式不同
VLESS 的常见分享形式使用 UUID 作为用户信息;Trojan 的常见分享形式使用密码。它们都可能通过查询参数携带传输与 TLS 设置。链接看起来相似,并不意味着可以互换前缀,也不意味着参数名在所有导出格式中都完全一致。
vless://[email protected]:443?encryption=none&security=tls&type=ws&host=edge.example.com&path=%2Fconnect&sni=edge.example.com#Example
trojan://[email protected]:443?security=tls&sni=edge.example.com#Example
按“连接端点”和“握手参数”分开核对
连接端点与身份
- 地址决定实际连接的服务器。
- 端口必须与服务端监听端口一致。
- VLESS 核对 UUID,Trojan 核对密码。
TLS 与传输
sni指定 TLS 握手所用的服务器名称。type=ws时核对 Host 与路径。security等参数按原始资料填写。
地址、SNI 与 WebSocket Host 可以不同,但只有服务端按这种组合部署时才成立;不要为了让字段一致而擅自修改。
path=%2Fconnect 解码后为 /connect。密码若包含 @、# 或 ?,需要正确的百分号编码,否则解析器可能把密码的一部分误认为地址、备注或查询参数。应使用服务商生成的完整链接,避免在聊天软件中手工重组。
VLESS 中的 encryption=none 描述其协议层字段,不等于整个连接必然明文;是否启用 TLS 要另看传输安全配置。Trojan 通常依赖 TLS,证书验证失败时应先检查时间、SNI 与证书配置,不应把关闭验证当作常规导入步骤。
在 Shadowrocket 导入:按已有资料选择入口
先判断手中资料是完整分享链接、二维码,还是服务商提供的 Subscribe 地址。分享链接适合一次导入具体服务器;需要持续同步服务器列表时,应保留订阅关系。下面比较的是 Shadowrocket 内的导入方式,不是对任何线路质量的评价。
Type → Subscribe
推荐已经获得订阅地址时,将其作为 Subscribe 保存,后续更新同一订阅获取列表变化,不必逐条重新复制。
适合:已有订阅、需要同步服务器列表的用户
从剪贴板导入
复制一条完整的协议分享链接,由 Shadowrocket 识别并创建服务器记录;导入后检查 Type 与关键参数。
适合:只需添加一个服务器或核对单条资料
扫描二维码
读取二维码承载的文本,再按文本类型处理;二维码可以装分享链接,也可以装订阅地址。
适合:从另一块屏幕读取已有连接资料
单条分享链接的操作顺序
- 从你的服务商处获取完整链接,复制时不要连同引号、项目符号或说明文字一起选择。
- 打开 Shadowrocket,在 Home 按剪贴板识别提示添加;系统询问粘贴权限时,确认这是刚才主动复制的资料。
- 若未出现识别提示,可用服务商提供的二维码扫描导入,或进入 Home → +,按 Type 手动填写原始参数。
- 打开导入记录,检查 Type、地址、端口、认证字段,以及 TLS、SNI 和传输设置,再保存并选择该记录。
订阅地址的操作顺序
- 进入 Home → +,在 Type 中选择 Subscribe。
- 将完整订阅地址填入 URL,按需填写备注并保存;不要把它误填成普通服务器的地址。
- 等待订阅获取完成,在 Home 核对该订阅下的服务器记录;需要同步变化时,对对应订阅执行更新。
- 更新完成后重新确认当前选择的记录。若服务商删除或替换了原有记录,旧的选择可能需要调整。
结论:需要同步列表,就保留 Subscribe
如果资料源是订阅地址,优先按 Subscribe 保存;不要只从订阅中复制出一条分享链接后,就期待这条独立记录自动跟随订阅变化。
导入成功后,分开检查解析、连接和规则
“导入成功”只说明应用已经把文本转换成记录,不表示服务器可达、认证通过或所有网站都按预期分流。应逐层排查,避免把规则行为当成分享链接错误,也避免因一次连接失败反复改动多个字段。
- 检查解析结果:确认 Type 与链接前缀对应,地址没有尾部空格,端口没有丢失,备注没有被误填到认证字段。
- 检查连接条件:按服务商资料核对密码或 UUID、TLS、SNI、Host 与路径。超时、认证失败和证书错误属于不同问题,不要统一用更换端口处理。
- 检查 Global Routing:Direct 使用直接连接;Proxy 用于代理姿态;Config 按当前配置规则处理;Scene 则要检查当前场景的设置。排查时必须知道当前采用哪一种。
- 检查 Config:例如
DOMAIN-SUFFIX,example.com,DIRECT会让匹配该规则的请求采用 DIRECT,即使 Home 已选择某个服务器,也不会改变该条规则的含义。
订阅更新与服务器连接也是两件事:订阅可以更新成功,但某一服务器暂时不可用;服务器也可以正常连接,而订阅地址因凭据失效无法更新。处理前应先确认失败发生在“获取列表”还是“使用列表中的记录”。
分享链接与订阅导入的常见问题
复制了 vmess://,为什么没有识别出来?
先检查链接是否完整,是否混入换行、中文引号或末尾标点。Base64 部分少一个字符就可能无法还原 JSON。重新从你的服务商处复制原文,或扫描其提供的二维码,不要随意补字符。
二维码扫出来是 https://,是不是拿错了?
二维码只是文本载体。若服务商说明这是订阅地址,在 Home → + → Type → Subscribe 的 URL 中保存;若它是网页地址,应先向服务商确认用途,不要仅凭二维码外观判断。
单条链接还能用,为什么订阅更新却失败?
先核对 Subscribe 的 URL 是否被截断,尤其是问号后的 token;再确认订阅凭据是否仍有效。不要用服务器密码替换订阅 token,它们通常是两套不同的认证资料。
改了链接最后的备注,会影响连接吗?
通常修改 # 后的备注只改变显示名称。但若编辑时误删前面的查询参数,或将密码中的特殊字符错误地改成分隔符,就会影响解析。建议在导入后编辑备注,保留原始连接资料。