Shadowrocket订阅导入失败:六类报错各自对应什么
一句话结论
小火箭导入订阅失败可归为六类:链接被截断或多了空格导致地址无效、订阅返回的是网页而非节点数据、账号未授权返回 403、套餐到期或流量耗尽被拒绝、订阅地址已被机场重置、以及本地网络无法访问订阅域名。前四类需要回机场后台核对,第五类需重新复制新地址,第六类可通过换用蜂窝数据或先手动连一个节点再更新来绕开。
导入订阅这一步弹出的提示,大部分人扫一眼就关掉了,然后开始重试、重装、换机场。其实那句提示已经把范围缩小了一大半——「地址无效」和「无可用节点」指向的是完全不同的环节,前者说明请求根本没发出去,后者说明数据回来了但内容不对。
把报错文本当成分类依据,而不是当成失败的通知,排查路径会短很多。小火箭的提示语在不同版本里措辞略有差异,但语义可以归到六类,每一类对应订阅链接、账号状态、网络可达性中的某一层。
先给一张总表用来对号入座,后面每一节展开一类。注意本篇处理的都是「订阅还没成功落地」的情况;如果节点已经在列表里、只是连不上,那属于另一条排查路径。
| 你看到的提示 | 数据走到哪一步 | 该查哪一层 |
|---|---|---|
| 地址无效 / 无法解析 URL | 请求没发出去 | 链接文本本身 |
| 导入成功但节点为空 | 请求成功,内容不对 | 订阅返回的是不是节点数据 |
| 403 / 401 / 未授权 | 请求到了,被服务端拒绝 | 账号与订阅地址的对应关系 |
| 流量不足 / 套餐已过期 | 服务端明确拒绝 | 套餐状态 |
| 更新后节点清零 | 旧地址已失效 | 订阅地址是否被重置 |
| 连接超时 / 无法连接服务器 | 请求发不出去 | 本地网络能否访问订阅域名 |
提示「地址无效」时,先看这两处
这一类几乎不涉及服务端,问题都在你手上那串字符里。
第一处是完整性。 订阅链接通常带一长串参数,经过聊天软件转发时很容易被折行或截断,尤其是链接末尾那部分。粘到备忘录里看一眼,确认它是完整的一行,而不是断成两截。
第二处是杂质。 复制时带上的前后空格、换行符,或者从网页上选中时混进来的不可见字符,都会让解析失败。最稳的做法是在机场后台点「复制」按钮而不是手工选中拖拽。
# 结构示例,不是可用地址
正确形态 https://sub.example.invalid/link?token=REPLACE_ME&flag=shadowrocket
被截断 https://sub.example.invalid/link?token=REPLA
带了空格 " https://sub.example.invalid/link?token=REPLACE_ME "
如果链接是通过二维码拿到的,截断问题不会发生,但会有另一类坑:扫到的可能是单节点而不是整份订阅。图像入口的差异写在二维码导入的正确顺序里。
导入成功却一个节点都没有,数据去哪了
这一类最容易被误判成「机场跑路了」。实际情况通常是:请求成功返回了,只不过返回的内容不是节点列表。
验证方法只要十秒——把订阅地址粘进浏览器打开。你会看到三种结果之一:
| 浏览器里看到什么 | 说明 | 处理 |
|---|---|---|
| 一大段乱码或编码文本 | 这是正常的节点数据 | 问题在客户端解析,查协议兼容 |
| 机场的登录页面 | 地址少了鉴权参数或已失效 | 回后台重新复制完整地址 |
| 错误页 / 404 | 地址写错或路径已变更 | 回后台核对地址 |
| 一片空白 | 服务端返回了空内容 | 多为账号状态问题,见后两节 |
第一行值得单独说:数据正常但客户端里节点为空或偏少,那就不是导入问题,而是客户端读不懂里面的协议类型。这种情况下重导一百次也没用,应该去看客户端支持哪些协议。
403、401 或「未授权」意味着什么
这三种提示的共同点是:请求准确到达了服务端,服务端认出了这个地址,然后拒绝了你。所以链接本身多半没写错,问题在授权关系上。
常见成因有四个:
- 地址属于另一个账号。从朋友那里要来的订阅、或者同时开过两个账号,很容易拿错。
- 订阅地址被重置过。旧地址在服务端已经作废,详见后文。
- 触发了并发或频率限制。短时间内反复点更新,部分机场会临时拒绝,等几分钟再试即可。
- 账号被暂停。欠费、违规判定或后台异常都可能导致,后台登录一次就能看到状态。
遇到 403 时不要连续猛点更新按钮。这类拒绝往往是有计数的,越点触发限制的时间越长,反而把一个几分钟能自愈的问题拖成半小时。
「流量不足」「套餐过期」一定要续费吗
不一定,先分清是哪一种额度用完了。
| 提示类型 | 实际含义 | 是否必须付费 |
|---|---|---|
| 流量不足 | 套餐内流量额度耗尽 | 需要买流量包或等下个周期重置 |
| 套餐已过期 | 有效期到了 | 需要续费 |
| 设备数超限 | 同时在线设备超过上限 | 不需要,踢掉其他设备即可 |
| 订阅次数超限 | 短时间更新次数过多 | 不需要,等待即可 |
后两种经常被误读成前两种。设备数超限尤其隐蔽:你在手机、平板、电脑上都登着,自己以为只有一台在用。多数机场后台有重置设备或查看在线设备的入口,处理完重新更新一次订阅就恢复了。
至于流量确实耗尽的情况,买完之后要手动更新一次订阅,客户端不会自动重试。部分机场的额度刷新存在几分钟延迟,更新一次没恢复可以稍等,别急着再买一份。
订阅地址被重置后,旧链接为什么彻底失效
订阅地址里那串 token 本质上是一把钥匙,重置就是换锁。一旦换掉,旧钥匙不会「过期后自动恢复」,它是被立刻作废的。
触发重置的情况有三种:你自己在后台点了重置按钮;机场发现该地址被异常大量访问,出于安全做了处理;或者机场更换了订阅域名和路径结构。第三种通常会发公告,前两种往往没有通知。
表现很有特征——之前一直好好的,某次更新后节点全没了或直接报错,而账号本身状态正常、流量也还有。这时不要在客户端里折腾,直接回后台复制新地址,删掉旧订阅重新添加一次。
重新导入后如果自定义的规则还在、只是节点组空了,那属于配置与订阅的分工问题,可以对照配置文件与订阅的分工说明理解为什么两者要分开备份。
订阅域名本身打不开:先有鸡还是先有蛋
这是最绕的一类:要更新订阅得先访问订阅域名,但那个域名在当前网络下打不开,而要打开它又需要先有一个能用的节点。
判断方法是看提示——「连接超时」「无法连接到服务器」这类措辞,说明请求根本没出去,和账号、流量都没关系。
破局的办法有几个,按成本从低到高:
- 换一条网络。从 Wi-Fi 切到蜂窝数据,或反过来。不同运营商对同一域名的可达性经常不一样,这一步成功率不低。
- 手工连一个还能用的旧节点再更新。列表里只要还剩一条节点能连上,先连上它,再去更新订阅。这是最常用的自举方式。
- 用机场提供的备用域名。多数机场准备了不止一个订阅域名,后台或公告里能找到。
- 换个时间再试。域名解析层面的波动往往是暂时的。
如果换了网络、换了域名都不行,而且机场官网也打不开,那问题可能已经超出订阅本身。这种情况值得关注机场的公告渠道,而不是继续在客户端里重试。
什么时候该找客服,以及该提供什么
自查完上面六类还是失败,再联系客服才有意义,否则大概率得到一句「请重新导入试试」。开口时把这几项一起给出去,能省掉好几轮来回:
- 你使用的客户端名称和版本号。
- 报错提示的原文,而不是「导入失败」这种转述。
- 订阅地址在浏览器里打开时看到的内容类型(乱码、登录页、还是错误页)。
- 已经做过的排查动作:换过网络、换过设备、重新复制过地址。
- 后台显示的套餐状态和剩余流量。
订阅链接本身包含你的鉴权信息,发给客服时一般是必要的,但不要发到公开群组或论坛。这一点和处理配置备份时的原则一致。
如果同一家机场反复出现地址重置、域名不可达、公告滞后这类问题,那已经不是排查技巧能解决的了,可以到机场对照页按自己的实际需求重新筛一遍候选。
小结
导入失败的提示语本身就是分类依据:请求没发出去、内容不对、被服务端拒绝,三层各有各的查法。地址无效查链接完整性和杂质,节点为空先用浏览器打开订阅地址看返回了什么,403 查账号与地址的对应关系,流量提示要先分清是真耗尽还是设备数超限。地址被重置无法挽救,只能回后台取新的。订阅域名打不开时,先连一条还能用的旧节点再更新是最有效的自举方式。
常见问题
为什么复制的订阅链接看起来没问题,粘贴进去却提示无效?
最常见的是链接末尾被聊天软件截断,或者前后混进了空格和不可见字符。把链接先粘到备忘录里看一眼完整形态,确认以正确的参数结尾,再复制一次通常就好了。
导入成功但节点列表是空的,是机场没节点了吗?
更可能是订阅地址返回了一个网页而不是节点数据。用浏览器打开该地址,如果看到的是登录页或错误页面,说明客户端拿到的就是这段网页内容,自然解析不出节点。
提示流量不足,买了新流量包马上就能恢复吗?
购买后需要手动更新一次订阅,客户端不会自己重试。部分机场的额度刷新有几分钟延迟,更新一次仍失败可以稍等再试,而不是立刻重复购买。
订阅地址被重置后,旧地址还有办法救回来吗?
没有。重置的意义就是让旧地址失效,这通常发生在你点了重置按钮或机场做了安全处理之后。唯一的办法是回后台复制新地址,重新导入一次。