Shadowrocket 订阅更新教程:手动更新、打开时自动更新与更新失败排查

讲清订阅手动更新与打开应用时自动更新的设置位置和区别,并逐条列出更新失败的常见原因:链接过期、格式不符、网络环境等。

本文速览

适用于已经持有自己的服务商与订阅、需要维护 Home 中订阅列表的用户。先手动更新一次确认链接可用,再按需要启用打开应用时更新;失败时依次核对链接、服务器响应、返回格式和当前网络,不要先删除仍可使用的订阅。

订阅更新的范围:刷新列表,不等于连接成功

Shadowrocket(小火箭)的订阅更新,是用已经保存的订阅地址重新请求内容,并将解析后的条目更新到 Home。服务商调整服务器地址、端口、认证信息或条目名称后,客户端通常需要重新获取订阅才能接收到这些变化。客户端买断 ≠ 线路套餐;本文以用户已有自己的订阅为前提。

更新成功只说明这次获取和解析订阅的过程完成,不代表其中每个条目都能建立连接,也不代表正在使用的连接已经切换到新条目。订阅列表、Config 中的规则以及系统 VPN 连接是不同层次的设置,排查时应分开观察。

读取订阅地址 请求远端内容 解析返回数据 刷新订阅列表 核对可用条目

Home 中添加的 Subscribe 是订阅来源;单独导入的一条服务器记录不一定具有订阅地址,因此不能按订阅的方式获取后续变化。Config 中远程配置文件的更新也不等同于 Home 中订阅列表的更新,操作前先确认正在维护的是哪一类内容。

手动更新:先定位订阅,再执行刷新

首次导入、服务商通知配置发生变化,或者自动更新后列表没有变化时,优先使用手动更新。这样可以明确触发一次请求,并立即观察结果。不同界面语言下文字可能不同,以下保留英文界面词;订阅分组操作入口也可能随界面布局调整。

  1. 定位订阅

    打开 Home,找到对应的订阅分组,核对分组名称。若尚未导入,进入 Home 右上角「+」→ Type → Subscribe,将自己已有的订阅链接填入 URL,再保存。

  2. 检查地址

    进入该订阅的编辑入口,确认 URL 完整,尤其是问号后的参数。复制时不要带入空格、换行、中文标点或说明文字;检查后返回 Home。

  3. 触发更新

    在 Home 列表顶部下拉刷新。需要单独更新某个订阅时,可长按对应订阅分组并选择 Update;以当前分组实际显示的操作菜单为准。

  4. 核对结果

    等待请求结束,观察有无错误提示,再展开目标分组,检查条目名称、数量或已知修改是否体现。不要在请求尚未结束时连续重复刷新。

  5. 复查连接

    确认当前选中的条目仍存在于更新后的列表。若服务商替换了该条目,重新选择有效项,再单独测试连接;有正在进行的会话时,先保存工作再调整连接。

列表数量没有变化,不一定表示更新失败:服务端可能只修改了同名条目的认证信息,或者这次返回的内容与上次相同。反过来,数量增加也不能证明所有条目可用。应把更新结果与服务商明确告知的变化对应起来,而不是只看数字。

打开时自动更新:设置入口与适用条件

自动更新的常用入口是 Settings → Subscribe → Update on Open。打开后,应用会按该选项的触发条件尝试更新订阅。若当前界面提供更新间隔等附加限制,也应一并核对;不要把每次切回前台都理解为必定重新请求一次。

此设置适合希望在打开应用时获取订阅变化的用户,但它依赖当时网络可访问订阅服务器。它不是对系统后台定时任务的保证,也不等于设备锁屏后仍会持续获取订阅。若开关名称或入口层级与本文不同,应以 Settings 中 Subscribe 分组的实际选项说明为准。

Home
手动刷新与核对订阅条目
Subscribe
Settings 中的订阅设置分组
On Demand
按需连接设置,不是订阅刷新开关

Settings → On Demand 用于按条件触发 VPN 连接,与订阅的自动获取不是同一项功能。只打开 On Demand,不能据此认定订阅会自动更新;只打开 Update on Open,也不会因此自动完成系统 VPN 授权或保证连接可用。

结论:先手动验证,再启用自动更新

同一地址在当前网络下能手动更新后,再启用 Update on Open。若手动请求已经失败,调整自动更新开关通常不能解决链接失效、格式错误或网络不可达的问题。

手动与自动更新:按维护场景选择

两种方式获取的是同一个订阅来源,主要区别在于触发时机和排错可观察性。自动更新不会把失效链接变成有效链接,也不会改变订阅服务器返回的格式。遇到问题时,保留自动设置不动,先做一次可观察的手动请求,通常更容易定位原因。

