Shadowrocket 订阅导入后节点为空:链接格式、服务商侧与更新时机自查

订阅解析失败或列表为空时,依次核对链接是否完整、服务商侧订阅是否有效,以及手动更新与自动更新的时机,逐步定位问题。

本文速览

Shadowrocket(小火箭)保存了订阅地址,不等于已经取得并解析出节点。本文面向已有自己的服务商与订阅的用户,按“显示状态、地址、响应内容、手动更新、自动更新”逐层检查;先保留原配置和错误记录,再通过一次可观察的更新判断问题所在,避免反复删除、重复导入。

先区分:列表为空、分组收起与连接失败

先在 Home 查看刚添加的订阅分组。分组名称已经出现,只能说明本地保存了一个条目;它不能证明订阅请求成功,也不能证明响应内容中存在可识别的节点。如果分组处于收起状态,先展开,并清除当前搜索条件,再确认是否真的没有条目。

“节点为空”和“节点不能连接”属于不同阶段。前者应检查地址、获取响应和解析;后者已经有节点可选,才进入服务器地址、端口、凭据与连接路径的排查。不要在尚未获得列表时,先去改协议参数或反复切换 Global Routing。

保存地址 请求订阅 接收内容 解析节点 显示列表

核对链接:复制的是订阅地址,不是账户页面

回到自己的服务商账户页面,使用其明确标注的订阅复制入口。不要复制浏览器当前地址栏中的账户首页,也不要把分享说明整段粘贴进去。一个可以在浏览器打开的页面,可能只是登录页、说明页或错误页,并不一定是 Shadowrocket 能解析的订阅内容。

下方是假值,仅用于说明 URL 结构,不是可用订阅。地址中的查询参数可能承担身份验证作用;参数名未必叫 token,不要按示例替换自己的真实字段。

https://example.com/sub?token=xxxx
  1. 检查开头与结尾:确认复制完整,前后没有空格、换行、引号或中文标点。
  2. 保留原始字符:不要擅自改动 ?、&、=、% 后的内容,也不要自行解码再拼接。
  3. 检查复制来源:聊天记录、邮件预览或截图识别可能截断长地址;优先回到原页面重新复制。
  4. 确认地址用途:订阅地址用于取得节点集合,单个节点的分享内容与 Config 配置文件不是同一种输入。
  5. 确认凭据状态:若曾重置订阅凭据,旧链接即使格式正确也可能已失效,应重新取得自己的当前链接。

按路径重查:Home 中进行一次手动更新

先保留原条目,再核对类型和 URL。Home 管理节点与订阅,Config 管理规则配置;把订阅地址当作 Config 文件导入,不是排查节点为空的正确起点。以下步骤以 Home 的订阅添加流程为准,保存操作的按钮文字以当前界面为准。

  1. 记录现状

    在 Home 展开目标分组,记录当前节点数量、更新提示及错误原文。如果已有能使用的配置,先保留,不要删除全部条目。

  2. 核对类型

    检查原订阅的编辑页面;确需重新添加时,进入 Home → 右上角“+”→ Type → Subscribe,避免把订阅地址作为单个服务器参数填写。

  3. 核对 URL

    将自己的完整订阅链接粘贴到 URL 栏,使用清楚且不含凭据的备注,确认内容没有被截断后保存。

  4. 手动更新

    返回 Home,下拉刷新以触发更新,等待本轮操作结束。存在多个订阅时,要核对目标分组的结果,不能把其他分组成功当作本组成功。

  5. 核对结果

    再次展开目标分组,检查是否出现节点以及条目是否变化。若仍为空,保存错误原文和发生时间,再进入响应内容排查。

操作期间先固定当前网络和配置,不要同时重置链接、切换网络、修改路由并重复导入。一次只改变一个条件,才能分清是地址修正生效,还是访问路径变化带来的结果。

服务端检查:HTTP 成功不等于解析成功

订阅获取与节点连接是两次不同的网络操作。即使订阅地址使用 HTTPS,返回的内容也可能是登录表单、访问验证页面或空正文。HTTP 状态码反映请求处理情况,节点是否出现还取决于正文内容与格式。不要仅凭“地址能打开”判断订阅正常。

