本文适用于已经有自己的服务商与订阅链接、需要在 Shadowrocket(小火箭)中刷新服务器列表的用户。先在 Home 手动更新并核对结果,再启用打开应用时更新;失败时依次检查链接、请求网络、响应内容与解析结果,避免把订阅更新问题和连接问题混为一谈。
先区分订阅更新、应用更新与配置更新
订阅更新是重新请求已保存的订阅地址,将返回内容解析为 Home 中的服务器条目。服务商调整服务器地址、端口或认证信息后,需要获取新的订阅内容;仅断开再连接 VPN,不等于重新获取订阅。
应用更新由 App Store 提供,改变的是 Shadowrocket 本身。Config 中的配置文件则涉及规则、DNS 等设置,其远程更新与 Home 的服务器订阅刷新不是同一个操作。排查前应明确自己要更新哪一项。
在 Home 手动更新订阅
首次添加时,使用服务商明确提供给你的订阅地址,而不是账户登录页、订单页或网页分享地址。已有订阅时先保留原条目,不要为了刷新反复删除和重新添加,否则容易丢失用于比较的旧状态。
-
确认订阅
打开 Home,找到要更新的订阅分组,确认它对应自己的服务商。若尚未添加,从 Home 右上角“+”进入添加页,Type 选择 Subscribe,将自己的订阅地址填入 URL 后保存。
-
记录现状
记下目标分组当前的条目数量,以及一条已知服务器的名称或端口。不要将完整 URL、密码或认证参数放入截图;这些内容不需要用于公开对照。
-
下拉刷新
回到 Home,在列表中下拉触发订阅更新,等待本次请求结束。存在多个订阅时,分别核对各分组结果,不要把其中一个分组成功视作全部成功。
-
核对结果
检查是否出现错误提示、目标分组是否仍有条目,以及服务商已说明的改动是否出现。条目数量不变并不代表失败,返回内容也可能只修改了地址、端口或认证信息。
-
单独验证
选中准备使用的服务器,再进行连接和访问测试。刷新成功只说明订阅获取与解析完成,不保证返回的每一台服务器都能连接。
下面只是用于辨认订阅 URL 结构的假值,不应导入,也不能替代你自己的地址。实际链接中的查询参数通常具有认证作用,复制时应保持完整,避免带入空格、换行或中文标点。
https://example.com/sub?token=xxxx
开启打开应用时自动更新
手动更新成功后,再进入 Settings → Subscribe,找到 Update On Open 并开启。不同界面语言及应用版本的文字或大小写可能不同,应以当前订阅设置页中“打开应用时更新”所对应的选项为准。
- 启用前:先完成一次 Home 手动刷新,确认 URL 有效、当前网络能够请求订阅内容。
- 启用后:重新打开 Shadowrocket,留意订阅请求结果,再检查 Home 的目标分组。不要只凭应用已经打开就认定更新完成。
- 验证范围:打开时更新是应用启动相关的触发方式,不代表应用关闭后仍按固定间隔持续刷新,也不保证每次切回前台都会产生新请求。
- 失败处理:如果自动更新失败,回到 Home 手动触发一次并记录错误。自动触发不会修复失效的认证参数或不可达的订阅域名。
按请求流程定位更新失败的位置
一次更新至少经过下列环节。先找到失败发生在哪一步,再修改对应设置,通常比同时更换 DNS、服务器和配置文件更容易确认原因。
| 观察到的现象 | 优先检查 | 下一步 |
|---|---|---|
| 立即返回 401 或 403 | 认证参数、链接有效性、访问限制 | 向自己的服务商确认当前订阅地址及访问条件 |
| 等待后超时 | 当前网络、域名解析、服务器响应 | 保持链接不变,切换一次可用网络后重试 |
| 返回成功但不能解析 | 响应是否为登录页、验证页或不支持的内容 | 确认复制的是可供客户端导入的订阅地址 |
| 刷新完成但条目未变化 | 服务商是否实际修改了内容 | 比较已知名称、地址或端口,不只比较数量 |
| 刷新成功但无法连接 | 选中的服务器、认证信息及连接路径 | 转入连接排查,不再反复刷新订阅 |
结论:先分清获取失败与连接失败
如果列表已成功解析,下一步应检查选中的服务器和连接日志;如果连订阅响应都未取得,应先处理 URL 与网络。不要用同一个“更新失败”描述两种不同阶段的问题。
常见错误信息与处理顺序
以下是网络请求中可能出现的原文或 HTTP 状态表达,不同系统语言、服务器及应用界面的显示方式可能不同。应保留自己实际看到的完整错误,而不是只记录“不能用”。
HTTP 401 Unauthorized
原因:服务器没有接受本次请求的认证信息,可能是 token 已失效、参数缺失或复制了旧地址。
解法:在自己的服务商账户中确认当前有效的订阅 URL,完整替换原地址后手动刷新,不要自行猜测或拼接认证参数。
HTTP 403 Forbidden
原因:服务器拒绝本次访问,可能涉及账户状态、来源网络限制或服务端访问策略,不能仅凭状态码断定链接过期。
解法:记录发生时间、当前网络类型与状态码,向自己的服务商确认限制条件;不要连续快速重试。
HTTP 404 Not Found
原因:订阅路径不存在,常见于地址被截断、订阅入口迁移或复制了错误路径。
解法:重新核对完整 URL 的域名、路径和查询参数,使用账户内当前显示的地址后再更新。
The request timed out.
原因:请求未能在限定时间内完成,可能发生在连接建立、网络传输或服务器等待阶段。
解法:先确认设备能正常联网,再在 Wi-Fi 与蜂窝网络之间进行一次对照测试;只有单一网络失败时,优先检查该网络的访问条件。
链接能打开,却没有可用的服务器条目
浏览器能显示网页,只能证明它取得了某种响应,并不能证明返回内容是订阅。登录页面、账户余额页面或访问验证页面都可能返回 HTTP 200,但这些内容无法作为服务器列表使用。
- 检查地址来源:应复制账户内明确标注为订阅的链接,而不是浏览器地址栏中的管理页面 URL。
- 检查返回内容类型:如果返回的是 HTML 页面、登录提示或错误 JSON,先处理服务端访问问题,不要通过改服务器端口解决。
- 检查格式适配:向自己的服务商确认该链接提供 Shadowrocket 可识别的订阅格式。编码正确与协议字段完整是两项不同要求。
- 检查替换结果:若更换地址后仍无条目,先保留原分组和错误记录,避免在问题未明确时删除全部已有信息。
Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard 是协议名称,不是把普通网页转换成订阅的开关。端口也应以返回内容或服务商提供的参数为准;订阅 URL 使用 HTTPS 常见端口 443,并不意味着其中所有服务器也使用 443。
更新后的连接验证与问题记录
更新完成后,先确认 Home 中选中的是预期服务器,再核对 Global Routing。Proxy、Direct、Config、Scene 对流量处理的含义不同,当前姿态会影响访问验证;这些选项不是订阅更新按钮。
- 确认选中项:服务商移除或更名条目后,重新选择一个仍存在的条目,避免沿用旧选择作判断。
- 确认分流姿态:按自己的原定用途检查 Global Routing。使用 Config 时,到 Config 确认当前启用的配置文件;规则最终可能将测试请求分配给 DIRECT,而非所选代理。
- 验证实际访问:连接后访问自己常用且允许访问的目标,结合连接日志观察结果。延迟测试有返回不等于全部业务请求都正常。
- 保留最小记录:记录刷新时间、错误原文、网络类型、目标分组是否有变化,以及是否已经完成连接验证。每次只改变一个条件,便于复现。