本文适用于已经持有自己服务商订阅的 Shadowrocket 用户。先区分请求失败、内容不能解析和有效条目为空,再核对完整链接、订阅有效性与更新网络;最后检查 Home 的显示状态并保留排查记录。全程先保留原有配置,不以删除全部服务器或重装应用作为第一步。
一、先分清:没有取到内容,还是内容里没有服务器
Shadowrocket(小火箭)的订阅更新包含多个环节。应用先请求订阅地址,再读取返回内容,最后把可识别的服务器条目显示在 Home。出现“解析失败”并不必然代表协议设置错误,出现空列表也不必然代表连接网络中断。先确定停在哪个环节,才能避免反复改动无关设置。
- 请求没有完成:等待后超时,或出现 DNS、TLS、连接失败信息。先检查更新时使用的网络与访问路径。
- 请求完成但不能解析:服务器可能返回登录页面、账户通知或错误文本,而不是订阅正文。先检查地址用途与服务商返回格式。
- 更新后没有条目:可能是响应本来为空、内容没有可识别条目,或 Home 中的订阅分组尚未展开。先核对显示状态,再向服务商确认内容。
更新失败后,原来保存的服务器仍可能留在列表里。因此“还有旧条目”不等于更新成功,“旧条目还能连接”也不能证明当前订阅地址仍有效。应把本次更新结果与旧条目的连接结果分开记录。
二、核对完整链接:不要把账户页面当作订阅地址
从自己的服务商账户页面重新复制用于 Shadowrocket 的订阅地址,再与 Home 中对应订阅的地址核对。不要直接复制浏览器地址栏里的账户首页,也不要把单条服务器分享内容当成整个订阅地址。订阅地址通常带有访问凭据,检查时只在自己的设备上操作。
- 检查开头:确认复制的是完整地址,包含服务商指定的协议部分,例如
https://,而不是仅有域名和路径。 - 检查结尾:确认查询参数没有被聊天软件截断。特别留意
?、&、=后面的内容,不要凭印象补写。 - 检查附带字符:去掉复制时混入的外层引号、中文标点、空格或换行;不要随意改动地址内部的大小写与编码字符。
- 检查入口用途:使用服务商标明适用于 Shadowrocket 的订阅入口,而不是登录地址、账单页面或配置说明页面。
- 保存后只更新一次:返回 Home,执行对应订阅的更新操作,等待这次请求结束,再判断结果。
https://example.com/sub?token=xxxx
上面仅用于说明地址结构,不能用于导入。示例中的 token=xxxx 表示访问凭据;实际地址中的凭据不能被示例替换。也不要把原地址整段重复编码,或为了让它“看起来正确”而删除查询参数。
三、根据返回结果检查有效性与内容格式
完整地址也可能返回错误内容。服务到期、访问凭据被重置、服务端维护或格式调整,都可能让原来能用的地址不再返回预期订阅。浏览器能打开一个页面,只能说明获得了响应,不能证明响应内容能被 Shadowrocket 解析。
下列是 HTTP 标准状态说明,用于识别服务端响应;并非保证 Shadowrocket 会逐字显示这些报错。以应用实际提示以及服务商可确认的响应为准,不要为了寻找状态码把含凭据的链接提交给第三方检测网站。
HTTP 401 Unauthorized
原因与解法:服务端要求有效身份凭据,原有凭据可能已失效——在自己的服务商账户中确认订阅状态,重新复制有效地址后再更新。
HTTP 403 Forbidden
原因与解法:服务端拒绝当前请求,可能涉及账户权限或访问限制——请服务商核对限制原因,不要仅靠更换服务器反复尝试。
HTTP 404 Not Found
原因与解法:请求路径不存在,可能是链接截断或入口已变更——从服务商当前账户页面重新复制订阅地址,核对路径与参数。
HTTP 429 Too Many Requests
原因与解法:短时间请求过多触发限制——停止连续刷新,按服务端提示或服务商说明等待后再试。
即使响应是 HTTP 200,正文也可能是登录页或提示文字。若服务商确认已返回内容,应进一步确认它提供的是可被 Shadowrocket 识别的订阅,而不只是供浏览器阅读的页面。不要仅凭扩展名、文件大小或“请求成功”四个字判断格式兼容。
结论:拿到响应后,再确认响应是什么
地址完整且请求能完成,但依然无法产生服务器条目时,把排查重点转向订阅正文和账户状态;此时修改 Config 中的分流规则通常不能修复内容格式。
四、只改变一个网络条件,再测试更新
订阅更新是访问订阅服务器的请求,与访问某个网页的结果不完全相同。某个网页可以打开,不代表订阅域名也能访问;当前代理可以连接,也不代表通过它请求订阅一定成功。先保持地址不变,再分别验证更新路径,才能确定是哪一个条件产生影响。
- 记录基线:记下当前使用 Wi-Fi 还是蜂窝网络、连接开关状态,以及本次更新提示。先不要同时改规则、DNS 和订阅地址。
- 切换接入网络:在条件允许时,从 Wi-Fi 切到蜂窝网络,或反向切换,然后只更新同一份订阅一次。公共网络若需要网页登录,应先完成网络认证。
- 检查更新路径:进入
Settings → Subscribe,核对Update via Proxy。若当前界面提供该选项,启用前先确认已有代理连接可用;需要对照时记录原值,测试后恢复。 - 避免循环依赖:若仅有的服务器已经不可用,不要指望通过它更新出新的服务器。先验证直接访问订阅是否可行,或向自己的服务商确认可访问的订阅入口。
- 处理时间与证书问题:遇到 TLS 或证书提示时,检查设备日期和时间是否正确,并请服务商检查证书。不要把关闭证书验证作为通用修复步骤。
Global Routing 中的 Config、Proxy、Direct 是流量处理方式,不是订阅格式选项。Scene 涉及场景设置,也不负责把错误订阅正文转换成服务器列表。排查时不要把切换这些入口当成解析修复;对订阅更新走哪条路径,应单独核对相应设置。
五、更新后仍为空:检查 Home 显示与实际条目
回到 Home,先清除正在使用的搜索条件,并展开目标订阅分组。确认查看的是刚才更新的订阅,而不是同名的另一组或手动添加的条目。分组名称存在,只能证明订阅记录仍被保存,不能证明它下面已有有效服务器。
- 展开后有条目:解析已经产生结果,接下来才检查服务器是否可连接。连接失败应另行核对服务器地址、端口、认证信息与服务状态。
- 展开后仍为空:确认服务商是否实际返回了服务器,以及返回的条目格式是否适用于 Shadowrocket。账户有效并不必然代表当前响应包含条目。
- 只少了部分条目:向服务商说明具体缺少的条目名称或协议类型,请其核对该部分格式;不要把局部缺失直接判断为整个网络不可用。
Shadowsocks、VMess、VLESS、Trojan 等协议名称描述服务器连接方式,并不说明外层订阅采用什么格式。同一协议的参数表达也可能不同,应让服务商提供适配的内容,而不是手动批量修改字段名称。也不要把订阅地址中的 HTTPS 端口直接填入服务器的 Port。
六、保留脱敏记录,按结果继续处理
经过以上检查仍无法恢复时,向自己的服务商提供可复现记录,比“全部试过了”更有用。记录应包含失败发生在哪一步、网络环境是否变化,以及更新前后是否存在条目。不要发送完整 token、密码、私钥或未遮挡的二维码。
- 记录失败发生的本地时间、Wi-Fi 或蜂窝网络,以及应用显示的原始提示。
- 说明是首次导入失败,还是原先正常的订阅突然无法更新;注明旧条目是否仍在。
- 提供订阅域名与脱敏后的路径特征,说明是否重新复制过当前有效地址。
- 说明是否测试过
Update via Proxy,当时代理连接是否可用,以及切换网络后结果是否改变。 - 请服务商确认账户有效性、访问限制、订阅正文是否为空,以及返回格式是否适用于 Shadowrocket。
浏览器能打开链接,为什么还是解析失败?
先看打开的是订阅正文还是登录页面、提示页面。若只有网页界面,请回到自己的服务商账户重新复制适用于 Shadowrocket 的订阅地址;不要把网页登录成功等同于订阅格式有效。
需要先删掉整个订阅再导入吗?
先保留原有条目,核对链接并执行一次更新。只有确认了新地址有效、原有信息已妥善保存且确实需要重建时,再处理旧订阅,避免删掉仍能使用的连接信息。
更新成功后有列表,但所有服务器都连不上怎么办?
这已转为连接排查。先选定一个条目核对连接状态,再向服务商确认端口、认证信息及服务有效性;不要反复导入同一订阅,也不要把列表存在视为线路可用的保证。
买了 Shadowrocket,为什么还需要自己的订阅?
客户端买断 ≠ 线路套餐。Shadowrocket 的购买用于获取客户端;服务器与订阅由用户自己的服务商提供。本站不提供、不销售、不推荐节点或订阅。