443
HTTPS 未显式指定端口时的默认端口,不代表节点端口
200
HTTP 请求成功,仍需核对正文能否解析
429
Too Many Requests,提示请求受到限流

下面列出标准 HTTP 响应状态原文,用于对照应用中可见的错误详情或自己的服务商提供的响应记录,并非保证 Shadowrocket 会逐字显示这些文字。若只能看到笼统失败提示,应把提示原样记录,不要自行推定状态码。

401 Unauthorized

原因与解法:请求缺少有效认证信息或认证被拒绝;向自己的服务商确认订阅凭据是否有效,重新复制当前链接后再更新。

403 Forbidden

原因与解法:服务端拒绝该请求,具体可能涉及账户权限或访问限制;提供脱敏记录,由自己的服务商核对拒绝原因,不要仅靠切换路由猜测。

404 Not Found

原因与解法:请求路径对应的资源未找到;先核对 URL 是否截断、旧入口是否停用,再确认当前订阅入口。

429 Too Many Requests

原因与解法:请求次数触发服务端限制;停止连续刷新,按服务端说明等待;若提供 Retry-After,则按其指示重试。

结论:200 后仍为空,先核对正文

让自己的服务商确认该地址返回的是适用于 Shadowrocket 的非空订阅内容,而非网页或其他格式;只有取得正确内容后,继续研究解析问题才有意义。

网络与解析:分清请求超时和内容不兼容

请求超时、域名解析失败、TLS 验证失败都发生在获得可解析内容之前,不能直接归因于某个节点协议。先检查设备时间、当前网络是否需要网页认证,再在另一个自己可用的网络上进行一次对照更新。遇到证书错误,不要通过关闭验证或安装来历不明的证书来规避。

可观察现象优先判断下一步
等待较久后超时请求路径或服务端响应未完成固定 URL,换一个可用网络对照一次,并记录时间
返回登录页或验证页取得的是网页,不是节点数据确认订阅入口是否允许客户端直接获取
请求完成但正文为空当前账户可能没有可返回的条目让自己的服务商核对账户状态、授权范围及返回记录
正文非空但列表为空内容格式或条目字段需要核对确认导出格式适用于 Shadowrocket,并使用脱敏样本排查
部分条目出现不能简单认定整份订阅不可访问对照缺失条目的类型与必要参数,不要只检查总数

Global Routing 中的 Proxy、Direct、Config、Scene 是路由选择,并不是订阅格式转换选项。若更新所用的实际路径依赖一个已经不可用的代理,可能影响请求;但不能据此认定所有订阅都必须在某一种姿态下更新。先记录当前选择,再依据错误和可用网络做单变量对照。

也不要把订阅文本“看起来像编码”当成损坏证据。不同订阅可以采用不同的封装方式,不能随意进行 Base64 解码、删行或改协议名称后覆盖原内容。需要确认的是来源是否返回了正确格式,以及条目参数是否完整,而不是手动拼出一份看似正常的列表。

更新时机:先验证手动更新,再检查自动更新

首次导入、手动刷新与后续自动更新是不同事件。已经保存 URL,不等于后台立刻完成了一次获取;自动更新设置已启用,也不能用来证明某一时刻请求必然成功。先在前台完成一次可观察的手动更新,再核对当前应用提供的订阅自动更新设置及间隔,具体入口和选项以应用内显示为准。

提交排查信息与恢复后的验证

完成以上检查后仍为空,向自己的服务商提交可复现记录,比只说“导入不了”更容易定位。不要附上完整订阅凭据;服务商需要核对账户时,应通过其已有的私密支持渠道处理。本站不提供、不销售、不推荐节点或订阅,本文仅说明用户已有资料的检查方法。

列表恢复后,先确认目标分组确实出现条目,再选择自己的节点进行连接验证。若只有某个节点不能连接,停止重复导入订阅,转而检查该节点的参数和服务状态。手动更新成功后,再观察下一次自动更新,确认问题是否只出现在特定时机。

客户端买断 ≠ 线路套餐。Shadowrocket 是 Apple 平台的付费客户端,唯一获取入口为 App Store,购买应用不包含连接服务。iPhone、iPad 及其他兼容 Apple 设备的系统要求,以 App Store 页面标注为准。

App Store 正版核验