Shadowrocket Backup and Transfer Guide: iCloud Sync, Config Export, and Restore on a New iPhone or iPad

Learn how to back up Shadowrocket nodes and configs with iCloud sync and exported config files, then reinstall from your App Store purchases and restore them on a new iPhone or iPad.

At a glance

Before switching devices, keep the old one available and save your data with iCloud sync plus a separate config file copy. After reinstalling the app from the App Store on your new device, check the nodes in Home, rules in Config, and connection settings in Settings. This guide is for users with their own provider and subscription who are moving to a new iPhone or iPad. It covers what to save separately and how to verify that everything has been restored.

1. Separate purchase history, node details, and config files

Shadowrocket’s purchase history and its in-app data are separate. Reinstalling the app from the App Store does not necessarily restore all nodes, subscription URLs, rule files, or connection settings. Consider the transfer complete only after you have checked the contents on the new device—not just when the app icon appears.

Home is mainly for viewing nodes, subscription groups, and connection status. Config is for managing and selecting config files. Settings must be checked separately. A file exported from Config usually saves rules and related configuration; its presence alone does not mean that every Home entry and device setting is included.

3 areas
Check Home, Config, and Settings separately
2 backup methods
Use iCloud sync alongside a separate file copy
1 app ID
App Store app ID: 932747118

Bottom line: make a checklist before syncing

On the old device, note the subscription group names, Config file names, and current Global Routing selection. Save the subscription source and a config copy separately so you can verify each item on the new device instead of assuming it synced.

2. Back up the old device in this order

First confirm that the old device is working normally. If the subscription is no longer updating, determine whether the provider’s link has expired or there is a local config issue. A transfer only moves existing data; it cannot fix expired credentials. Get subscriptions and nodes from your provider.

List what to save Check sync Export a copy Restore on the new device Test the connection
  1. Check Home: Note the subscription groups, manually added nodes, and currently selected node. Record separately anything that can be retrieved through a subscription and anything you changed manually on this device.
  2. Check Config: Note the currently selected file and any files you edited locally. If a config references remote rule resources, save their URLs and source details too.
  3. Check connection settings: Note the current Global Routing selection, then check Settings → On Demand to see whether automatic connection conditions are enabled.
  4. Keep the restore source: Save existing subscription URLs somewhere secure. Tokens in these URLs may grant access, so do not post them in public forums.
  5. Keep the old device intact for now: Wait until the new device has imported the data, passed the rule checks, and completed real-world access tests before removing anything from the old one.

3. What to check when using iCloud sync

iCloud sync can keep app data in step across your personal devices, but it is not a permanent historical backup. What syncs depends on the app’s options and your device settings. Changes such as deletions or overwrites may also propagate to other devices. Export a separate copy before making major changes on the new device.

  1. On the old device, check your account and available storage under the system’s Settings → Apple Account → iCloud, and make sure iCloud Drive and Shadowrocket’s iCloud access are enabled. System menu names may change with interface updates.
  2. In Shadowrocket’s Settings, check the iCloud options and confirm that syncing is allowed for the data you plan to transfer. The sync entry point and available options depend on the current interface; do not treat any single toggle as a guarantee that all data is backed up.
  3. Keep the old device connected to the internet while its data is saved. On the new device, use the same iCloud account and check the relevant permissions. Do not bulk-delete or recreate entries on both devices at the same time.
  4. Open Shadowrocket on the new device and check Home and Config separately. Compare group names, file contents, and custom changes; being signed in does not confirm that the data has synced.

The Apple Account used for App Store purchases may differ from the one used for iCloud. The first is linked to your app purchase history; the second is linked to cloud data. Check each account separately—seeing a purchase does not mean the iCloud data belongs to that same account.

Bottom line: stop before overwriting anything if sync is incomplete

If the new device has only some nodes or is missing custom rules, leave the old device as it is. Check the accounts, sync permissions, and network on both devices, then fill in the gaps from your separate copy. Do not delete data from the old device to try to “trigger a full sync.”

4. Export a config file and check the copy

A separate file copy gives you a saved state to refer back to, especially when transferring rules you have edited manually. Go to Config, find the config in use, open its action menu, and save it to Files using the export or share option shown in the app. The exact entry point depends on the current interface. Confirm that you saved the config contents, not just the URL of a remote file.

  1. First save an untouched copy of the original, then make a separate copy to import on the new device. Add a purpose to the filename, such as home-rules-before-migration.conf, to distinguish it from an empty config.
  2. Reopen the copy from Files and check that it contains the actual rule content. Seeing a filename does not mean the complete text was saved.
  3. Check custom rules, DNS-related settings, and references to remote resources. If the copy depends on remote resources, their URLs must still be valid and accessible after the restore.
  4. Save the protocol, server, port, and authentication details needed for manually added nodes separately. Do not assume a Config export includes every node shown in Home.

The following text is only an example to help identify rule content. It is not a complete config file or usable node information. When restoring, use your own original file and make sure policy names such as PROXY have a corresponding meaning in the target config.

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY

