本文适合已经从自己的服务商处获取订阅链接的用户。先在 Home 手动刷新并核对结果,再设置打开时自动更新;失败时按网络、地址、响应内容与解析四层检查。订阅更新成功只说明列表已获取并处理,不代表列表内每个节点都能连接,也不会自动替你更新 Config 中的分流规则。
订阅刷新实际更新什么
Shadowrocket(小火箭)的订阅更新,是客户端向订阅 URL 请求内容,再把能够识别的节点信息写入对应的订阅分组。它不是更新应用程序,也不是续费线路套餐。本文以你已有自己的服务商与订阅为前提;订阅链接与节点均从你的服务商处获取,本站不提供、不销售、不推荐节点或订阅。
更新可能带来节点名称、服务器地址、端口或认证参数的变化,也可能移除服务商已从订阅中删除的项目。因此,不宜把订阅内的手工修改当作长期保存方案:下一次更新可能用远端内容覆盖这些修改。需要保留特殊参数时,先记录原值,再确认该项目是否仍受订阅管理。
订阅地址的端口与节点连接端口不是同一回事。例如,HTTPS 订阅请求可以使用默认的 443 端口,而返回的节点使用另一个端口。订阅能下载,不足以证明节点端口可达;节点能用,也不足以证明订阅服务器当前可访问。
在 Home 手动刷新订阅
以下以 iPhone / iPad 上的英文界面为操作参照。先确认 Home 中已经存在订阅分组,而不只是几个单独导入的节点。只有单个节点、没有订阅 URL 时,刷新无法从服务商取得新的列表。
-
确认订阅
打开 Home,找到需要更新的订阅分组,核对名称及其保存的 URL。多个分组应分别辨认,避免把另一个订阅的更新结果当作本次结果。
-
补充导入
尚未添加时,进入 Home 右上角「+」→ Type → Subscribe,在 URL 中粘贴从你的服务商处获取的完整订阅链接,填写便于区分的名称并保存。
-
下拉刷新
回到 Home,从列表顶部向下拉动,触发订阅刷新。等待当前请求结束再继续操作,不要连续下拉,以免重叠请求或触发服务端访问频率限制。
-
核对列表
检查目标分组是否出现预期的新名称或参数。若提示失败,保留提示原文;若列表完全相同,先向服务商确认远端内容是否确实发生变化。
-
验证连接
选择更新后的目标节点,重新建立连接并访问原本需要使用的目标站点。必要时先断开再连接,避免把既有连接的表现误认为更新后的结果。
订阅示例 https://example.com/sub?token=xxxx 仅用于说明 URL 结构,不是可用订阅。复制真实链接时应保留 ? 后面的全部参数,不加引号、空格或换行。链接中的 token 通常属于访问凭据,不应放进公开截图、聊天记录或在线检测工具。
开启打开时自动更新
打开时自动更新适合希望进入应用后取得最新列表的用户。常见英文界面的设置路径是 Settings → Subscribe → Update on Open。不同平台的布局可能不同,应以当前客户端实际提供的订阅设置为准,不要在 Config 的规则编辑区域查找此开关。
- 先完成一次成功的手动刷新,确认 URL 和当前网络可用,再打开 Update on Open。
- 离开应用后重新打开,观察订阅请求是否完成;单纯切换 Home 与 Settings 不能作为已触发更新的证据。
- 若打开后列表没有变化,再手动刷新一次并检查结果,区分“未触发请求”和“远端列表没有改变”。
- 短时间反复打开应用可能遇到请求合并、网络等待或服务端限流,不应把每次回到前台都理解为必定完成一次下载。
Update on Open 不是固定间隔的后台任务,也不保证应用关闭时持续获取订阅。它与 Settings → On Demand 的职责不同:On Demand 按连接条件触发 VPN 连接,不负责定时下载订阅。为了解决列表过期而反复调整 On Demand,通常找错了设置位置。
结论:先验证手动刷新
手动刷新尚未成功时,先修复请求失败原因;自动更新只改变触发时机,不会修复失效链接、认证错误或不可达的订阅服务器。
更新失败:先按报错分层
更新失败不一定是账号到期。域名解析、TLS 验证、网络切换和响应内容不兼容都可能造成失败。下面是底层网络请求可能返回的英文提示;具体显示会随系统与平台变化,应记录屏幕上的实际原文,而不是只记录“更新不了”。
报错:The request timed out.
原因:请求未能在等待时间内完成,可能涉及当前网络、访问路径或订阅服务器响应缓慢。
解法:在同一设备切换 Wi-Fi 与蜂窝网络各尝试一次,等待请求结束再刷新;若只有一种网络失败,优先检查该网络的访问条件。
报错:A server with the specified hostname could not be found.
原因:订阅 URL 中的主机名无法解析,常见于域名拼写错误、域名失效或 DNS 查询失败。
解法:重新核对完整 URL,在另一网络复测;如果同一域名持续无法解析,向你的服务商确认订阅域名是否已更换。
报错:The Internet connection appears to be offline.
原因:系统认为当前没有可用互联网连接,或请求发生时网络正在切换。
解法:先完成 Wi-Fi 登录认证并确认普通网页可访问,再回到 Home 刷新;检查系统是否允许 Shadowrocket 使用蜂窝数据。
如果收到的是 HTTP 状态码,应按响应含义处理。401 常与认证有关;403 表示服务器拒绝此次访问,可能涉及凭据或访问限制;404 表示请求路径未找到;429 表示请求过于频繁;5xx 通常需要服务端排查。不要把这些状态码统一解释成节点不可用。
- 认证或路径问题:从你的服务商处重新获取链接,核对 token 是否重置、链接是否过期,以及复制时是否遗漏查询参数。
- 请求过于频繁:停止连续刷新,若响应提供 Retry-After,按其要求等待后再试。
- TLS 或证书错误:检查设备日期、时间与网络认证状态;不要通过关闭证书验证来绕过错误。
- 服务端错误:记录发生时间、网络类型与状态码,向你的服务商反馈,不要反复删除现有分组。
没有报错,但节点没有变化
没有弹出错误并不等于取得了有效节点内容。某些地址返回登录网页、到期提示或网络认证页面,HTTP 状态仍可能是 200。客户端需要的是能够识别的订阅内容,而不是页面标题写着“订阅”的普通网页。浏览器能打开链接,只能辅助确认请求可达,不能证明应用一定能解析。
- 核对内容来源:确认复制的是服务商提供给客户端使用的订阅 URL,而非账户管理页面或支付页面。
- 核对内容变化:如果服务商没有修改列表,刷新后名称与数量不变是合理结果,不能仅凭数量认定更新失败。
- 核对分组:确认正在查看刚刚刷新的订阅分组,而不是同名手工节点或另一个旧订阅。
- 核对格式:向你的服务商确认返回格式适用于 Shadowrocket;解析失败时保留错误提示,不要把未知内容直接覆盖到 Config。
Shadowsocks、VMess、VLESS、Trojan、Hysteria2 与 WireGuard 的参数并不相同。订阅可能包含其中部分协议,但协议名称相同也不代表参数完整。解析成功之后仍无法连接,应继续检查服务器地址、端口、认证信息,以及 TLS 场景下的服务器名称等参数,而不是只看订阅列表是否出现了节点。
结论:列表更新与连接分开验收
先确认目标分组已取得预期内容,再测试选中节点的实际连接;若列表正确但连接失败,应转向连接排查,不必继续重复导入同一订阅。
更新后检查规则与访问路径
订阅更新与规则配置是两条独立的检查线。Home 中的节点变了,不代表 Config 中的 DOMAIN-SUFFIX、GEOIP、IP-CIDR 或 FINAL 规则也一起更新。只有服务商明确提供了配置文件并且你按相应方式导入,才应另行检查配置内容。
Global Routing 下的 Proxy、Direct、Config、Scene 也不是订阅刷新模式。Proxy 与 Direct 用于不同的流量处理姿态,Config 按所选配置处理,Scene 与场景设置相关。排查时记录当前选项,不能看到节点更新成功就推断所有请求都会经过该节点。
- 记录刷新前后的网络、连接状态和 Global Routing 选项,一次只改变一个条件。
- 若订阅服务器在当前网络不可达,而现有连接仍能访问它,可以在现有连接下复测;不要假定所有订阅都必须先连接才能更新。
- 若连接开启后才失败,记录当前选中节点及配置,检查是否存在访问路径问题;不要为刷新订阅长期改变全部流量的处理方式。
- 更新后节点名称改变时,检查配置中的策略引用和当前选择是否仍符合预期,再验证实际目标站点。
需要继续定位时,可查看排查手册;需要理解 Global Routing 与规则的关系,可查看代理模式说明。反馈问题时提供报错原文、发生时间、网络类型、是否开启连接,以及手动刷新和自动更新的结果。隐藏完整订阅 URL、token 与节点凭据,保留现有可用配置,通常比先删除全部内容更利于定位。