Shadowrocket(小火箭)订阅为空,不等于应用需要重新购买。本文面向已经持有自己服务商与订阅的用户,按“链接、响应、解析、更新路径”逐层排查,区分请求失败、返回空内容和列表显示问题,并说明怎样保留现有配置、验证修复结果。
先区分:没有获取内容,还是内容没有显示
订阅更新包含两个不同动作:从订阅地址取得响应,再把响应中的有效条目解析到 Home。请求失败时,应用可能仍保留旧条目;请求成功时,返回的也可能是登录页面、错误说明或空内容。因此,“有列表”不能证明刚才更新成功,“列表为空”也不能直接证明网络完全不通。
- 首次导入为空:先确认导入的是订阅地址,而不是账户页面或 Config 配置地址,再核对服务商是否实际返回了可用条目。
- 原先有条目,更新失败:记录错误提示与发生时间,暂时保留旧条目,不要先删除整个订阅。
- 提示更新完成,但找不到条目:回到 Home,展开对应的订阅分组,清除搜索条件,确认查看的不是另一个分组。
- 条目可见但连接失败:这是后续的连接诊断问题。订阅地址能够访问,不代表其中每个服务器地址都能连接。
检查链接:保留完整参数,确认导入对象
从自己的服务商账户页面重新复制标为 Shadowrocket 或兼容订阅格式的地址。不要复制浏览器地址栏中的账户主页,也不要把“点击后导入”的网页入口当作实际订阅地址。若页面提供多种格式,应以服务商对 Shadowrocket 的格式说明为准。
https://example.com/sub?token=xxxx
上面只是用于辨认结构的假值,不是可使用的订阅。地址通常包含协议、主机名、路径和查询参数;其中 token 可能承担访问凭据的作用。复制时少一个字符、混入换行,或把半角符号改成全角符号,都可能使请求无效。
- 检查开头与结尾:移除复制时附带的空格、引号与说明文字,但不要自行删掉查询参数。
- 检查参数:
?token=后的值必须完整;多个参数之间的&不应被聊天软件中的排版文字替代。 - 检查链接是否被重置:服务商重新生成地址后,原凭据可能失效。对照账户页面当前显示的地址,而不是只比较域名。
- 区分订阅与配置:Home 中的服务器订阅与 Config 中的规则配置用途不同。不要仅凭地址以某个文件名结尾,就推断它一定能作为服务器订阅导入。
回到 Home,检查对应订阅的 URL,必要时用刚重新复制的地址替换,再手动更新一次。若只能新建订阅进行验证,给测试项使用可辨认的名称,保留原项直到新列表和连接都核对完毕。
检查响应:状态码与返回内容分别说明什么
若错误详情或服务商诊断记录中包含 HTTP 状态码,可按下面的含义缩小范围。这里列的是标准 HTTP 状态文字,不代表每个版本都会在界面中逐字显示。没有状态码时,保留原始提示,不要根据“为空”自行推断成某一种错误。
报错:401 Unauthorized
原因与解法:请求缺少有效授权,或当前凭据已失效;到自己的服务商账户页面核对订阅状态与当前链接,再替换 URL 后重试。
报错:403 Forbidden
原因与解法:服务器拒绝当前请求,可能涉及账户权限、来源地址限制或访问防护;向服务商确认拒绝条件,不要仅凭此码认定为应用故障。
报错:404 Not Found
原因与解法:请求路径不存在,或服务器选择以该状态隐藏不可访问的资源;重新复制完整地址,核对域名、路径及链接是否已被替换。
报错:429 Too Many Requests
原因与解法:更新请求触发了限流;停止连续刷新,若响应含有 Retry-After,按其要求等待,否则按服务商说明选择重试时间。
即使返回 200 OK,正文仍可能是需要登录的 HTML 页面、账户状态说明,或没有条目的订阅内容。浏览器能打开账户页面,只说明浏览器当前会话可以访问该页;浏览器保存的登录状态不会自然成为应用订阅请求的授权。
结论:收到响应后,先核对内容再修改网络
若服务商确认请求已到达,却返回登录页面或空列表,应先修正链接、账户状态或输出格式。反复切换网络不能把错误正文变成有效订阅。
检查网络:一次只改变一个更新条件
订阅地址的访问路径与条目连接的访问路径可能不同。现有条目仍可连接,而订阅域名暂时无法解析或访问,是可以同时发生的现象。先确认当前 Wi-Fi 不需要网页认证,再与蜂窝网络进行对照;不要在同一轮测试里同时换网络、改链接和重置配置。
- 记录基线:记下当前网络、连接开关状态、Global Routing 当前选择,以及手动更新时的完整提示。
- 更换网络验证:在允许使用蜂窝数据的前提下,切换 Wi-Fi 与蜂窝网络,各手动更新一次。若只有一侧失败,优先检查该网络的认证、DNS 或访问限制。
- 检查更新路径:在 Settings → Subscribe 中检查 Update via Proxy。仅当已有可用连接、且确实需要经代理访问订阅地址时,启用该项后再测试。
- 保留单项变更:一次测试只调整一个条件。记录成功或失败后,再决定是否保留这个设置,避免不知道是哪项修改起了作用。
Global Routing 中的 Proxy、Direct、Config、Scene 是流量路由的不同选择,并不是四种订阅格式。不要把切换到 Proxy 当作通用修复。排查订阅时,应同时核对专门的更新选项和当前可用连接,而不是仅看系统是否显示 VPN 状态。
遇到证书验证错误时,先核对设备日期与时间,再由服务商检查证书有效期及域名是否匹配。不要通过关闭证书验证来掩盖问题。连接超时则需要区分域名解析、建立连接和等待响应等阶段,不能只根据超时一词判断账户已到期。
更新成功仍为空:检查格式、分组与更新时机
能取得响应但没有条目时,应把注意力转向返回内容与解析结果。订阅可以使用不同的编码和组织方式;文件能作为文本打开,不代表其内容就符合客户端预期。服务商输出了另一类配置、编码被截断或正文只包含状态说明,都可能无法产生可用列表。
- 核对格式:询问服务商该地址是否用于 Shadowrocket 的服务器订阅,并确认响应中确实包含条目,而不是仅提供规则文件。
- 核对协议参数:例如 Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard 各有不同参数要求;仅出现协议名称不能证明条目完整,缺少地址、端口或必要凭据仍需由内容提供方修正。
- 核对 Home 显示:展开目标订阅分组,清空搜索条件,再查看条目数量。不要把折叠后的分组标题当作空列表。
- 核对生效时间:账户续期、链接重置或服务端调整之后,先确认服务商页面显示已生效,再进行一次手动更新,不要用持续刷新代替状态确认。
手动更新可作为诊断基线,因为它能把操作与当时的结果对应起来。自动更新会受到应用运行状态、系统调度及当时网络条件影响;未观察到后台更新,不能直接推断链接失效。On Demand 用于按条件建立连接,也不是订阅定时更新开关。
结论:手动更新恢复后,再观察自动更新
先让同一链接在确定的网络条件下完成一次手动更新,并核对实际条目。只有这一步成立,才适合继续检查自动更新设置与后台执行时机。
常见追问:保留旧内容,避免重复操作
更新失败,要先删除订阅再导入吗?
先不要删除。记录 Home 中现有分组与条目,核对 URL 和错误提示。需要重新导入验证时保留原项,待新项能更新、条目能连接后,再清理重复内容。
浏览器能打开,为什么 Shadowrocket 还是空的?
检查浏览器打开的是订阅正文还是登录后的网页。向服务商确认该 URL 是否无需网页会话即可返回兼容内容,并检查是否存在跳转、访问防护或输出格式差异。
打开 Update via Proxy 后反而不能更新怎么办?
先确认已有条目能正常连接,再比较该设置开启与关闭时的结果。若代理连接本身不可用,恢复原设置,换一个已确认可访问订阅地址的网络测试。
重新购买 Shadowrocket 能修复订阅吗?
不能据此解决链接失效、服务端拒绝或格式错误。客户端买断 ≠ 线路套餐;应用购买与用户已有订阅分别管理。应先按错误所处环节排查,而不是重复购买。
提交排查信息,并验证恢复结果
如果仍无法恢复,向自己的服务商提供足以定位请求的信息,而不是只描述“导入不了”。若已经确认服务端返回兼容且完整的内容,但应用仍无法解析,再整理最小复现步骤,以便进一步核对客户端侧行为。
- 环境:设备型号、系统版本、应用内可核对的版本信息,以及使用 Wi-Fi 还是蜂窝网络。
- 时间与现象:发生时间及所在时区、首次导入还是已有订阅更新、完整错误文字、是否仍保留旧条目。
- 测试条件:Update via Proxy 状态、当前 Global Routing 选择、切换网络前后的差异,以及服务端能否查到请求。
- 隐私处理:截图遮住订阅凭据、账户信息与不必要的服务器信息。只有在确认身份的私密支持渠道中,才按需要提供敏感材料。
修复后,在 Home 对目标订阅手动更新一次,确认没有报错、分组内出现预期条目,再选择其中一个条目验证连接。最后清理测试项,并恢复不需要保留的临时设置。更新成功与连接成功是两个检查点,应分别确认。