适用于已经持有自己的服务商订阅、但在 Shadowrocket(小火箭)中遇到更新超时、解析失败或节点列表为空的用户。先区分请求失败与返回内容异常,再核对链接、账户状态和请求路径;确认原始订阅有效后,才考虑重新导入,避免先删除仍能使用的旧节点。
1. 先区分更新失败与节点为空
订阅更新包含三个环节:访问订阅地址、取得响应内容、把内容解析为节点。某一环节失败,最终都可能表现为 Home 中没有预期节点,但处理方法不同。旧节点仍在、刷新时报错,通常应先检查请求是否成功;首次导入后一个节点也没有,则还需要确认响应内容是否真的是节点订阅。
不要把“更新成功”和“节点能够连接”视为同一件事。前者说明订阅请求及解析完成,后者还依赖节点地址、端口、认证参数和当前网络。本文先解决列表获取问题;列表恢复后,再单独进行连接测试。
判断:旧节点可用时先保留
如果旧节点仍能连接,只刷新目标订阅并记录错误,不要先清空 Home。这样可以保留可用连接,也便于判断故障来自订阅更新还是节点本身。
2. 核对链接完整性与订阅类型
订阅 URL 是取得节点列表的地址,不是账户登录页,也不是服务商网站首页。复制时应使用自己的服务商提供的订阅复制功能,检查开头的协议、域名、路径以及问号后的查询参数。聊天软件中的换行、末尾句号、引号或省略显示,都可能让看似相同的链接变成另一个地址。
https://example.com/sub?token=xxxx
上面只是格式示意,不是可用订阅。实际地址可能采用不同路径或参数名,不能照着示例改写。尤其不要删除 ? 后面的内容,也不要把 &、= 或经过百分号编码的字符手动替换。订阅凭据可能位于路径中,而不一定叫 token。
-
重新复制地址
从自己的服务商账户页重新复制适用于 Shadowrocket 的订阅 URL。若有不同格式选项,按服务商对 Shadowrocket 的说明选择,不要复制账户管理页面地址。
-
检查订阅类型
在 Home 右上角「+」进入添加页面,Type 选择 Subscribe。单个节点的分享内容与批量订阅 URL 用途不同,不应把网页地址填成某个协议的服务器地址。
-
核对 URL 字段
将完整链接填入 URL,检查首尾是否有空格、换行或额外标点。可设置便于辨认的名称,但不要把完整凭据写进名称。
-
保存并刷新
保存后返回 Home,执行订阅更新;使用下拉刷新时确认目标订阅的结果,再查看其分组内是否出现节点。排错期间只改这一条订阅,避免同时调整其他来源。
3. 按响应结果检查服务商侧状态
如果错误信息提供了 HTTP 状态码,可以据此缩小范围。下面的状态码是服务器响应的标准含义,不代表所有版本都会显示相同的完整报错句子。若界面只有笼统的失败提示,应记录实际原文,再向自己的服务商确认对应请求结果。
报错:401 Unauthorized
原因:服务器未接受当前请求的认证信息,订阅凭据可能失效。
解法:在自己的服务商账户页确认凭据是否被重置,重新复制当前订阅 URL 后再更新。
报错:403 Forbidden
原因:服务器拒绝访问,可能涉及账户权限、来源限制或风控规则,不能仅凭此码认定套餐过期。
解法:核对账户状态,向服务商提供错误码及发生时间,请其确认订阅端点的访问限制。
报错:404 Not Found
原因:请求的路径不存在,常见于旧订阅地址失效、复制不完整或服务商调整路径。
解法:重新取得当前订阅地址,逐项核对域名与路径,不要自行猜测新的接口位置。
报错:429 Too Many Requests
原因:订阅端点对短时间内的请求次数进行了限制。
解法:停止连续刷新,按服务商说明或响应中的 Retry-After 等待;恢复后只手动更新一次。
报错:503 Service Unavailable
原因:服务端或其前置网关暂时无法处理请求。
解法:查看自己服务商的维护通知,保留现有节点,等待服务恢复后再试,不必因此重建全部配置。
还要核对账户是否有效、流量是否耗尽、当前套餐是否包含可用节点。不同服务商可能返回错误码、说明文本,或者一个空列表,不能假定都会用同一种方式提示。浏览器打开链接若显示登录页面、安全验证页或账户提示页,即使状态码为 200,也不是可直接解析的节点内容;浏览器能看到内容,也不保证应用请求会得到完全相同的响应。
- 返回空正文:确认订阅接口是否临时异常,以及当前账户是否确实分配了节点。
- 返回 HTML 页面:确认复制的是订阅端点,而不是需要交互登录的网页。
- 返回可读文本但解析失败:请服务商确认输出格式适用于 Shadowrocket,避免把不同配置格式直接混用。
4. 超时先查请求路径,再查更新时机
超时只说明请求没有在限定时间内完成,并不能直接证明链接过期。先确认当前 Wi-Fi 或移动网络能够正常访问其他网站;公共 Wi-Fi 如果尚未完成网络登录,应先完成认证。切换一次网络再对同一订阅更新,可以帮助区分本地网络限制和订阅服务器故障。
订阅请求使用的路径与节点测试并不完全相同。Settings → Subscribe 中的 Update via Proxy 会影响订阅更新是否经代理发出;只有已经存在可用节点、连接已建立且实际请求能够到达订阅端点时,这个选项才可能帮助解决直连受限的问题。首次导入且列表完全为空时,不能依赖一个尚不存在的节点完成更新。
| 观察到的现象 | 优先检查 | 下一步操作 |
|---|---|---|
| Wi-Fi 超时,移动网络可更新 | Wi-Fi 的网络登录、DNS 与访问限制 | 先用可用网络完成更新,再处理原网络问题 |
| 启用代理更新后反而超时 | 当前节点是否可用、更新请求是否被正确转发 | 记录原设置,暂时关闭 Update via Proxy 后测试直连更新 |
| 直连失败,已有代理连接可用 | 订阅端点是否在当前网络受限 | 在 Settings → Subscribe 启用 Update via Proxy 后单次测试 |
| 连续刷新后出现 429 | 接口频率限制与后台自动更新 | 停止手动重试,等待限制解除后再更新 |
如果连接开关刚关闭就又自动开启,检查 Settings → On Demand 是否存在自动连接条件。它控制何时建立连接,不负责把错误链接修复成正确订阅。排错时记录原设置,仅在需要固定测试条件时暂时关闭,完成后恢复。也不要通过反复切换 Global Routing 来碰运气:Proxy、Direct、Config、Scene 是流量处理姿态,不是订阅格式转换开关。
5. 节点为空时,先检查分组和返回内容
刷新后先回到 Home,确认查看的是刚更新的订阅分组,展开折叠分组,并清除当前搜索条件。分组收起或搜索词未清除时,“没有显示节点”不等于订阅返回了零个节点。若其他订阅正常、只有一组为空,应优先检查这一组的来源,不要同时重置所有订阅。
- 分组存在但内容为空:请服务商确认响应中实际包含节点,而不只是流量信息、到期提示或空内容。
- 部分节点出现、部分缺失:检查订阅自身的筛选条件、服务商输出范围,以及缺失条目的格式是否受支持。
- 节点出现但连接失败:列表获取问题已经与连接问题分离,接下来核对对应协议的地址、端口和认证参数。
- 旧列表在刷新后变少:确认是否为服务商调整了节点集合,不要把“数量变少”直接判定为客户端解析故障。
判断:200 加空列表,先核对服务端内容
若网络请求已经成功,但清除搜索并展开分组后仍为空,下一步应请服务商确认该账户当前的订阅输出,而不是反复更改 Global Routing 或重装应用。
6. 重新导入前保留哪些信息
重新导入适合修复本地保存的旧地址或错误条目,却不能修复服务商接口故障。删除旧订阅前,应确认能够重新取得完整 URL,并记录手动添加的节点、原有分组名称以及当前选中的节点。如果订阅仍有可用节点,应优先保留原条目,避免把尚可工作的连接一并移除。
- 保存错误记录:记下实际提示、发生时间、使用网络,以及更新是否经代理发出;不要只记录“不能用”。
- 确认当前链接:从自己的服务商账户页重新复制,不使用很早以前保存在聊天记录中的地址。
- 核对账户输出:确认账户有效、接口已恢复,且该链接应当返回至少一个可用节点。
- 单独验证新条目:需要重新添加时,在 Home →「+」→ Type → Subscribe 中使用可区分的名称,只做一次更新测试。
- 验证后再清理:新条目能展开节点且连接测试符合预期后,再删除确认失效的旧订阅;不要只凭名称相同就批量删除。
若仍无法恢复,向自己的服务商提供以上记录,并说明故障是“请求超时”“HTTP 错误”还是“请求成功但列表为空”。这些信息比完整 URL 截图更适合初步定位问题。涉及凭据更换时,应通过服务商自己的安全支持渠道处理。
7. 常见问题
网页能打开,为什么订阅还更新不了?
普通网页与订阅端点可能使用不同域名、认证和访问策略。先核对完整 URL,再检查 Settings → Subscribe → Update via Proxy 的状态,并分别记录直连与已有可用代理连接下的结果。
更新失败,要马上删除所有节点吗?
不需要。先保留旧节点并单独刷新故障订阅;旧节点可连接时继续保留。只有确认新订阅已成功导入、原条目确实失效后,再进行清理。
重置过订阅链接,旧链接还会有效吗?
是否立即失效由服务商决定。应重新复制当前链接并替换旧条目中的 URL;不要把重新登录账户等同于自动更新了 Shadowrocket 内已保存的凭据。
更新成功却还是不能上网,接着查哪里?
先在 Home 选择实际节点进行 Connectivity Test,再核对 Global Routing:需要按规则分流时检查 Config 及当前配置中的 Rule。Direct 不会使用代理转发普通请求;订阅成功本身不保证节点连通或规则命中。
获取 Shadowrocket 与首次配置步骤
iPhone / iPad 版在 App Store $2.99 一次性付费,开发者为 Shadow Launch Technology Limited,系统要求以 App Store 页面标注为准;Mac(Apple 芯片 / Intel)、Windows、安卓、Linux 版免费。按设备前往下载页获取,再使用自己已有的订阅完成配置。