已有自己的服务信息与订阅链接时,先在 Home 手动刷新,确认错误发生在链接访问、内容解析还是服务器连接,再到 Settings → Subscribe 设置 Update on Open。本文说明单次更新、打开时自动更新与 Update via Proxy 的区别;更新失败时先保留现有列表,不要立即删除重建。
先区分订阅更新与服务器连接
Shadowrocket(小火箭)的订阅更新,是向已保存的订阅地址请求内容,并把可识别的服务器信息写入列表。打开 Home 的连接开关,则是使用当前选中的服务器建立连接。这是两个不同的过程:现有服务器能使用,不代表订阅地址仍然有效;订阅获取成功,也不代表返回的每台服务器都能连接。
本文以用户已经持有自己的订阅为前提。开始排查前,记下订阅分组名称、错误原文、发生时间和当前网络类型。如果列表里有自己单独修改过的条目,应先保存必要信息;订阅刷新可能按远端内容重建条目,不能把手动修改当作长期保留的依据。
这里的端口指订阅网址的 HTTPS 请求,不是服务器连接端口。例如一个订阅地址使用 HTTPS 默认端口 443,里面列出的服务器仍可以使用服务信息指定的其他端口。不要因为订阅更新失败,就把所有服务器端口统一改成 443。
在 Home 手动更新订阅
手动更新适合首次导入后验证,也适合服务信息变更后的单次检查。先观察一次完整结果,再决定下一步,不要连续快速下拉;频繁重复请求可能触发订阅端的访问频率限制,还会让不同次请求的错误混在一起。
-
核对条目
进入 Home,确认已有 Subscribe 类型的订阅及对应分组。若原来只手动添加了一个服务器,列表中没有订阅地址,就没有可供刷新整组服务器的来源。
-
检查地址
打开目标订阅的编辑信息,核对 URL 是否完整。不要把账户登录页、购买记录页或单个服务器的分享 URI 当成订阅 URL;不要在截图或公开记录中展示完整 token。
-
下拉刷新
回到 Home,在列表中向下拉动触发更新,等待本次请求结束。有多个订阅时,分别核对各分组结果,不要因为其中一组变化,就认定所有订阅都已更新成功。
-
核对结果
检查提示、分组内容和预期变化。服务器数量不变并不等于失败,远端可能返回了相同内容;列表有变化也不能替代连接测试,应再选择自己要用的服务器验证访问。
打开时自动更新:Update on Open
手动刷新成功后,再进入 Settings → Subscribe → Update on Open 开启打开应用时更新。这个设置用于打开应用时触发订阅更新,不是持续轮询服务器,也不是把更新任务交给一个保证准点执行的后台定时器。
首次验证时,先手动成功刷新一次,再开启 Update on Open,离开应用后重新打开并观察更新结果。仅仅从其他页面返回 Home,不能作为已经触发一次“打开时更新”的可靠证明;网络可用性、应用当时的运行状态也会影响请求能否完成。
- 经常打开应用:可以开启 Update on Open,减少忘记手动刷新的情况;打开后仍需留意失败提示。
- 当前网络需要网页登录:先完成 Wi-Fi 的网络认证,再更新,避免把认证页面误当成订阅响应。
- 长期未打开应用:不要假定列表一直在后台同步;需要使用时,进入 Home 手动刷新确认。
- 远端限制请求频率:避免反复退出、打开或连续刷新,按自己服务信息给出的限制等待后再试。
Settings → On Demand 管理的是连接触发条件,与订阅更新不是同一个设置。开启 On Demand 不等于开启 Update on Open;关闭打开时更新,也不等于关闭已有的连接触发条件。排查时应分别记录这两个设置,避免同时改动后无法判断原因。
超时与网络受限:何时使用 Update via Proxy
先确认当前网络本身可用,再判断订阅域名是否能通过当前路径访问。如果普通网页也打不开,优先处理 Wi-Fi 认证、蜂窝网络权限或网络切换问题。若只有订阅地址请求超时,再考虑请求路径差异,而不是立即替换链接。
当订阅地址通过当前直连网络无法访问,而已有服务器仍然可用时,可以先建立可用连接,再进入 Settings → Subscribe → Update via Proxy 开启该选项,然后回到 Home 手动刷新。它改变的是订阅更新请求的访问方式,不能修复过期凭据、错误 URL 或不兼容的返回内容。
| 观察到的现象 | 优先操作 | 判断边界 |
|---|---|---|
| 普通网页与订阅请求都超时 | 检查基础网络,切换 Wi-Fi 或蜂窝网络后重试 | 暂时不能判断是订阅链接失效 |
| 直连请求失败,已有连接可用 | 建立连接后测试 Update via Proxy | 成功只说明此次请求路径可用 |
| 通过已有连接仍返回 401 | 向自己的服务提供方核对订阅凭据 | 改变网络路径通常不能修复凭据 |
| 已有服务器全部不可用 | 先确认基础网络与订阅端状态 | 不能依赖失效连接完成代理更新 |
结论:一次只改变一个条件
保留同一订阅地址,先更换基础网络测试一次,再单独测试 Update via Proxy;记录每次结果,避免同时改 URL、连接模式和更新设置。
Home → Global Routing 中的 Proxy、Direct、Config、Scene 用于选择流量处理方式,不是四种订阅格式。Config 模式下的 DOMAIN-SUFFIX、IP-CIDR、GEOIP、FINAL 等规则会影响相应流量的路由,但盲目追加规则不能让已失效的 token 恢复有效。需要检查规则时,应先确认本次请求究竟使用了什么访问路径。
按报错区分链接失效与格式问题
下面列出的是网络响应或系统错误中可能看到的原文。具体界面可能只展示状态码、简短描述或本地化提示,应以本次实际记录为准。状态码只能定位问题类别,不能单凭一个数字断言账户到期或服务器永久下线。
报错:401 Unauthorized
原因:请求未提供被订阅端接受的身份凭据,URL 中的 token 可能缺失、失效或已被重置。
解法:在自己的服务管理页面核对当前订阅地址,完整复制后替换原地址,再手动更新一次;不要只复制问号前面的部分。
报错:403 Forbidden
原因:订阅端拒绝本次请求,可能涉及账户权限、访问来源或服务端策略。
解法:保存发生时间与状态码,向自己的服务提供方确认访问条件;更换路径只能用于定位,不能保证解除权限限制。
报错:404 Not Found
原因:请求路径不存在,常见于旧入口停用、地址复制不完整或路径被误改。
解法:核对域名、路径和查询参数,使用自己账户中当前有效的订阅地址,不要尝试猜测新的路径。
报错:The request timed out.
原因:请求在限定时间内没有完成,可能发生在网络连接、订阅端响应或中间访问路径。
解法:先验证基础网络,再按上一节分别测试网络切换与 Update via Proxy,避免把超时直接判为链接过期。
还有一种情况是 HTTP 请求已完成,但返回内容无法解析。状态码 200 只表示请求在 HTTP 层面成功,并不保证正文是有效订阅。登录页面、网络认证页面、服务维护通知甚至一段 HTML 错误页,都可能以 200 返回。
- 返回登录页面:确认复制的是订阅入口,而不是需要浏览器登录的管理页面。订阅请求不能直接复用浏览器中的登录状态。
- 返回空内容:核对账户当前是否有可用内容,同时确认订阅端没有临时故障;重复添加同一地址不会补出缺失内容。
- 返回内容与用途不符:单个 Shadowsocks、VMess、VLESS 或 Trojan 分享 URI,与用于批量获取列表的订阅 URL 不是同一概念。
- 证书相关提示:检查设备日期与时间,以及订阅端证书状态。不要为了刷新成功而随意关闭安全验证或安装来源不明的证书。
检查 URL 完整性与敏感信息
订阅 URL 往往同时承担访问凭据的作用。下面仅展示地址结构,域名与 token 都是示例,不能用于实际订阅。排查时可以比较自己地址的结构,但不要把真实链接贴到公开网页或截图里。
https://example.com/sub?token=xxxx
- 保留查询参数:
?token=xxxx不是可随意删除的备注。若实际地址还有其他参数,也应完整保留。 - 排除多余字符:检查开头结尾是否混入空格、换行、中文引号或聊天文本;不要把说明文字一起粘贴到 URL 字段。
- 保留原始编码:不要手动替换地址中的百分号编码,也不要把
&后面的参数截断;以原始复制内容为准。 - 令牌泄露后更换:在自己的服务管理页面重置订阅凭据后,记得到 Shadowrocket 中同步替换旧地址。
排查记录通常只需要分组名称、时间、网络类型、错误原文,以及是否开启 Update via Proxy。需要联系自己的服务提供方时,使用其既有支持渠道,先提供脱敏信息;对方是否能看到请求日志,应以其实际能力为准。
常见问题:更新后列表与自动更新行为
开了自动更新,为什么打开后还是旧列表?
先到 Home 手动刷新确认请求是否成功,再到 Settings → Subscribe 核对 Update on Open。若手动也失败,先处理链接或网络错误;若远端返回相同内容,更新成功后列表也可能没有可见变化。
订阅能更新,选中的服务器却不能用?
更新只证明已获取并解析订阅内容。回到 Home 核对当前选择,检查 Global Routing 与已有服务参数,再做实际访问测试;不要把“更新成功”当成全部服务器的可用性报告。
更新失败了,要把原订阅删掉再加吗?
先保留原条目,检查 URL 和错误原文。删除会丢失可对照的信息,也不会修复超时或权限问题。确需替换地址时,先记录分组及必要设置,再编辑原订阅,避免反复导入形成重复列表。
多个订阅只有一组更新失败怎么办?
先单独核对失败分组的地址与返回状态。其他订阅能成功只能说明部分请求可达,不能证明这个域名、路径和 token 都有效;不要因此批量修改所有分组的配置。
买了 Shadowrocket,订阅会自动获得吗?
客户端买断 ≠ 线路套餐。Shadowrocket 是通过 App Store 获取的闭源商业应用,订阅内容来自用户已有的服务信息;应用购买与订阅地址的有效性应分别核对。