本文适用于已经有自己的服务商与订阅的用户。先在 Home 手动更新并确认结果,再设置打开应用时自动更新;遇到失败时,按链接、网络、HTTP 响应与内容格式逐项检查。订阅从你的服务商处获取。更新成功只说明订阅内容已被读取,不等于其中每条连接都可用。
订阅更新与连接的区别
Shadowrocket(小火箭)中的订阅,是通过一个地址读取服务器配置的方式。订阅更新会重新请求该地址,并按返回内容更新对应分组。它不是客户端更新,也不是 Config 文件的更新。单独添加的一条服务器配置没有订阅来源,下拉刷新不会替它向服务商获取新的地址、端口或凭据。
这几个环节对应不同故障:地址错误时可能无法访问;网络不通时请求可能超时;服务器正常响应但返回登录页面时,内容仍然无法作为订阅解析。因此,看到 Home 里保留着旧条目,不能据此判断本次更新成功。排查时应同时观察刷新提示、订阅分组内容和服务商告知的变更。
Home 手动更新步骤
先完成一次可观察的手动更新,再启用自动更新。这样可以区分“触发方式没有生效”和“订阅请求本身失败”。如果已有订阅分组,从下面的第二步开始,不必重复添加同一个地址。
-
核对订阅
在 Home 查看是否已有对应的订阅分组。首次添加时,进入 Home → 右上角“+”→ Type → Subscribe,填写从你的服务商处获取的完整订阅地址,保存后返回 Home。
-
下拉更新
在 Home 列表顶部向下拉动,触发刷新。保持应用在前台,等待刷新结束,不要连续下拉或在请求进行中反复切换网络。
-
查看结果
留意刷新结束后的提示,并检查目标分组。若服务商明确告知新增、删除或改名,应核对对应条目;如果远端没有变更,更新成功后列表也可能保持原样。
-
单独测连接
在确认更新成功后,再选择需要使用的服务器并测试实际访问。记录“订阅能否更新”和“服务器能否连接”两个结果,避免把连接失败误判为订阅失效。
已有多个订阅时,注意提示对应哪个分组,不要把一个分组的成功结果用于推断其他分组也已更新。更新可能改变服务商管理的条目,因此不宜把需要长期保留的个人修改只写在订阅生成的条目上;修改前先记录必要信息。
打开时自动更新设置
设置入口为 Settings → Subscribe → Update On Open。启用后,应用会按该设置在打开时尝试更新订阅。这里控制的是订阅内容的获取,不是系统 VPN 的自动连接;Settings → On Demand 处理按需连接,两者不是同一个开关。
- 先在 Home 完成一次手动刷新,确认当前地址能够被正常读取。
- 进入 Settings → Subscribe,找到并启用 Update On Open。
- 离开应用后再次打开,观察 Home 的刷新状态与更新结果。不要只通过条目数量是否变化判断有没有发起更新。
- 如果手动更新成功、自动更新未见预期结果,先核对开关是否仍然开启,再记录当时使用的网络与应用打开方式。
“打开时”不等于应用在后台持续轮询,也不表示锁屏后会按固定间隔更新。系统对后台运行有自己的管理方式;需要立即确认订阅状态时,进入 Home 手动刷新更容易核验。自动更新遇到网络或授权错误,同样需要按后文排查,开关本身不会修复无效地址。
先核对地址与授权状态
订阅地址往往包含凭据。复制时应保留完整查询参数,避免截断问号之后的内容,也不要把订阅页面的网址误当作订阅接口。下面仅用假值说明结构,不是可用订阅,不要将其导入后测试。
https://example.com/sub?token=xxxx
- 核对完整性:检查地址前后是否混入空格、换行或聊天软件附加的标点。不要自行删除看起来复杂的参数。
- 核对来源:使用从你的服务商处获取的、适用于 Shadowrocket 的订阅地址,而不是账户首页、付款页面或公告页面。
- 核对有效期:向自己的服务商确认订阅授权是否有效、地址是否被重置,以及是否存在访问频率限制。
- 核对替换范围:服务商重置 token 后,应更新本地保存的订阅地址。仅重新打开应用不会把旧 token 自动变成新 token。
若错误中出现 HTTP 状态码,可先按下面三种情况定位。状态码只说明请求处理结果,不直接说明订阅格式是否正确;尤其是 200,仍需查看应用是否成功解析。
网络报错与请求失败排查
以下为网络请求可能返回的英文错误原文;具体显示形式由当前界面及系统返回信息决定。排查时保留实际错误,不要把所有失败统一记为“更新不了”。每次只改变一个条件,再手动刷新一次,便于判断哪一步起作用。
报错:The request timed out.
原因:请求在等待时间内没有完成,可能与当前网络或订阅服务器响应有关。
解法:先确认普通网页能正常打开,再在 Wi-Fi 与蜂窝网络之间切换测试;若两种网络均超时,向自己的服务商确认接口状态。
报错:A server with the specified hostname could not be found.
原因:订阅域名未能解析,可能是域名拼写错误、网络 DNS 异常或服务端域名发生变更。
解法:核对原始地址中的域名,再换一个可用网络重试;若仍失败,向自己的服务商确认当前地址。
报错:Could not connect to the server.
原因:与目标服务器的连接未能建立,可能涉及服务器停机、端口不可达或网络访问限制。
解法:保持地址不变,对比不同网络下的结果;若只有该订阅失败,提供脱敏后的错误信息给自己的服务商核查。
如果系统时间明显不正确,HTTPS 请求还可能出现证书相关错误,应先在设备系统设置中核对日期与时间。不要通过忽略证书验证来处理订阅失败。地址中的 HTTPS 端口通常为 443;除非服务商明确给出其他端口,不要自行补写或更改端口号。
- 若当前连接完全中断,先恢复设备本身的网络,再测试订阅请求。
- 若在已连接状态下更新失败,而断开后成功,记录这个差异,检查当前路由与连接状态,不必立即删除订阅。
- Global Routing 的 Proxy、Direct、Config、Scene 是路由模式选择,不是订阅格式选项。切换模式不能修复失效 token 或不兼容内容。
- 若出现 HTTP 429,应停止连续刷新,按服务商要求等待后再试,避免进一步触发频率限制。
格式不符、空列表与旧条目
网络请求完成后仍然可能导入失败。常见情况是接口返回 HTML 登录页、验证页面、错误说明或空内容,而不是应用能够识别的订阅数据。不要通过“浏览器能打开一个页面”直接认定它就是有效订阅;浏览器还可能带有登录状态,应用请求未必具有相同条件。
| 观察现象 | 优先检查 | 下一步 |
|---|---|---|
| 请求有响应但无法解析 | 响应是否为登录页或错误页面 | 确认使用的是适用于 Shadowrocket 的订阅接口 |
| 刷新后没有可用条目 | 远端是否返回空列表或授权提示 | 向自己的服务商确认订阅内容与账户状态 |
| 服务商改名后仍显示旧名 | 本次更新是否真正成功、是否查看了正确分组 | 核对目标订阅地址及刷新结果后再比较条目 |
| 列表已更新但连接失败 | 服务器地址、端口、凭据和当前网络 | 转入连接诊断,不再重复刷新订阅 |
Type → Subscribe 表示按订阅地址获取配置集合,不是让用户在这个位置选择 Shadowsocks、VMess、VLESS、Trojan、Hysteria2 或 WireGuard。具体协议与连接字段由订阅内容决定。若服务商提供多个格式入口,应向自己的服务商确认适用于 Shadowrocket 的那一个,不要只修改地址后缀猜测格式。
也不要为了排除格式问题直接清空所有条目。先保存错误信息,确认自己持有完整有效的订阅地址,再考虑替换对应订阅。删除旧分组后若新地址仍不可用,会同时失去原有信息,使前后对照更困难。
复核结果与反馈信息
完成排查后,回到 Home 再手动更新一次,并把结果分成三类:请求失败、请求完成但解析失败、解析成功但连接失败。明确所属环节后,再决定是检查网络、联系自己的服务商核对订阅,还是继续做连接诊断。
- 记录操作路径:例如 Home 下拉刷新,或启用 Settings → Subscribe → Update On Open 后重新打开应用。
- 记录错误原文:保留 HTTP 状态码或系统网络错误;截图前遮盖完整订阅地址、token、密码及个人账户信息。
- 记录环境差异:说明发生在 Wi-Fi 还是蜂窝网络、是否已建立连接,以及切换网络后结果是否一致。
- 记录列表变化:说明是全部订阅失败还是某一个分组失败,以及服务商预告的变更是否已出现。
不要把带 token 的订阅地址发送到公开评论区或公开检测页面。反馈时先提供脱敏后的域名与错误信息;需要完整凭据时,应使用自己的服务商指定的私密支持渠道。手动更新稳定成功后,再保留 Update On Open 作为日常设置,仍应在实际使用异常时核对刷新结果。