方式或设置 触发条件 适用场景 核对重点
Home 手动刷新 用户主动下拉或执行 Update 首次验证、配置变更、错误复现 本次提示与目标分组内容
Update on Open 打开应用并满足选项条件 日常获取订阅变化 当时网络与附加间隔限制
On Demand 满足按需连接条件 管理 VPN 连接行为 不用于验证订阅更新结果

更新失败排查:先读错误,再检查对应环节

先记录错误发生的时间、所处网络、目标订阅以及提示内容。下面列出常见网络层英文错误原文;实际界面可能显示本地化文本或附加说明,应按含义对应处理。错误文字描述的是失败环节,并不能单独证明服务商账户或某个服务器一定有问题。

The request timed out.

原因与解法:在允许的等待时间内没有完成请求,可能涉及网络、DNS 或远端响应缓慢。先确认当前网络可正常联网,再换一个可信的网络环境重试一次,并记录是否仍为相同错误。

A server with the specified hostname could not be found.

原因与解法:订阅域名未能解析,可能是域名拼写错误、DNS 异常或域名已经变更。先比对原始地址的主机名,再向自己的服务商核对当前有效地址。

Could not connect to the server.

原因与解法:没有成功建立到目标服务器的连接,可能是目标端口不可达或服务器暂时不可用。核对 URL 中的端口和地址,随后用另一网络复测,保留结果供服务商排查。

The network connection was lost.

原因与解法:请求过程中连接中断,可能发生在 Wi-Fi 与蜂窝网络切换时。保持单一、稳定的网络,等待系统联网恢复后再执行一次手动更新。

HTTP 状态与返回内容要分开看

即使服务器返回 HTTP 200,也可能得到登录页、验证页面或空白内容,而不是客户端能解析的订阅。若提示格式错误或更新后没有有效条目,应检查返回内容的类型,并核对自己的服务商是否提供适用于 Shadowrocket 的订阅输出;不要仅凭浏览器能打开某个网页就判断订阅正常。

链接过期与格式不符:核对完整 URL

订阅 URL 往往携带访问凭据。示例 https://example.com/sub?token=xxxx 只是明显的假值,不是可用服务地址。实际地址中的路径和查询参数都应原样保留;删掉问号后的内容,可能使一个有效订阅变成未认证请求。

  1. 比对来源:回到自己的服务商提供订阅信息的位置,确认复制的是订阅地址,而非账户主页、登录页或使用说明页。
  2. 核对有效性:确认订阅资格、有效期与链接状态。某些服务会在重新生成链接后使旧地址失效,仅恢复账户状态不一定恢复旧链接。
  3. 检查复制完整性:保留原始编码和全部参数,不自行替换 %、&、= 等字符,也不要把省略显示的地址直接当作完整地址。
  4. 核对输出格式:使用服务商标明适用于 Shadowrocket 的格式。订阅容器的编码与内部条目协议是两个层次,不能只看文字中出现了某个协议名称就认定整份内容有效。
  5. 修改后单次测试:更新现有订阅的 URL,再手动刷新一次。保留原分组有助于对照问题,避免因为重复导入而混淆新旧条目。

Shadowsocks、VMess、VLESS、Trojan 等名称描述条目的协议类型;订阅地址负责一次返回一组配置。单条分享链接与可刷新的订阅来源不同,把单条链接放入 Subscribe 的 URL 字段,不会自动获得远端列表更新机制。

订阅凭据按敏感信息处理

向服务商反馈时,优先提供错误文字、时间与已经遮盖凭据的地址。不要公开完整订阅链接、认证参数或包含这些信息的截图;怀疑链接泄露时,通过自己的服务商重新生成凭据。

更新成功却不能使用:回到连接与分流层核对

订阅刷新与连接使用可能经过不同的网络路径。更新成功后仍不能访问,应先确认当前选中的是更新后存在的有效条目,再检查连接状态与 Global Routing,而不是持续刷新同一订阅。反复更新只会增加请求次数,无法修正规则匹配结果。

结论:按失败阶段保留证据

获取失败时记录网络错误或 HTTP 状态;解析失败时核对输出格式;列表已更新但连接失败时检查选中条目与分流。一次只调整一个变量,才能判断哪项修改真正有效。

完成维护后,再执行一次手动更新,确认目标分组仍能正常刷新,并检查 Update on Open 是否符合日常使用需要。需要反馈时,整理触发方式、错误原文、网络类型和已做过的检查即可,无需公开订阅凭据。

App Store 正版核对