Rules are evaluated in order. DOMAIN-SUFFIX matches domain suffixes, IP-CIDR matches IP address ranges, GEOIP classifies traffic by IP location, and FINAL handles traffic that did not match earlier rules. When comparing old and new configs, check not only that the keywords are present, but also that the order, parameters, and final policy match.

5. Restore the app and data on a new iPhone or iPad

Shadowrocket is available only on Apple platforms, and the App Store is the only place to purchase and install it. On the new device, use the original purchasing account to check your App Store purchase history, find Shadowrocket, and reinstall it. The store interface may show an “Apps” or “Purchased” section; follow the options displayed on your device.

After installing the app, first check what has synced through iCloud, then add anything that is missing. Do not immediately reimport every subscription; duplicate nodes may appear in different groups and make them harder to sort out. For where to get the app and how to verify it, see the official app verification guide.

  1. Check subscription groups and manually added nodes in Home. For a missing subscription, reimport it using the URL you saved, then update it and confirm that the entries appear.
  2. Import the saved config file in Config. Use the system share option in Files to open it in Shadowrocket, or use the app’s file import option. After importing, select the config you intend to use.
  3. Check the fields for manually added nodes. The server address, port, password or UUID, TLS, and transport settings should match the original details. Copying only the node’s display name is not enough.
  4. When connecting for the first time, follow the system prompt to allow a VPN configuration. System authorization is a separate step on the new device; do not assume it is included in the text config file.

This is an example subscription URL: https://example.com/sub?token=xxxx. It is a dummy value and cannot be used for restoring data. Get your actual URL from your provider. Rebuilding nodes from a subscription usually retrieves the provider’s current content, not a complete snapshot of the old device from a specific point in time. Check any fields you changed yourself separately.

6. Verify the connection and rules after restoring

“The node list is showing” and “the restore is complete” are not the same thing. Consider turning off any On Demand automatic connection conditions that could interfere with a manual test. Make one deliberate manual connection, then restore your original automatic connection settings. Change one thing at a time during testing so you can identify the cause of any issue.

  1. Check the data: Compare against your old-device checklist and confirm the Home subscription groups, manually added entries, and current Config file. Node counts can change when a provider updates its service, so do not use the total count alone to determine whether anything is missing.
  2. Check Global Routing: Select Config when you need to test rule-based routing. Proxy, Direct, and Scene handle traffic differently; do not mistake differences caused by a routing mode change for a damaged backup file.
  3. Test the node connection: Select a node you have confirmed is valid, run the connectivity test provided by the app, and open a site you regularly use. A latency result only reflects part of the connection path and cannot replace testing actual access.
  4. Check routing: Visit destinations expected to connect directly and through a proxy, then use the connection log to check the matched rules and policies. Pay particular attention to whether custom rules still appear before FINAL.
  5. Restore automatic connections: Go to Settings → On Demand, check the conditions you noted from the old device, then enable them and observe the connection status as the network changes.

If the subscription updates successfully but a node will not connect, check the provider’s settings one by one. For example, if the original node uses port 443, the new device must use the same port specified by the provider. Matching ports alone do not confirm that TLS, the server name, or authentication details are correct. Do not switch to a commonly used port just to make troubleshooting easier.

Keep the old device and separate copy until you have checked your usual destinations, rule-based routing, and automatic connections. If you need to undo changes later, stop the connection first and reimport the original config you saved. Do not keep overwriting the only working file without a backup.

7. Common questions about moving to a new device

The app is back, so why is Home still empty?

First check the system iCloud account, iCloud Drive, and the app’s sync permissions. Then see whether the original data is still on the old device. App Store installation restores the app itself; for a subscription that did not sync, reimport it using the URL you saved. Rebuild manually added nodes from your saved details.

Can one config file restore all my nodes?

You cannot tell from the file extension alone. Open the copy and check its contents to distinguish rules, node definitions, and remote references. If it contains only rules, you still need to restore Home entries from your own subscription source or manual records. Do not treat a rules-only file as a full app backup.

What if node names change after updating the subscription on the new device?

First confirm that you are using the original subscription URL, then check the nodes currently returned by your provider. A subscription update may change names and entries. Keep the original config, compare its policy or node references, and update the corresponding names before testing the rules. Do not delete every group outright.

Why does traffic behave differently on the new device even though the rule file is imported?

First confirm that the file is selected in Config, then check whether Global Routing is set to Config. Next, verify the rule order, remote resources, and selected node. If routing is set to Direct or a different config is in use, importing the file again will not solve the problem.

Can I recover my subscription from the purchase history if I no longer have the old device?

Purchase history can confirm your eligibility to get the app, but it does not include credentials for a provider subscription. First check for app data that can be restored from iCloud and any files you saved. If anything is still missing, get the subscription and nodes from your provider and configure them again.

Shadowrocket Official EntryCheck the App Store listing first →