本文适用于已经拥有自己的服务商与订阅、需要在 Shadowrocket(小火箭)中导入连接参数的用户。先根据链接前缀区分单条分享与远程订阅,再核对服务器、端口、认证和传输参数,最后按导入、测试、更新的顺序验证。文内示例全部为结构说明,不能用于连接;本站不提供、不销售、不推荐节点或订阅。
一、分享链接与订阅链接:保存的是参数还是远程地址
ss://、vmess://、vless://、trojan:// 通常把一个节点的连接参数编码进字符串。导入后,客户端得到服务器地址、端口、认证信息及相关选项。以后服务器更换端口,原先保存的这条分享链接不会自动改写。
订阅链接通常是一个 https:// 地址。Shadowrocket 请求该地址后,读取返回内容中的节点列表;再次更新时重新获取内容。因此,订阅可以维护一组节点,也可能暂时只返回一个节点。“能否更新”取决于是否保留了远程订阅来源,而不是列表里当前有几条记录。
不能仅凭 https:// 就认定某个网址是订阅。服务商的账户页面、使用说明页面和订阅接口都可能采用 HTTPS。有效订阅地址必须返回客户端能够识别的订阅内容,而不是登录表单或网页。
二、ss://:Shadowsocks 的方法、密码与服务器
常见 Shadowsocks 分享链接采用 SIP002 风格:将“加密方法:密码”编码成 Base64 用户信息,后面接服务器与端口。Base64 是编码,不是保密措施;拿到完整链接的人通常可以还原认证信息。
ss://[email protected]:8388#Demo-SS
YWVzLTEyOC1nY206ZGVtby1wYXNz解码为aes-128-gcm:demo-pass,前半部分是方法,后半部分是示例密码。example.com:8388是示例服务器与端口。8388 不是 Shadowsocks 的固定要求,必须与实际服务端一致。#Demo-SS是备注片段,通常用于显示名称,不决定连接去向。- 部分链接还包含
plugin等查询参数。是否可用取决于参数内容与客户端支持,不能为了缩短链接直接删除。
还有较早的格式会把“方法:密码@服务器:端口”整体编码。因此,同样以 ss:// 开头,后面的字符串也未必都能按 @ 直接拆分。导入失败时先确认链接是否完整,以及方法是否受支持;不要把一种格式强行拼成另一种格式。
三、vmess://:Base64 内部通常是 JSON
常见 VMess 分享格式是 vmess:// 后接一段 Base64 编码的 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"
}
add、port、id分别描述连接地址、端口和用户 UUID;ps是备注。net指定传输方式。示例中的ws表示 WebSocket,path和host必须与服务端部署相符。tls与sni描述 TLS 相关设置。TLS 名称、HTTP Host 与连接地址可能相同,也可能不同,不能根据外观自行合并。v是该分享结构的字段,不是 Shadowrocket 应用版本;aid属于 VMess 参数,应保留已有配置给出的值。
若解码后缺少结尾大括号、字段被截断或出现富文本引号,说明复制过程可能破坏了数据。应从原始来源重新复制完整链接,而不是随意补写认证字段。能成功解析 JSON,也只代表格式可读,并不证明服务端能够连接。
四、vless:// 与 trojan://:外形相近,认证含义不同
这两类链接常采用 URI 结构:前缀之后是认证信息,@ 之后是服务器与端口,? 后面携带传输或安全参数,# 后面为备注。外形相近不代表协议可互换,修改前缀不能把一个服务转换成另一个协议。
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
| 字段 | VLESS 示例 | Trojan 示例 |
|---|---|---|
| 认证信息 | UUID | 密码 |
| 传输参数 | type=ws,需要匹配 Host 与路径 | type=tcp,按给定配置使用 |
| TLS 名称 | sni=example.com | sni=example.com |
| 备注 | Demo-VLESS | Demo-Trojan |
示例中的 encryption=none 描述 VLESS 协议层的设置,不能据此判断整条连接没有 TLS;应同时检查 security=tls 等参数。不同分享格式和传输组合还可能携带 flow 等字段,具体取值应以已有配置为准,不能给每条 VLESS 链接都套用同一值。
URL 编码也会影响解析:%2Fdemo 解码后是 /demo。密码或路径包含 @、#、& 等保留字符时,需要正确编码。不要把聊天软件添加的句号、换行或引号一起复制进去,也不要对整条链接反复解码,否则参数边界可能被改变。
五、在 Shadowrocket 导入单条链接与订阅
以下以 iPhone / iPad 常见的 Home 界面为操作参照;其他平台的按钮布局可能不同,仍应区分“导入单个服务器”与“添加 Subscribe 来源”。Home 管理节点及连接,Config 管理规则配置,Settings 管理应用选项。将节点链接导入 Config,并不能替代在 Home 添加服务器。
导入一条已有分享链接
- 从自己的配置来源复制完整链接,保留从协议前缀到备注末尾的内容。
- 进入
Home,使用剪贴板导入入口;若出现读取剪贴板权限提示,确认后再继续。不同平台若未显示该入口,可使用相应的导入菜单。 - 若使用二维码,二维码内容应是完整链接。扫描只是输入方式,不改变其中的协议参数。
- 导入后打开记录详情,核对协议、地址、端口、认证信息及 TLS / 传输设置,再保存并选择该记录。
添加已有远程订阅
- 在
Home → +中,将Type设为Subscribe。 - 把已有订阅地址粘贴到
URL,填写便于识别的备注并保存。这里填写的是订阅接口,不是服务商首页。 - 执行该订阅的更新操作,等待请求完成,再展开订阅分组检查返回的节点。界面若使用图标菜单,以其中的
Update操作为准。 - 保留订阅记录,以便以后更新。不要仅复制其中一条节点后就删除来源,并期待单条副本继续同步。
六、验证导入结果:先排除参数问题,再检查规则
导入成功只说明客户端识别了数据,不能证明认证、传输和远端服务都正常。先选择刚导入的记录,完成系统要求的连接授权并开启连接,再观察连通性测试与实际访问。测试数字只反映所用测试方式,不等于持续下载速度。
Global Routing → Config
推荐按当前 Config 的规则决定请求去向。命中规则可能选择 DIRECT、代理或其他已配置策略,并非所有请求都会使用刚选中的节点。
适合:导入验证完成后的日常规则分流
Global Routing → Proxy
让进入客户端代理处理范围的请求使用代理姿态,临时减少规则选择造成的变量。它不代表系统中每一种流量都必然被接管。
适合:排查“节点可用但目标请求未走代理”
Global Routing → Direct
采用直连姿态,不能用来证明已导入代理节点的可用性。若网页在此姿态下正常,只能说明对应的直连路径可用。
适合:与代理路径做临时对照
Global Routing 中的 Scene 用于按所配置的场景应用相应设置,不是第五种分享协议。排查时还应检查 Settings → On Demand:按需连接可能在符合条件时重新建立连接,但不会修复错误的 UUID、密码或 WebSocket 路径。
结论:每次只改变一个验证条件
先核对地址、端口与认证,再核对 TLS 和传输;参数确认后才临时切换 Global Routing。若 Proxy 可访问而 Config 不可访问,优先检查规则命中与策略选择,不要立即删除订阅重新导入。
七、分享链接与订阅导入常见问题
复制了链接,为什么 Home 没有新增记录?
确认复制的是完整的 ss://、vmess://、vless:// 或 trojan:// 字符串,而不是网页标题。去掉外侧引号与句末标点,但不要删除链接内部的查询参数;再从 Home 的导入入口执行一次。
把 https 地址加进去了,为什么更新后没有节点?
检查记录的 Type 是否为 Subscribe,以及 URL 是否为自己的订阅接口。登录页、已失效的令牌或不受支持的返回内容都可能导致无法生成节点。先核对来源与错误提示,不要通过改成某个协议前缀来“转换”订阅。
订阅更新后,手动改过的节点参数怎么恢复了?
订阅记录通常受远程内容管理,更新时可能重新生成或覆盖所属节点。需要临时验证参数时,先保留原订阅,再建立独立副本测试;长期修正应由原配置来源调整,避免每次更新重复修改。
显示 TLS 错误,可以直接关闭证书验证吗?
不要把关闭验证当作通用修复。先检查设备时间、SNI、连接地址,以及服务端证书是否与预期一致;WebSocket 还需核对 Host 和路径。保留错误信息,隐藏凭据后向自己的配置来源核实。
同一个链接可以直接改成另一种协议吗?
不可以。Shadowsocks、VMess、VLESS、Trojan 的认证与握手不同,服务端也必须提供相应协议。需要切换时,使用自己已有配置中对应协议的完整参数,而不是只替换前缀或端口。
保留完整来源,按协议核对字段,按订阅记录执行更新。分享格式解决参数传递,连接结果仍取决于配置、网络与远端服务。