换手机也不用重配:Shadowrocket配置文件的备份与迁移
一句话结论
配置文件是一份包含节点组、分流规则和全局设置的文本,和订阅的关系是:订阅只负责节点列表,配置文件负责这些节点怎么被组织和使用。它可以从远程地址拉取,也可以本地编辑保存。换机时,重新用同一个 Apple ID 装回 App、导入原订阅并恢复配置文件,即可还原原有状态,不需要逐条重设规则。
很多人把「订阅」和「配置」当成同一个东西,换手机时才发现不对:订阅一导入,节点是回来了,但之前调了很久的分流规则、DNS 设置、节点分组全没了。这不是导入失败,而是这两样东西本来就分工不同。
订阅是一份会变的节点清单,机场那边加节点、下线节点,你更新一次就同步过来。配置文件则是一套不怎么变的使用规则:哪些流量走代理、哪些直连、节点按什么方式分组、DNS 用哪个。前者是原料,后者是加工方式。
所以搬家要搬两样,而且顺序不能反。这篇讲的是配置文件本身的生命周期——它从哪来、存了什么、怎么导出、怎么在新设备上还原,以及加载失败时怎么退回可用状态。
配置文件和订阅链接,各自管什么
用一张表把边界划清楚:
| 对比项 | 订阅链接 | 配置文件 |
|---|---|---|
| 提供什么 | 节点服务器列表 | 分流规则、节点组、全局设置 |
| 由谁维护 | 机场后台,会持续变动 | 机场提供或你自己编辑,相对稳定 |
| 更新频率 | 需要定期刷新才能拿到新节点 | 除非规则集更新,平时不用动 |
| 丢了的后果 | 一个能用的节点都没有 | 节点还在,但分流全部失效 |
| 换机时 | 重新粘贴一次链接即可 | 需要单独导出或重新下载 |
一个常见误解是「配置文件里包含节点,所以有配置就够了」。部分机场提供的远程配置里确实内嵌了节点信息,但那样的配置更新频率跟不上节点变动,时间一长列表里全是失效节点。把节点交给订阅、把规则交给配置,是更耐用的分工。
远程配置和本地配置,该用哪一种
小火箭的配置可以从一个网址拉取(远程配置),也可以存在设备里手工编辑(本地配置)。两者的差别不在功能,而在「谁对它负责」。
| 维度 | 远程配置 | 本地配置 |
|---|---|---|
| 规则新鲜度 | 机场维护,自动跟进 | 停留在你保存的那一刻 |
| 自定义改动 | 下次拉取会被覆盖 | 一直保留 |
| 换机成本 | 记住地址即可,几乎为零 | 必须导出文件带走 |
| 出问题时 | 只能等机场修 | 自己就能改回去 |
| 适合谁 | 不想折腾、按默认用的人 | 加过自定义规则的人 |
两者不是二选一。配置列表里可以同时存多份,日常挂远程配置吃规则更新,另外留一份改好的本地配置作为备份。远程地址某天失效时,切过去就能继续用,不至于当场无网可上。
一份配置文件里到底存了些什么
打开看会发现它就是一份分段的纯文本,结构大致如下(以下为结构示例,不是可直接使用的配置):
[General]
dns-server = system
skip-proxy = 127.0.0.1, localhost, *.local
[Proxy]
NodeA = trojan, a.example.invalid, 443, password=REPLACE_ME
[Proxy Group]
Selector = select, NodeA, DIRECT
[Rule]
DOMAIN-SUFFIX,example.invalid,PROXY
GEOIP,CN,DIRECT
FINAL,PROXY
[General] 放全局偏好,DNS、跳过代理的地址都在这;[Proxy] 是本地写死的节点;[Proxy Group] 定义分组和选择策略;[Rule] 就是分流规则表,规则的语义与排序逻辑在分流规则的读懂与自定义里有详细说明。
值得注意的是 [Proxy] 段:如果这份配置是别人给你的,里面很可能带着他的节点和凭据。这也是为什么下一节要专门讲检查。
怎么把当前配置导出成一份能保存的备份
导出这件事本身很快,难点在于人们总是等到要换机那天才想起来做。
- 进入配置列表,找到当前生效的那一份。生效的配置通常有明显标记,别把机场默认的空模板当成自己的那份导出了。
- 长按该配置项,选择分享或导出。可以存进「文件」App,也可以直接发到自己的备忘录、邮箱或任意能长期留存的地方。
- 同时把订阅链接单独存一份。配置文件不一定包含订阅地址,只备份配置的话,新机上会出现「规则齐全但没有节点」的尴尬状态。
- 顺手记下几项手工设置。DNS 值、当前路由模式、是否开了按 Wi-Fi 自动切换这类开关,不一定都写在配置里,列个三五行的备忘就够。
- 验证备份能被打开。把导出的文件在「文件」App 里点开看一眼,确认内容不是空的、也不是一个损坏的零字节文件。
备份文件里可能包含节点地址和密码,等同于账号凭据。不要发到公开群组或任何你不完全控制的地方,更不要为了图省事上传到公开的在线剪贴板。
换新 iPhone 的完整搬家顺序
顺序错了会白折腾一遍,这里给出可以照着做的次序:
- 先在旧机上完成导出。配置文件、订阅链接、手工设置备忘,三样齐了再动新机。旧机一旦抹掉就没有后悔药。
- 在新机上用原 Apple ID 下载 App。已购内容跟着账号走,必须是当初购买它的那个账号,在「已购项目」里重新下载即可,不用再付一次钱。
- 导入订阅,等节点列表出现。这一步先做,是因为配置里的节点组要引用具体节点,节点不在会直接报错或显示为空组。
- 导入配置文件并设为生效。通过「文件」App 打开导出的配置,或重新填入远程配置地址。
- 恢复零散的手工设置。按备忘把 DNS、路由模式这些补回来。
- 做一次双向验证。连接后访问一个国内站点确认没变慢、访问一个境外站点确认能打开,两边都正常才算搬完。
如果第 3 步导入订阅后节点数量比旧机上少了几个,先别怀疑迁移出错——较新的协议在不同版本里解析能力不同,这属于兼容性问题,可以对照客户端支持哪些协议确认。
配置加载失败或行为异常时,怎么退回可用状态
配置损坏的表现有几种:切换过去后节点组是空的、连接开关一开就自动关掉、或者能连但所有网站都打不开。判断方法很简单——切回另一份配置,如果问题消失,那就是配置的事。
| 现象 | 大概率原因 | 处理方式 |
|---|---|---|
| 配置切过去后节点组为空 | 组里引用的节点名在订阅里不存在 | 先更新订阅,再重新切配置 |
| 保存时提示格式错误 | 手工编辑时括号或分段被改坏 | 用备份覆盖,别在原文件上继续改 |
| 远程配置拉不下来 | 配置地址失效或本地网络访问不到 | 切到本地备份配置维持可用 |
| 能连但全部网站不通 | FINAL 或 DNS 段被改错 | 回退到上一份备份再逐条比对 |
处理原则是先恢复可用,再查原因。手上永远留一份「已知能用」的配置,遇到问题一键切回去,比在故障状态下现场调试省事得多。这也是前面建议同时保留远程和本地两份的实际价值。
从别人那里拿来的配置,为什么要先看一遍
网上流传的「优化配置」「全能规则」不少,直接套用的风险有三处,都不难自查:
- 里面可能带着别人的节点。
[Proxy]段如果有内容,那是对方的服务器和凭据,你用它等于蹭别人的线路,既不稳定也不合适。 - 规则可能包含重定向或改写。有些配置带有把特定域名指向其他地址的段落,正常用途是去广告,但也可能把你的请求引到不该去的地方。
- FINAL 的策略未必符合你的习惯。别人的配置可能默认直连兜底,套上去就是大批境外站点打不开。
检查方法不复杂:用文本方式打开,重点看 [Proxy]、[Rule] 末尾几行,以及有没有涉及证书或流量改写的段落。看不懂的段落宁可删掉也不要留着。配置文件本质上是一份可执行的网络策略,来路不明就不该无条件信任,这一点和挑服务时的审慎态度是一致的,可以参考如何挑选机场里关于信息核验的部分。
小结
订阅提供节点、配置提供用法,搬家要两样都带。远程配置胜在规则常新,本地配置胜在改动不丢,同时留两份是成本最低的做法。导出动作只要一分钟,难的是记得在换机之前做。新机恢复的正确顺序是装 App、导订阅、再导配置,倒过来会因为节点缺失而报错。别人的配置文件在使用前一定要打开看一遍,尤其是节点段和兜底规则这两处。
常见问题
配置文件和订阅链接到底是不是一回事?
不是。订阅链接负责提供节点列表,配置文件负责规定这些节点怎么分组、哪些流量走哪里。只有订阅没有配置,节点能用但没有分流;只有配置没有订阅,规则齐全却没有可用节点。
iCloud 备份能把小火箭的配置一起带走吗?
iCloud 或电脑整机备份通常能带走 App 数据,但这依赖恢复流程完整执行,不能当作唯一手段。真正可靠的做法是单独把配置文件导出一份存到备忘录或文件 App,与整机备份互为冗余。
换新手机后需要重新买一次 Shadowrocket 吗?
不需要,前提是用当初购买它的那个 Apple ID 登录 App Store 重新下载。已购内容跟随账号而非设备,但如果那个账号丢失或被锁,已购记录也就跟着失效了。
远程配置和本地配置能同时用吗?
同一时刻只有一份配置生效,但配置列表里可以同时存着多份,随时切换。常见用法是留一份机场远程配置做日常,再存一份自己改过的本地配置备用。