本文适合已经持有自己服务商配置、需要判断导入类型的用户。先区分单条分享链接与订阅地址,再查看 Shadowsocks、VMess、VLESS、Trojan 的字段,最后在 Shadowrocket 中完成导入、更新和连接验证。所有域名、密码与 UUID 都是教学假值,不能用于实际连接。
一、先分清链接是在描述连接,还是指向配置列表
Shadowrocket(小火箭)中的单条服务器记录,保存协议、服务器地址、端口及认证信息。以 ss://、vmess://、vless:// 或 trojan:// 开头的分享链接,通常把这些字段直接编码在链接内。导入是在本地还原字段,并不代表已经验证服务器可用。
订阅地址则通常是一个 HTTPS 地址。Shadowrocket 请求该地址后,读取返回内容,再生成或更新一组服务器记录。因此,“分享链接是否能解析”与“订阅服务器是否能访问”是两个不同问题。HTTPS 只是访问方式,普通网页、登录页面也使用 HTTPS,不能只看前缀就认定它是订阅。
单条记录一般不会因为原服务器更换地址而自动改变;订阅下的记录可以在更新时重新取得参数。更新也可能移除旧条目或覆盖订阅管理的字段,因而不宜把本地手工修改当成长期维护方式。本文只解释用户已有配置的使用,不提供、不销售、不推荐连接服务或订阅。
二、ss://:识别 Shadowsocks 的认证信息和端口
ss:// 表示 Shadowsocks 分享格式。常见的 SIP002 形式把加密方法与密码放在 Base64 编码的用户信息中,随后接 @服务器:端口。下面的认证部分解码为 aes-128-gcm:password;域名和密码均为假值。
ss://[email protected]:8388#Example-SS
YWVzLTEyOC1nY206cGFzc3dvcmQ=:Base64 编码后的加密方法与密码,不是服务器域名。ss.example.com:服务器主机名;8388是本例端口,实际值必须与服务端一致。#Example-SS:显示备注。修改备注通常不改变连接参数。?plugin=:某些链接会携带插件参数,不能在复制时随意丢弃;是否可用取决于具体参数及客户端支持情况。
另一些旧式链接会将“加密方法、密码、服务器、端口”整体编码,看起来没有明显的 @。两种外观不意味着两种协议。Base64 只是文本编码,不是保密措施;能取得完整链接的人通常也能还原其中的连接凭据。
三、vmess://:先解码 JSON,再区分传输与 TLS
常见的 VMess 分享格式是 vmess:// 后接 Base64 编码的 JSON。它与 VLESS 的 URI 写法不同,不能把前缀改成 vless:// 来转换协议。下面展示的是解码后的教学 JSON,并非可以直接粘贴导入的完整分享链接。
{
"v": "2",
"ps": "Example-VMess",
"add": "vmess.example.com",
"port": "443",
"id": "00000000-0000-4000-8000-000000000001",
"aid": "0",
"scy": "auto",
"net": "ws",
"type": "none",
"host": "ws.example.com",
"path": "/connect",
"tls": "tls",
"sni": "tls.example.com"
}
add 与 port 指定连接目标,id 是认证用 UUID,ps 是备注。net=ws 表示使用 WebSocket,path 是对应路径,host 是该传输中的 Host 信息。这里的 tls=tls 才表达启用 TLS;仅把端口写成 443 并不会自动补齐 TLS 设置。
sni用于 TLS 握手中的服务器名称,不能因为它与add不同就直接覆盖。aid是历史兼容字段,本例为0;它不是连接延迟,也不是端口。scy是 VMess 的加密设置,不能与 WebSocket、TLS 混作同一个开关。v是这类分享 JSON 的格式字段,不是 Shadowrocket 的应用版本。
导入后若地址、UUID 都在,但连接仍失败,应同时核对传输类型、路径、Host 与 SNI。只有服务器地址正确,不足以让使用 WebSocket 和 TLS 的配置建立连接。
四、vless:// 与 trojan://:外形相近,认证含义不同
VLESS 与 Trojan 常见分享形式都接近标准 URI:认证信息在 @ 前,服务器和端口在后,问号之后是参数,井号之后是备注。以下两行只是结构示例,不能作为可连接的配置。
vless://[email protected]:443?encryption=none&security=tls&type=ws&host=ws.example.com&path=%2Fconnect&sni=tls.example.com#Example-VLESS
trojan://[email protected]:443?security=tls&type=tcp&sni=tls.example.com#Example-Trojan
| 字段位置 | VLESS 示例 | Trojan 示例 |
|---|---|---|
@ 之前 | UUID 认证标识 | 连接密码 |
security=tls | 本例的 TLS 设置 | 本例的 TLS 设置 |
type | ws,WebSocket | tcp,本例使用 TCP 传输 |
sni | TLS 服务器名称 | TLS 服务器名称 |
# 之后 | 显示备注 | 显示备注 |
VLESS 示例中的 encryption=none 描述 VLESS 自身的加密字段,不等于整条连接没有 TLS。本例另外用 security=tls 指定传输安全设置。分享参数存在实现差异,若来源还附带 flow 等字段,应保留原值并核对导入结果,不能从其他链接拼接参数。
%2Fconnect 解码后是 /connect。密码内若包含 @、#、& 等保留字符,通常需要正确的百分号编码,否则解析器可能把密码的一部分当成分隔符。IPv6 字面地址放进 URI 时还需要方括号,例如 [2001:db8::1]:443;该地址也仅用于文档示例。
五、在 Home 分别导入单条链接与订阅地址
操作前先确认手中内容的类型。Config 管理的是规则配置,不能因为内容也是一个 URL,就把服务器订阅地址当成规则配置导入。Home 中的服务器记录、订阅分组与 Config 中的路由规则各有用途。
两种导入对象:单条连接参数与远程订阅列表
单条分享链接
- 完整复制原链接;若出现剪贴板导入提示,先核对协议类型。
- 在 Home 完成导入后,打开记录检查服务器、端口和认证字段。
- 再核对 TLS、SNI 与传输参数,不以备注名称判断协议。
- 参数变更时重新导入或编辑该记录,不依赖订阅刷新。
用户已有的订阅地址
- 进入 Home → +,将 Type 设为 Subscribe。
- 在 URL 中粘贴完整订阅地址,填写便于辨认的备注后保存。
- 执行订阅更新,确认所属分组中出现服务器条目。
- 以后从原订阅更新参数,不把每次刷新当成新增订阅。
导入成功只说明字段或返回内容能够解析;完成连接测试与实际访问后,才能判断当前配置是否可用。
典型的订阅地址形如 https://example.com/sub?token=xxxx,这里的域名与 token 都是假值。真实 token 可能直接代表访问权限,应保留完整查询参数,但不要发到公开讨论区。浏览器能打开某个地址,也不保证应用能读到有效订阅:返回内容可能是登录页、错误页或不支持的格式。
- 保存订阅后记录分组名称与条目数量,便于比较下一次更新结果。
- 执行更新,观察是否报错,以及服务器地址或条目是否发生变化。
- 选中一个条目执行 Connectivity Test,再打开连接开关进行实际访问。
- 若需要修改订阅条目,先保留原参数;后续更新可能覆盖由订阅管理的字段。
六、手动更新与自动更新怎样选择
订阅更新是重新请求远程列表,不是测试所有服务器,也不是给单条分享链接增加自动同步能力。首次导入建议先手动更新,确认来源与返回内容正确;建立可重复的验证方法后,再根据需要调整 Settings → Subscribe 中的更新设置。
手动更新 Subscribe
推荐首次导入或排查时主动触发更新,可以将错误提示、条目变化与这一次操作对应起来,避免在参数尚未核对时反复刷新。
适合:首次导入、参数核验、订阅更新失败排查
自动更新 Subscribe
在已有订阅能正常更新的前提下,按应用提供的更新设置维护列表。实际触发仍受网络与运行状态影响,不能当成持续后台轮询保证。
适合:已验证可用、需要持续维护远程列表
若订阅请求只有通过现有代理连接才能到达,可检查 Settings → Subscribe → Update via Proxy。启用前必须已有可工作的连接;该设置不能修复失效 token,也不能让全部失效的服务器自行恢复。若当前连接不可用,强制通过它更新反而可能导致超时。
七、常见问题:从解析失败到更新后无法连接
复制了链接,为什么导入后什么都没有?
先检查开头是不是完整的协议前缀,末尾有没有被聊天软件截断,链接中是否夹入换行、引号或说明文字。若是 VMess,确认拿到的是完整编码内容,而不是截取的 JSON 片段。回到原始来源重新复制,不通过修改前缀猜测协议。
订阅更新成功,为什么单条服务器仍然超时?
更新成功只证明订阅地址可访问且返回内容能解析。进入 Home 选中具体条目,执行 Connectivity Test,然后核对地址、端口、认证信息及 TLS 参数。若只有个别条目失败,应按条目排查,而不是连续刷新整个订阅。
端口已经是 443,为什么还要检查 SNI?
端口只决定连接目标的端口号。使用 TLS 时,SNI、证书名称与验证结果仍会影响握手。打开条目核对 TLS 与服务器名称,按原配置恢复正确值,不把关闭证书验证作为常规修复方法。
更新后自己改过的名字或参数为什么变了?
订阅管理的记录可能在刷新时被重新生成或覆盖。先对照更新前保存的信息,区分只是备注变化,还是服务器、端口或认证发生变化。长期需要保留的独立调整应与订阅管理的条目分开维护,并注意原服务参数变更后仍需人工同步。
可以把链接发给别人帮助排查吗?
不要直接发送原链接。先隐藏密码、UUID、token 等敏感值,只保留协议类型、端口、传输方式与错误现象。若完整订阅地址已经泄露,应通过原服务商提供的账户管理方式重置访问凭据,再到 Home 更新订阅 URL。
排查时可按“类型识别 → 完整复制 → 字段核对 → 订阅请求 → 单条测试 → 实际访问”的顺序推进。分享链接承载连接参数,订阅地址承载获取列表的入口;先确定故障处于哪一层,才能避免把路由问题误当成格式问题,或把远程服务器故障误当成导入失败。