已有自己的服务商与订阅时,先在 Home 手动更新并核对结果,再到 Settings → Subscribe 检查打开应用时的更新选项。失败时依次核对链接、网络请求和返回格式;更新成功只说明订阅内容已获取并解析,不等于每个服务器都能连接,也不等于 Config 中的规则已更新。
订阅更新的范围:服务器列表,不是应用升级
Shadowrocket(小火箭)的订阅更新,是使用已保存的订阅地址重新请求服务器配置。服务商调整服务器地址、端口或认证信息后,重新获取订阅才能把相应变化带到本地。此操作与 App Store 中的应用更新不同,也不会因为购买了客户端就自动获得连接服务。
Home、Config、Settings 承担不同工作:Home 用于查看服务器与连接状态,Config 用于管理配置文件,Settings 用于调整应用设置。排查前先确定要更新的对象,避免把“服务器列表刷新成功”误认为“规则文件已重新下载”。
订阅内容还可能携带用量或有效期信息,但是否显示取决于服务商返回的数据。不能仅凭有没有用量数字判断更新成功;应结合更新反馈、分组条目和服务商公布的变更进行核对。
手动更新:从 Home 刷新并检查分组
首次添加或怀疑自动更新没有执行时,先做一次手动刷新。开始前记下目标订阅的名称、当前选中的服务器,以及服务商通知的预期变化;无需为验证更新而先删除原有分组。
-
确认订阅
打开 Home,找到自己的订阅分组。若尚未添加,使用右上角“+”,在 Type 中选择 Subscribe,填入自己的订阅 URL 后保存。不要把网页登录地址当作订阅地址。
-
核对地址
进入目标订阅的编辑页面,检查 URL 是否完整,尤其是问号后的查询参数。复制时不要带入说明文字、首尾空格或换行;不要自行修改 token 的大小写。
-
下拉刷新
回到 Home,在列表中下拉触发订阅更新,等待本次请求结束。存在多个订阅时,要核对目标分组的结果,不能把其他分组更新成功当作全部成功。
-
核对变化
查看更新反馈和分组条目。若服务商明确新增了某个名称,检查该条目是否出现;若没有公布变化,列表保持一致本身不能证明更新失败。
-
测试连接
确认当前选中的条目仍然有效,再进行连通性测试和实际访问。订阅中某个服务器失效,不代表订阅地址无法更新;两项测试应分别记录。
打开时自动更新:Settings → Subscribe
手动更新正常后,再进入 Settings → Subscribe,找到打开应用时更新的选项 Update on Open 并启用。英文显示的大小写或本地化文字以当前界面为准;这里要找的是“打开应用时更新订阅”,不是 On Demand 的连接触发条件。
这个设置用于减少手动刷新操作,不代表应用退出后仍按固定间隔持续拉取。将应用切到前台时,实际执行还会受到应用自身更新条件和当前网络状态影响;不能把一次切换界面就视为已经完成更新。
- 启用前:先确保同一订阅能在 Home 手动更新,否则自动触发只会再次遇到同一问题。
- 启用后:在网络可用时重新打开应用,等待更新反馈,再核对目标订阅,避免刚进入 Home 就立即断网。
- 网络需认证时:先完成当前 Wi-Fi 的网页认证,再重试。能连接 Wi-Fi 并不等于已经获得互联网访问权限。
- 需要立即生效时:服务商刚通知地址变化,可以直接手动刷新,不必等待下一次打开应用。
Settings → On Demand 管理的是按条件建立或断开 VPN 连接,不是订阅定时器。修改 On Demand 不能修复失效的订阅 URL,也不能替代 Subscribe 中的更新设置。
更新原理:下载成功与解析成功是两件事
一次订阅更新至少要经过地址解析、网络请求、响应接收和内容解析。前面的步骤失败,应用拿不到完整正文;后面的步骤失败,即使服务器返回了网页,也不能生成可用的服务器条目。
| 可核对结果 | 说明 | 下一步 |
|---|---|---|
| HTTP 200 | 服务器返回成功响应,但正文仍可能是登录页或提示页 | 确认返回的是适配 Shadowrocket 的订阅内容 |
| HTTP 401 / 403 | 请求未通过身份或访问权限检查 | 向自己的服务商核对 token、有效期及访问限制 |
| HTTP 404 | 请求路径对应的资源未找到 | 重新复制当前有效的订阅地址 |
| HTTP 429 | 服务端限制了请求频率 | 停止反复刷新,按服务端要求等待后重试 |
| 请求超时 | 未在允许时间内完成请求,不等于链接已经过期 | 检查当前网络,换用可用网络做对照 |
结论:先确认响应,再调整本地设置
出现权限或路径类 HTTP 状态时,优先核对订阅地址与服务状态;只有请求超时、域名无法解析等网络现象,才先检查网络路径。不要同时修改 DNS、Global Routing 和订阅 URL,否则无法判断哪项改动起了作用。
更新失败:按报错缩小检查范围
先记录错误文字和出现位置,再决定下一步。下面的 HTTP 状态是服务端响应信息,并非每次都会完整显示在弹窗里;只有实际反馈包含相应状态时,才使用对应检查方向。单独一个“更新失败”提示,不能推断为账号到期。
报错:HTTP 401 / HTTP 403
原因:订阅端点要求的身份凭据无效,或服务端拒绝当前访问。
解法:在自己的服务商账户中核对服务状态与订阅地址;若 token 已重置,编辑原订阅并替换为新地址,然后只刷新一次。
报错:HTTP 404
原因:地址路径失效、复制不完整,或服务商已迁移订阅端点。
解法:从自己的服务商重新复制完整订阅 URL,核对路径和查询参数,不要仅凭域名能打开就认定订阅路径有效。
报错:HTTP 429
原因:短时间内请求次数超过服务端允许范围。
解法:停止连续下拉;若服务端提供等待时间,按该时间重试,同时检查是否反复打开应用触发了额外请求。
报错:The request timed out.
原因:网络请求未及时完成,可能涉及当前网络、订阅服务器或请求经过的连接路径。
解法:先确认普通网页可访问,再在 Wi-Fi 与蜂窝网络之间做一次对照;每次只改变一项条件,并记录结果。
如果反馈指向内容无法解析,重点检查订阅类型和响应正文。登录页、余额提示页、网页验证页即使能在浏览器中打开,也不是服务器列表。编码文本也不天然等于兼容格式,仍需符合应用支持的内容结构。
- 类型不符:确认导入的是服务器订阅,而不是 Config 配置文件地址或账户管理页面。
- 链接被截断:检查消息应用是否把换行后的部分漏掉,尤其是含多个查询参数的 URL。
- 响应为空:向自己的服务商确认订阅是否应当返回条目,不要先清空本地列表来“强制修复”。
- 证书提示:检查设备日期与时间,并向服务商反馈 HTTPS 证书问题;不要通过忽略证书验证来掩盖异常。
更新成功但列表没变,或仍然无法连接
列表名称不变有两种常见情况:服务商没有修改内容,或者只修改了条目的地址、端口和认证信息。名称与数量只是可见线索,不是内容完整性的证明。应优先核对服务商明确通知的变更,不要为了看到“新内容”而反复删除和导入。
更新完成后仍无法访问时,应转入连接排查。Home 中当前选中的服务器可能已经被移除或失效;Global Routing 的 Proxy、Direct、Config、Scene 也决定不同的路由行为。它们不负责修复订阅 URL:尤其 Config 下还需要核对当前配置中的规则和最终策略。
- 确认分组:检查刚更新的是目标订阅,而不是另一个同名或相似名称的分组。
- 确认选择:重新核对当前服务器,分别记录连通性测试与实际网页访问结果。
- 确认路由:检查 Global Routing 当前模式;使用 Config 时,确认启用的是预期配置。
- 确认规则:核对相关 DOMAIN-SUFFIX、IP-CIDR、GEOIP 与末尾 FINAL 的策略及顺序。修改前保存现有配置,不要仅为更新订阅而改写规则。
服务器订阅更新和规则更新是两条不同的操作链。需要理解配置字段时,可查看配置字段说明;刚开始使用时,先按入门指南核对导入、选择服务器和首次连接的顺序。
日常检查:保留记录,一次只改一项
稳定使用时,可以保留打开时更新,并在服务商通知变更后补做手动刷新。发生异常时,记录到足以区分“地址错误”“网络失败”“解析失败”即可,无需公开完整订阅内容。向自己的服务商反馈时,明确提供的是更新问题还是连接问题。
- 记录环境:使用 Wi-Fi 还是蜂窝网络,普通网页是否可访问,当前连接是否开启。
- 记录结果:错误原文、HTTP 状态(若显示)、失败发生时间,以及切换网络后是否复现。
- 保护信息:遮盖 token、密码、完整订阅 URL 和可识别账户的信息。
- 保留配置:在确认新地址可以正常返回内容前,避免删除原有订阅或重置全部设置。
Shadowrocket 是通过 App Store 获取的闭源商业应用,以 iPhone、iPad 使用为主。客户端一次性买断与线路套餐是两件事;价格和系统要求以 App Store 页面标注为准。核对应用时使用开发者 Shadow Launch Technology Limited、官方图标和应用 ID 932747118。