本文适用于已经从自己的服务商处获取订阅、但在 Shadowrocket 中无法更新或看不到节点的用户。先区分请求失败、返回内容不可解析与列表显示问题,再逐项检查链接、账户状态和更新路径;保留仍能使用的记录,每次只改变一个条件,最后用更新结果与连接测试分别确认恢复情况。
一、先分清更新失败、解析失败与列表为空
Shadowrocket(小火箭)的订阅更新不是一次连接测试。应用需要先访问订阅地址,取得响应,再把其中支持的服务器记录解析到 Home。任何一步未完成,都可能表现为“没有新节点”,但处理位置不同。
先回到 Home,展开对应订阅分组,清除搜索条件,再确认是否只是分组收起或筛选隐藏。Config 主要管理配置文件;更新 Config 中的远程配置,不等于已经更新 Home 中的服务器订阅。Settings 则用于检查更新行为等设置。
| 观察到的现象 | 优先检查 | 暂时不要做 |
|---|---|---|
| 更新等待后提示超时 | 当前网络、域名解析、订阅请求路径 | 反复修改服务器端口或密码 |
| 很快失败,出现 HTTP 状态码 | 链接权限、服务商账户与接口限制 | 连续触发更新 |
| 请求完成但没有可用记录 | 返回内容、订阅格式、可见分组 | 先删除仍能连接的旧记录 |
| 节点存在但连接失败 | 服务器参数与实际连通性 | 把连接故障直接当作解析故障 |
二、核对订阅地址,避免把网页当作订阅
订阅地址应从你的服务商处获取。账户登录页、套餐说明页、单个服务器分享链接与订阅地址不是同一种内容。即使地址可以在浏览器中打开,也可能只返回登录表单或验证页面,不能据此认定它能被订阅解析器读取。
- 在服务商账户中重新复制适用于 Shadowrocket 的订阅地址,不从聊天截图或换行后的文字手工拼接。
- 核对开头的
https://、完整路径和查询参数,移除地址前后的空格、引号与换行,不修改地址内部字符。 - 保留
?、&、=以及原有百分号编码。不要把整个查询参数删除,也不要自行重复编码。 - 编辑 Home 中已有的对应订阅记录,核对地址后执行该订阅的更新操作,避免导入多个同名分组而看错结果。
例如,下列内容只用于辨认“路径加查询参数”的结构,是不能用于连接的假值。实际地址可能使用不同参数名;不能把示例中的 token 当作所有服务商都必须采用的字段。
https://example.com/sub?token=xxxx
三、按响应结果检查服务商侧状态
链接完整仍不代表服务商会返回有效记录。账户到期、配额用尽、访问凭据失效、接口维护或请求过密,都可能影响响应。先登录自己的服务商账户核对状态,再判断是否需要改动应用设置。
下面的英文是标准 HTTP 响应状态文本,不保证 Shadowrocket 会逐字展示;有时应用只显示状态码或更简短的失败提示。只有实际看到对应状态时,才按该项处理,不能用“列表为空”反推一定发生了某个错误。
HTTP 401 Unauthorized
原因:请求未通过身份验证,可能是订阅凭据失效或缺少所需授权。
解法:从服务商账户重新获取有效订阅地址,完整替换旧地址后再更新。
HTTP 403 Forbidden
原因:服务器拒绝该请求,可能涉及账户权限、访问策略或验证拦截。
解法:核对账户状态,并向服务商确认该订阅接口是否允许当前请求;不要仅靠反复刷新尝试解除限制。
HTTP 429 Too Many Requests
原因:请求频率超过接口允许范围。
解法:停止连续更新,按服务商给出的间隔重试;若响应提供 Retry-After,应遵守其等待要求。
即使响应是 200 OK,正文也可能是 HTML 错误页、空内容或应用不能识别的格式。让服务商确认返回的是适用于 Shadowrocket 的订阅内容,而不是只确认“网址能访问”。不要把完整响应公开发送,其中可能包含服务器凭据。
结论:先确认响应内容,再调整连接设置
如果服务商确认接口返回的是登录页或空记录,先修复账户与订阅地址;切换 Global Routing 不会把这类响应变成有效服务器列表。
四、用单变量方法检查网络与更新路径
订阅请求能否完成,与已有节点能否连接是两项独立结果。若本地网络无法访问订阅域名,而旧节点仍可用,可以检查 Settings → Subscribe → Update via Proxy,通过可用代理尝试更新。开启该选项不能修复失效凭据,也不能凭空提供可用连接。
- 记录当前 Wi-Fi 或蜂窝网络、连接开关状态,以及 Update via Proxy 是否启用,保留原设置便于恢复。
- 在可信且允许访问订阅地址的网络下,先测试直接更新。若需切换 Wi-Fi 与蜂窝网络,先确认应用有相应网络访问权限。
- 只有仍有可用旧节点时,再测试代理更新:先确认旧节点能正常访问网络,再启用 Update via Proxy,回到 Home 更新对应订阅。
- 记录本轮的完成时间、提示与节点数量变化。若没有改善,恢复该项设置,再检查下一项,不同时更换 DNS、节点与订阅地址。
Global Routing 中的 Proxy、Direct、Config、Scene 用于不同的路由选择;它们不是订阅格式选项。排查时还应单独核对 Update via Proxy,而不是只看 Global Routing 的名称。需要代理更新却没有任何可用节点时,应先向服务商确认可直接访问的订阅入口。
如果断开后连接自动恢复,检查 Settings → On Demand 是否正在按条件触发连接。记录原值后再做对照测试,测试完成恢复所需设置。不要忽略这种自动连接行为,否则两次看似相同的更新可能实际走了不同网络路径。
五、更新完成却为空,检查内容与导入对象
节点列表为空不一定是网络故障。服务器列表订阅与包含规则的远程配置用途不同;如果拿到的是配置文件地址,应按配置文件的使用方式在 Config 管理,不能因为它也使用 HTTPS 就认定它是 Home 所需的服务器订阅。
- 确认分组:在 Home 展开刚更新的订阅,清除搜索文字,并区分手动添加的服务器与订阅分组。
- 确认格式:向服务商说明使用 Shadowrocket,确认其提供的格式适配当前应用,不要自行把未知响应强行改成另一种编码。
- 确认记录:让服务商核对该账户是否实际分配了服务器记录。账户可以登录,不等于订阅一定返回非空列表。
- 确认应用状态:在 App Store 核对应用是否有可用更新;升级前保留可恢复的配置与已有信息,不先删除应用。
Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard 是连接协议名称,不是可以互换的订阅格式标签。不要为了让列表出现而把某个服务器的 Type 随意改为另一协议;服务器端配置与客户端参数必须匹配。
结论:列表恢复与连接恢复分开验收
先确认 Home 中出现了有效记录,再选择节点做连接验证;如果记录已经存在但访问失败,保留订阅排查结果,转查该节点参数与路由,避免重复替换正常的订阅地址。
六、更新时机与常见后续问题
更新适合在服务商通知地址变更、账户状态恢复或确认服务器列表调整后执行。出现失败时不要连续下拉刷新;先记录一次结果并完成对应检查,避免频率限制叠加到原问题上。订阅更新也不负责恢复 App Store 购买或续期服务商套餐。
为什么旧节点还能用,订阅却更新不了?
旧节点使用已经保存的连接参数,更新访问的是订阅接口。保留旧记录,先核对接口地址与账户权限;若仅直接请求超时,再用已验证可用的旧节点测试 Update via Proxy。
浏览器能打开地址,为什么应用仍然解析失败?
浏览器可能携带登录状态,或只展示了验证页面。让服务商确认该地址无需网页交互即可返回适用的订阅记录,不要把浏览器“打开成功”当成格式正确的证明。
换成蜂窝网络就能更新,应该改哪里?
先保留成功结果,回到原 Wi-Fi 核对是否需要网页认证、是否存在访问限制或域名解析异常。一次只测试一个条件;不要通过关闭证书验证来绕过 HTTPS 错误。
向服务商反馈时需要提供什么?
提供发生时间与时区、Wi-Fi 或蜂窝网络、是否使用代理更新、实际错误文本,以及是否仍有旧节点可用。截图遮住完整订阅地址、token、密码与服务器凭据。
最后复查三项:对应分组有记录、手动更新能完成、选定节点可以正常访问目标服务。前两项正常而第三项失败时,转到使用说明检查连接与 Global Routing;不要仅因单个网站打不开就认定整份订阅失效。