本文速览

Shadowrocket(小火箭)订阅为空,不等于应用需要重新购买。本文面向已经持有自己服务商与订阅的用户,按“链接、响应、解析、更新路径”逐层排查,区分请求失败、返回空内容和列表显示问题,并说明怎样保留现有配置、验证修复结果。

先区分:没有获取内容,还是内容没有显示

订阅更新包含两个不同动作:从订阅地址取得响应,再把响应中的有效条目解析到 Home。请求失败时,应用可能仍保留旧条目;请求成功时,返回的也可能是登录页面、错误说明或空内容。因此,“有列表”不能证明刚才更新成功,“列表为空”也不能直接证明网络完全不通。

读取链接建立连接接收响应解析内容显示条目
  1. 首次导入为空:先确认导入的是订阅地址,而不是账户页面或 Config 配置地址,再核对服务商是否实际返回了可用条目。
  2. 原先有条目,更新失败:记录错误提示与发生时间,暂时保留旧条目,不要先删除整个订阅。
  3. 提示更新完成,但找不到条目:回到 Home,展开对应的订阅分组,清除搜索条件,确认查看的不是另一个分组。
  4. 条目可见但连接失败:这是后续的连接诊断问题。订阅地址能够访问,不代表其中每个服务器地址都能连接。

检查链接:保留完整参数,确认导入对象

从自己的服务商账户页面重新复制标为 Shadowrocket 或兼容订阅格式的地址。不要复制浏览器地址栏中的账户主页,也不要把“点击后导入”的网页入口当作实际订阅地址。若页面提供多种格式,应以服务商对 Shadowrocket 的格式说明为准。

https://example.com/sub?token=xxxx

上面只是用于辨认结构的假值,不是可使用的订阅。地址通常包含协议、主机名、路径和查询参数;其中 token 可能承担访问凭据的作用。复制时少一个字符、混入换行,或把半角符号改成全角符号,都可能使请求无效。

回到 Home,检查对应订阅的 URL,必要时用刚重新复制的地址替换,再手动更新一次。若只能新建订阅进行验证,给测试项使用可辨认的名称,保留原项直到新列表和连接都核对完毕。

检查响应:状态码与返回内容分别说明什么

若错误详情或服务商诊断记录中包含 HTTP 状态码,可按下面的含义缩小范围。这里列的是标准 HTTP 状态文字,不代表每个版本都会在界面中逐字显示。没有状态码时,保留原始提示,不要根据“为空”自行推断成某一种错误。

401 / 403
先核对凭据、授权与访问限制
429
先检查更新频率与限流提示
200
仍需检查正文是否为有效订阅

报错:401 Unauthorized

原因与解法:请求缺少有效授权,或当前凭据已失效;到自己的服务商账户页面核对订阅状态与当前链接,再替换 URL 后重试。

报错:403 Forbidden

原因与解法:服务器拒绝当前请求,可能涉及账户权限、来源地址限制或访问防护;向服务商确认拒绝条件,不要仅凭此码认定为应用故障。

报错:404 Not Found

原因与解法:请求路径不存在,或服务器选择以该状态隐藏不可访问的资源;重新复制完整地址,核对域名、路径及链接是否已被替换。

报错:429 Too Many Requests

原因与解法:更新请求触发了限流;停止连续刷新,若响应含有 Retry-After,按其要求等待,否则按服务商说明选择重试时间。

即使返回 200 OK,正文仍可能是需要登录的 HTML 页面、账户状态说明,或没有条目的订阅内容。浏览器能打开账户页面,只说明浏览器当前会话可以访问该页;浏览器保存的登录状态不会自然成为应用订阅请求的授权。

结论:收到响应后,先核对内容再修改网络

若服务商确认请求已到达,却返回登录页面或空列表,应先修正链接、账户状态或输出格式。反复切换网络不能把错误正文变成有效订阅。

检查网络:一次只改变一个更新条件

