本文适合已在 Shadowrocket 中导入自己订阅的用户。按“确认订阅对象、手动更新、开启 Update on Open、按响应排错”的顺序操作,区分列表获取失败与连接失败,并用一次可复核的手动更新检查结果。
订阅更新的对象与操作前提
Shadowrocket(小火箭)是 Apple 平台的付费客户端,唯一获取入口为 App Store,开发者为 Shadow Launch Technology Limited,应用 ID 为 932747118。应用采用一次性买断方式,系统要求与通用购买以 App Store 页面标注为准。客户端买断 ≠ 线路套餐;本文以用户已有自己的服务商与订阅为前提。
订阅更新是重新请求已保存的订阅 URL,再读取响应中的节点信息。它不是更新应用本身,也不等于更新 Config 中的规则配置。Home 中的订阅分组、手动添加的单个节点,以及 Config 中选用的配置文件,应分别检查,不能因为一次列表刷新就认定所有内容都已同步。
刷新前先确认正在操作哪个分组,并记录当前选中的节点名称。更新后,原节点可能被改名、移除或修改参数;如果列表变化较大,需要重新选择节点。请保存自己的订阅原始地址,但不要把完整 URL 发到公开讨论区,查询参数中的令牌通常具有访问凭据的作用。
- 已有订阅分组:在 Home 中定位其名称,确认其保存的 URL 仍是服务商当前提供的地址。
- 只有单个节点:单独导入的节点不会因为刷新其他订阅而自动获得新参数,应核对其来源与更新方式。
- 只有规则配置:Config 内的配置更新与 Home 内的订阅更新是不同操作,先确定实际缺少的是节点还是规则。
手动更新:先单组验证,再刷新列表
手动更新适合首次导入后核对内容、服务商通知调整节点后同步,以及自动更新失败后的复测。先针对一组订阅执行,能把问题限定在该 URL;同时刷新多个分组时,应分别核对结果,不要把其中一组成功当作全部成功。
- 打开 Home,找到需要更新的订阅分组,先记下分组名称及当前节点数量。
- 长按订阅分组标题,在操作菜单中选择 Update,等待本次请求结束。注意操作对象是分组,不是某个节点条目。
- 需要刷新订阅列表时,可在 Home 列表下拉触发更新;存在多个订阅时,逐组确认是否收到结果。
- 更新后展开目标分组,检查预期的节点是否出现、旧名称是否变化,并重新确认当前选中的节点。
- 如果显示错误,先保留错误文本与发生时间,再按后文检查地址、网络路径和响应格式,不要连续重复点击。
节点数量不变不代表更新没有执行:服务端可能返回了相同内容。反过来,数量变多也不代表节点可用。一次完整核验应分成两步:先确认订阅请求成功且内容可解析,再选择节点测试实际访问。两步对应不同问题,排查时要分开记录。
打开时自动更新:设置入口与触发边界
进入 Settings → Subscribe,找到并开启 Update on Open。该选项用于在打开应用时触发订阅更新,不应理解成应用关闭后仍按固定分钟间隔轮询。系统后台调度、网络可用性及应用状态都会影响实际请求时机。
- 先在 Home 对目标订阅执行一次手动 Update,确认当前 URL 能正常返回可识别内容。
- 进入 Settings → Subscribe → Update on Open,开启该选项。
- 离开应用后再次打开,回到 Home 观察订阅更新结果;如果没有看到可确认的结果,再手动更新目标分组验证。
- 若打开时网络尚未就绪,待 Wi-Fi 或蜂窝网络可用后重试。自动触发失败后,不要假定列表已经同步。
Settings → On Demand 管理的是按条件触发连接的行为,并不是订阅自动更新开关。两者可以分别配置:开启 On Demand 不代表已经开启 Update on Open;关闭自动订阅更新,也不等于停用 On Demand。
| 设置或操作 | 作用对象 | 不能据此推断 |
|---|---|---|
| Home → Update | 目标订阅的节点内容 | 更新成功不等于节点连接成功 |
| Settings → Subscribe → Update on Open | 打开应用时的更新触发 | 不是固定周期的后台任务 |
| Settings → Subscribe → Update via Proxy | 订阅请求的代理路径 | 不会修复过期令牌或错误格式 |
| Settings → On Demand | 连接的按需触发条件 | 不会代替订阅更新设置 |
判断:先让手动更新成功,再开启自动触发
如果同一 URL 手动更新仍失败,先处理错误原因;反复切换 Update on Open 不会改变服务端返回的状态或订阅内容。
更新失败:按地址、网络、格式逐层检查
先区分“没有收到响应”和“收到响应但无法使用”。前者优先检查网络、DNS 与请求路径,后者优先检查访问权限和内容格式。下列卡片列出常见 HTTP 响应或系统错误原文;实际提示可能带有更长的上下文,应保留完整文本判断。
响应:401 Unauthorized
原因与解法:订阅端点要求的凭据缺失、失效或不被接受。到自己的服务商账户中核对当前订阅地址,完整替换原 URL 后再更新,不要只复制域名部分。
响应:403 Forbidden
原因与解法:服务器拒绝本次请求,可能涉及账户状态或访问策略。先向自己的服务商核实拒绝原因;仅更换网络不能保证解决权限限制。
响应:404 Not Found
原因与解法:所请求的路径不存在或订阅入口已经变更。检查 URL 是否被截断、路径是否完整,并从原账户重新取得现用地址。
错误:The request timed out.
原因与解法:请求在等待时间内没有完成,单凭超时无法判断是哪一段链路故障。先切换 Wi-Fi 与蜂窝网络复测,再按下一节检查 Update via Proxy 的使用条件。
如果没有明确 HTTP 错误,但更新后列表为空,应检查服务端到底返回了什么。登录页面、账户提示、网页验证页或空响应,都不是可直接解析的节点订阅。即使状态为 200 OK,也只能说明 HTTP 请求获得成功响应,不能证明内容符合 Shadowrocket 可识别的订阅格式。
- 地址完整性:检查开头结尾是否夹有空格、换行或多余标点;不要擅自改写查询参数中的字符。
- 格式选择:在自己服务商提供的订阅选项中确认适用于 Shadowrocket 的内容格式,不要把账户管理页面地址填入订阅 URL。
- 响应核实:需要协助时,提供状态码、错误文本及发生时间;隐藏完整订阅 URL、令牌和节点凭据。
Update via Proxy:避免更新路径形成循环依赖
当直连无法访问订阅端点,而已有节点仍可正常连接时,可以进入 Settings → Subscribe → Update via Proxy,启用后再次手动更新。使用前应先确认当前连接能够访问网络;仅开启选项而没有可用的代理连接,不能建立一条新的可用路径。
订阅链接若使用 https 且未显式指定端口,通常连接 TCP 443。节点自身使用的端口则由其配置决定,两者没有必然关系。更新端点的 HTTPS 请求超时,不代表必须修改节点端口,也不应靠关闭证书验证来尝试绕过错误。
- 在 Home 选择一个已有且可用的节点,开启连接,先验证一般网页访问是否正常。
- 检查 Home → Global Routing 的当前选项。Proxy、Direct、Config、Scene 是不同路由姿态;不要在不记录原设置的情况下同时改动多个选项。
- 开启 Settings → Subscribe → Update via Proxy,只对失败的订阅重新执行一次 Update,记录结果是否改变。
- 若仍然失败,再切换本地网络对比;若返回 401 或 403,应回到凭据与权限检查,而不是继续调整路由。
更新后的核验与常见疑问
订阅同步完成后,回到 Home 检查当前节点,再测试需要访问的目标。使用 Config 路由姿态时,请求如何处理还取决于当前启用配置中的规则。订阅更新不会自动把 Global Routing 切换到另一种姿态,也不会保证某个域名一定经代理出站。
开启自动更新了,为什么打开后节点还是原来的?
服务端可能没有更改节点内容,也可能本次请求没有完成。在 Home 对目标分组手动执行 Update,查看是否有错误,再核对预期变化的具体节点名称;不要只凭列表数量判断。
订阅更新成功,为什么还是连不上?
更新成功只验证了订阅获取和解析。重新选择节点,检查连接开关与 Global Routing,再分别测试网络访问;如果节点参数或账户状态存在问题,应向自己的服务商核实。
Update via Proxy 要一直开着吗?
根据订阅端点的实际可达性决定。直连稳定时可以使用直连路径;只有代理路径能访问时,先确保已有连接可用再更新。切换前后各做一次手动验证,保留能稳定完成请求的设置。
替换订阅地址后,要把原分组全部删除吗?
先在现有分组的编辑入口核对并替换地址,保存后执行 Update。若另行导入形成重复分组,先确认新分组可用,再整理旧分组,避免把仍需保留的独立节点一并移除。
需要进一步排查时,记录五项信息即可:目标分组、操作时间、所在网络、Update via Proxy 状态、完整错误文本。每轮只改变一个条件,再执行一次手动更新。这样能够区分是地址失效、路径受阻还是响应格式问题,也能避免把节点连接故障误归为订阅更新故障。