迁移 Shadowrocket(小火箭)时,先保留旧设备,再分别处理应用购买记录、Config 配置文件与 Home 中的已有订阅。本文适用于已有自己的服务商与订阅、准备更换 iPhone 或 iPad 的用户:用 iCloud 同步配合独立文件备份,在新设备逐项恢复并验证,避免把“文件已出现”误当作“连接设置已全部恢复”。
一、迁移前先区分购买、配置与订阅
Shadowrocket 是闭源商业应用,通过 App Store 一次性买断。客户端买断 ≠ 线路套餐。应用购买记录决定能否重新获取客户端;用户已有服务商管理订阅与线路;Config 中的文件决定规则、DNS 等配置内容。这三部分不能互相替代,恢复购买也不会自动重新生成订阅凭据。
Home、Config、Settings 应分别检查。Config 中导出的文件不应被默认视为整套应用数据备份:它是否包含服务器信息、是否引用远程资源,取决于文件本身。Settings 中的偏好、Home 中选中的服务器以及系统 VPN 授权,都需要在新设备重新核对。
- 记录 Config 当前启用的文件名,以及是否有尚未保存的编辑。
- 确认仍能从自己的服务商账户找到原订阅链接,避免只在旧设备保存唯一副本。
- 记录 Home → Global Routing 当前为 Proxy、Direct、Config 还是 Scene;使用 Scene 时另记其条件与关联策略。
- 检查 Settings → On Demand 是否启用,记录原有触发条件,恢复阶段先不要开启自动连接。
二、用 iCloud 同步前,先确认账户与文件状态
iCloud 适合同一 Apple 账户下设备之间的配置同步,但同步不等于保留每一次修改的历史备份。误删或覆盖也可能传播到其他设备,因此换机前仍应导出一份独立文件。也不要把系统的 iCloud 设备备份、iCloud Drive 中保存的文件与应用内配置同步当作同一入口。
- 在旧设备的系统 Settings 中进入 Apple 账户 → iCloud,确认 iCloud Drive 可用、存储空间充足,并检查应用使用 iCloud 的权限。系统菜单文字以设备实际显示为准。
- 在 Shadowrocket 的 Config 中保存正在编辑的文件。若当前界面提供 iCloud 配置入口,打开后核对文件列表;将需要迁移的配置按该入口的操作保存到云端。
- 让旧设备保持联网,等待同步完成。不要只凭打开了开关判断成功,应查看目标文件能否被列出、打开,内容是否包含最后一次编辑。
- 在新设备登录用于该同步空间的 Apple 账户,开启相应 iCloud 权限,再到 Config 中检查云端文件。先查看内容,再决定是否载入。
如果新旧设备存在同名配置,不要立刻双向编辑。先把旧设备确认可用的内容导出留存,在新设备核对规则与 DNS 后再指定使用哪一份;文件名相同并不代表内容相同。
三、导出配置文件,并保留订阅的独立恢复入口
文件备份的重点是拿到可读取的配置正文,而不只是复制配置名称或远程文件地址。在旧设备进入 Config,打开目标文件对应的操作菜单,使用界面提供的分享或导出操作,选择系统分享面板中的保存到“文件”。如果操作只生成链接,需要另外确认实际配置内容已保存。
- 将配置保存到自己控制的“文件”位置,使用能区分用途的文件名,例如
home-rules-backup.conf。不要覆盖唯一一份已验证可用的副本。 - 预览导出文件,确认不是空文件,并检查
[General]、[Rule]等实际使用的段落及自定义内容是否齐全;并非所有配置都必须含有相同段落。 - 如配置引用远程规则或其他远程资源,记录其来源与访问条件。导出主配置并不保证将远程内容一并保存。
- 通过自己控制的 iCloud Drive 或设备间 AirDrop 传递文件。新设备收到文件后,使用分享面板中的 Shadowrocket 入口(如可用),或 Config 中提供的文件导入操作载入。
已有订阅也要单独整理。订阅链接通常含有访问凭据,例如 https://example.com/sub?token=xxxx 仅为假值示例,不能用于恢复。不要将真实链接写进公开截图或求助帖子;保存在自己控制且受保护的位置,并确认服务商账户仍能访问。
结论:以新设备能打开文件作为备份验收点
导出后,在新设备实际打开副本并核对一条自己修改过的规则;通过这一步再处理旧设备,比只检查文件名更可靠。
四、从 App Store 恢复应用,再载入配置和订阅
新 iPhone 或 iPad 上先打开 App Store,核对 Shadowrocket 产品名称、官方图标、开发者 Shadow Launch Technology Limited,以及应用 ID 932747118。唯一获取入口是 App Store;系统要求及通用购买适用范围以 App Store 页面标注为准。
- 核对购买账户:在 App Store 账户的已购项目或应用列表中查找 Shadowrocket。应使用原来完成购买的账户;用于 App Store 购买的账户与用于 iCloud 同步的账户,需分别核实。
- 重新获取应用:若已购状态可识别,按商店提供的重新下载入口操作。如果显示购买价格,先检查账户与购买记录,不要把重复付款当作配置恢复步骤。
- 载入配置:进入 Config,打开同步或导入的文件,确认内容后将其选为当前使用配置。列表里存在文件与该文件已启用是两种状态。
- 恢复已有订阅:若 Home 列表未恢复,从自己保存的原订阅链接重新添加,再执行更新。订阅更新获取的是服务商当前返回的内容,不保证与旧设备缓存列表完全一致。
- 恢复运行状态:在 Home 重新选择服务器与 Global Routing。需要按文件规则运行时选择 Config;如原来使用 Scene,则核对场景条件后再恢复。
- 完成系统授权:首次开启连接时,按系统提示允许添加 VPN 配置。旧设备的授权不能代替新设备上的确认。
手动添加的服务器若不在导出文件中,也没有订阅可重新获取,就需要从自己保管的参数恢复。以 Trojan 为例,应逐项核对 Address、Port、Password 与 SNI,而不是仅复制显示名称。Port 不能因为常见示例是 443 就统一改成该值,应以自己的原始配置为准。
五、按规则、DNS 与自动连接顺序验收
迁移后的验收应先手动连接,再测试自动连接。这样能区分配置内容问题与 On Demand 触发问题。以下是用于核对规则文本的语法示例,不是完整可运行配置;PROXY 所引用的策略必须在实际配置中有效,示例域名也不是线路入口。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
DOMAIN-SUFFIX,example.org,REJECT
FINAL,PROXY
- 先看运行姿态:Home → Global Routing 选择 Config 时才按当前配置的规则分流;Proxy 与 Direct 不是“已恢复规则”的确认标记。Scene 还需要检查场景切换结果。
- 检查规则顺序:
DOMAIN-SUFFIX匹配域名后缀,IP-CIDR匹配地址网段,FINAL承接前序未命中的请求。把 FINAL 提前可能使后面的规则无法生效。 - 检查 DNS:比较新旧文件中
[General]下的dns-server等实际设置。域名访问失败而直接地址测试表现不同,只是需要继续检查解析路径的线索,不能单凭这一点确定故障来源。 - 检查依赖资源:远程规则需要更新时,确认新设备能访问资源地址;配置引用的策略名称应与实际可用名称一致。
- 最后恢复 On Demand:手动连接与规则测试通过后,再到 Settings → On Demand 恢复需要的条件,在 Wi-Fi 与蜂窝网络切换后分别观察。
验收时保持一次只改一项。记录“使用哪个配置、哪个 Global Routing 姿态、访问哪个目标、出现什么结果”,比只记录“连不上”更容易定位问题。至少确认一个应直连的目标和一个应走代理策略的目标,再结束迁移。
六、换机恢复中的常见问题
新手机的 iCloud 里找不到配置,旧手机却有,怎么办?
先核对两台设备用于 iCloud 的 Apple 账户,再检查 iCloud Drive、应用权限与剩余空间。旧设备 Config 中的本地文件不等于已保存到云端;先独立导出该文件,再检查同步入口,避免在排查时丢掉唯一副本。
Config 已经有文件,为什么 Home 还是空的?
先查看导入文件是否只包含规则与 DNS,没有服务器数据。若是这种情况,从自己保存的订阅链接重新添加并更新;手动填写过的服务器则按原参数恢复。不要反复导入同一个规则文件来尝试填充 Home 列表。
恢复以后能连上,但分流和旧设备不一样?
先核对 Config 当前启用的文件,再查看 Home → Global Routing 是否为预期姿态。随后比较自定义规则顺序、FINAL 与 DNS 设置;使用 Scene 的用户还应确认当前网络是否触发了不同场景。
新机能用了,可以马上清空旧设备吗?
先在新设备验证订阅更新、手动连接、规则分流以及必要的 On Demand 条件,并保留一份独立配置文件。确认订阅凭据能从自己的账户重新取得后,再按个人设备处置计划清理旧设备。
如果已经无法访问旧设备,只能从现有的 iCloud 内容、文件副本及服务商账户中恢复仍然保留的资料。重新获取应用不会重建未曾备份的本地修改;此时应先整理可用文件与凭据,再逐项恢复,避免把新的空白配置覆盖到云端。