订阅地址的访问路径与条目连接的访问路径可能不同。现有条目仍可连接,而订阅域名暂时无法解析或访问,是可以同时发生的现象。先确认当前 Wi-Fi 不需要网页认证,再与蜂窝网络进行对照;不要在同一轮测试里同时换网络、改链接和重置配置。

  1. 记录基线:记下当前网络、连接开关状态、Global Routing 当前选择,以及手动更新时的完整提示。
  2. 更换网络验证:在允许使用蜂窝数据的前提下,切换 Wi-Fi 与蜂窝网络,各手动更新一次。若只有一侧失败,优先检查该网络的认证、DNS 或访问限制。
  3. 检查更新路径:在 Settings → Subscribe 中检查 Update via Proxy。仅当已有可用连接、且确实需要经代理访问订阅地址时,启用该项后再测试。
  4. 保留单项变更:一次测试只调整一个条件。记录成功或失败后,再决定是否保留这个设置,避免不知道是哪项修改起了作用。

Global Routing 中的 Proxy、Direct、Config、Scene 是流量路由的不同选择,并不是四种订阅格式。不要把切换到 Proxy 当作通用修复。排查订阅时,应同时核对专门的更新选项和当前可用连接,而不是仅看系统是否显示 VPN 状态。

遇到证书验证错误时,先核对设备日期与时间,再由服务商检查证书有效期及域名是否匹配。不要通过关闭证书验证来掩盖问题。连接超时则需要区分域名解析、建立连接和等待响应等阶段,不能只根据超时一词判断账户已到期。

更新成功仍为空:检查格式、分组与更新时机

能取得响应但没有条目时,应把注意力转向返回内容与解析结果。订阅可以使用不同的编码和组织方式;文件能作为文本打开,不代表其内容就符合客户端预期。服务商输出了另一类配置、编码被截断或正文只包含状态说明,都可能无法产生可用列表。

手动更新可作为诊断基线,因为它能把操作与当时的结果对应起来。自动更新会受到应用运行状态、系统调度及当时网络条件影响;未观察到后台更新,不能直接推断链接失效。On Demand 用于按条件建立连接,也不是订阅定时更新开关。

结论:手动更新恢复后,再观察自动更新

先让同一链接在确定的网络条件下完成一次手动更新,并核对实际条目。只有这一步成立,才适合继续检查自动更新设置与后台执行时机。

常见追问:保留旧内容,避免重复操作

更新失败,要先删除订阅再导入吗?

先不要删除。记录 Home 中现有分组与条目,核对 URL 和错误提示。需要重新导入验证时保留原项,待新项能更新、条目能连接后,再清理重复内容。

浏览器能打开,为什么 Shadowrocket 还是空的?

检查浏览器打开的是订阅正文还是登录后的网页。向服务商确认该 URL 是否无需网页会话即可返回兼容内容,并检查是否存在跳转、访问防护或输出格式差异。

打开 Update via Proxy 后反而不能更新怎么办?

先确认已有条目能正常连接,再比较该设置开启与关闭时的结果。若代理连接本身不可用,恢复原设置,换一个已确认可访问订阅地址的网络测试。

重新购买 Shadowrocket 能修复订阅吗?

不能据此解决链接失效、服务端拒绝或格式错误。客户端买断 ≠ 线路套餐;应用购买与用户已有订阅分别管理。应先按错误所处环节排查,而不是重复购买。

提交排查信息,并验证恢复结果

如果仍无法恢复,向自己的服务商提供足以定位请求的信息,而不是只描述“导入不了”。若已经确认服务端返回兼容且完整的内容,但应用仍无法解析,再整理最小复现步骤,以便进一步核对客户端侧行为。

修复后,在 Home 对目标订阅手动更新一次,确认没有报错、分组内出现预期条目,再选择其中一个条目验证连接。最后清理测试项,并恢复不需要保留的临时设置。更新成功与连接成功是两个检查点,应分别确认。