This guide is for users who already use Shadowrocket on an older device and are moving to a new iPhone or iPad. During the transfer, check servers and subscriptions in Home, rule files in Config, and operating options in Settings. Use iCloud sync to reduce re-entry, and export a separate config copy as a backup. After restoring, verify the active config, Global Routing, and system VPN permission. A list entry appearing on the new device alone does not confirm a successful transfer.
1. Know What’s Stored in Servers, Config Files, and Settings
Backing up Shadowrocket doesn’t just mean saving a single file. Servers in Home determine where connections go; config files in Config determine how requests match rules; and Settings options affect behavior such as subscription updates and On Demand connections. These data work together, but don’t assume they’re all saved and restored in the same way.
| Data location | Keep before migration | Check on the new device |
|---|---|---|
| Home | Server settings, subscription URLs, and group names | Check that all server entries are present and subscriptions can update |
| Config | Currently selected config file and local rule edits | File contents and current selection |
| Settings | Notes on options related to your current setup | On Demand and subscription update settings |
| System VPN | Record the old device’s current state | Complete authorization again on the new device |
An exported rule config file is not a complete backup of the server list in Home. It may contain rules, DNS, or Host entries, and may also reference external resources. Check the actual file to see whether it contains connection credentials; the file extension alone won’t tell you. Save subscription URLs separately and securely. Get subscriptions from your service provider.
Before migrating: check what your backup contains
Before erasing the old device, check off servers, subscriptions, config files, and operating settings one by one. Keep the original data on the old device until you’ve verified each item on the new one.
2. Turn On iCloud Sync and Confirm the Data Arrives
iCloud sync relies on the iCloud account and iCloud Drive on your devices. It’s separate from restoring an App Store purchase: sync handles data, while purchase restoration handles your eligibility to get the app. Being able to download the app on a new device doesn’t mean your existing configuration has synced.
- On your old iPhone or iPad, open Settings, go to Apple Account → iCloud → iCloud Drive, and confirm that sync is available. System menu names may change between software versions.
- Find Shadowrocket in the app list under iCloud and confirm it’s allowed to use iCloud. If the list is collapsed, expand it to show all apps.
- Open Shadowrocket and go to Settings → iCloud to check the sync options. The items that sync are the ones shown in the current interface; this is not a full-device backup.
- Keep the old device connected to the internet, then enable the relevant options on the new device using the same iCloud account. Open Home and Config separately to check which data actually appears—don’t rely on the switches alone.
The first sync may take time. Network conditions, available iCloud storage, and account verification can all affect the result. If servers appear in Home but the expected file is missing from Config, check config sync and be ready to restore from your separate export. Don’t delete, rename, or make bulk edits on both devices to try to “force” a sync.
3. Export a Config File and Keep a Separate Restore Copy
Before exporting, confirm which file is actually in use in Config. If the list has several similarly named configs, check their contents for rules you added locally. Otherwise, you may back up an older download that you no longer use. Keep a separate record of the remote config URL and your local edits: downloading the remote file again won’t necessarily preserve local changes.
- In Config, find the config you’re using, open its action menu or details, and choose the share or export option. The exact location may vary in the current interface.
- In the system share sheet, choose Save to Files to keep a separate copy. A purpose-specific name such as
shadowrocket-before-migration.confmakes it easy to distinguish from files you use day to day. - In the Files app, confirm that the file exists and opens as text. If you save it to iCloud Drive, wait for the upload to finish, then check that it can be opened on the other device.
- Save any other configs you’ve edited separately. Keep subscription URLs and manually entered server settings safe in their own records; a rule file is not a substitute for them.
The snippet below is only an example of what to check; it is not a complete file you can use to replace your current config. After exporting, verify that the rules in [Rule] are still present and in the original order, especially custom domains and the final policy. The example uses documentation domains and reserved addresses, not a real connection service.
[Rule]
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
FINAL,DIRECT
DOMAIN-SUFFIX matches a domain and its subdomains, IP-CIDR describes an address range, and FINAL handles requests that didn’t match earlier rules. Keep the original syntax and order during migration; there’s no need to change rules just to “make them compatible with a new device.” If the original file references external rule resources, also confirm that their URLs are reachable on the new device.
4. Restore in Order on Your New iPhone or iPad
Shadowrocket is a closed-source commercial app distributed on Apple platforms, primarily for iPhone and iPad, and is available exclusively through the App Store. Before switching devices, use the authenticity check guide to verify the developer, Shadow Launch Technology Limited, the official icon, and app ID 932747118. For system requirements and purchase availability, refer to the App Store listing.
- Restore the app and sync setup. Get Shadowrocket on the new device and confirm the iCloud account and sync settings described above. First check whether existing data appears; don’t immediately add the same subscription again.
- Restore Home entries. If the server list didn’t sync, use your saved subscription URL to add it again and update it. Restore manually entered servers using the original settings, checking the protocol, server address, port, and authentication fields—not just the display name.
- Import the rule file. Find the exported config in Files and send it to Shadowrocket through the share sheet. After importing, open Config to check the file contents and explicitly select the config you want to use. Seeing a file in the list doesn’t mean it’s active.
- Check the routing mode. Check Global Routing in Home. To route traffic by rules, select Config. Proxy and Direct handle requests differently; don’t use either option to determine whether your rules were restored.
- Confirm system authorization. The first time you turn on the connection, follow the system prompts to allow the VPN configuration and complete device verification. Authorization on the old device does not replace confirmation on the new one.
5. Test Connections, Rules, and On Demand—Not Just the Switches
Check the restored setup in three ways: whether a server connects, whether the intended config is selected, and whether requests are handled as expected. A latency test only shows that the relevant test got a response; it doesn’t prove that web requests, DNS, and every rule are working. Change one thing at a time during testing to make issues easier to pinpoint.
- Check the server: In Home, select a specific server entry and run an available connectivity test. If it fails, first check the address, port, authentication, and service status.
- Check the rules: Keep Global Routing set to Config. Visit a destination you know should connect directly or use a proxy, then check the connection log to confirm the policy used. Don’t add a block of rules you don’t understand just for testing.
- Check for updates: Update an existing subscription once and confirm there are no authentication or parsing errors. After a successful update, check that the currently selected entry is still there.
- Check On Demand: Go to Settings → On Demand and verify the switch and existing conditions. Test a manual connection first, then restore the automatic triggers you need so they don’t interfere with troubleshooting.
If the connection turns back on after you switch it off, check On Demand first instead of deleting all your configs. If only some domains have problems, check the active Config, rule order, and DNS settings. Separating server connection problems from rule-matching problems helps you find the cause instead of repeatedly importing the same files.
6. Common Questions About Restoring on a New Device
Both devices use the same account. Why is the list still empty?
First, make sure you’re checking the same iCloud account—not just the App Store purchase account. Then check system iCloud Drive, Shadowrocket’s iCloud access, and Settings → iCloud. Check Home and Config separately. You can restore data that hasn’t synced yet from a separate backup; don’t erase the old device first.
I imported a .conf file. Why aren’t any servers available to select?
Open Config and check the file contents. A rule file may contain routing rules but no server information for Home. Go to Home and restore entries using a subscription you already have, or add servers using the old device’s settings. Get subscriptions from your service provider. Then select a server and the active config.
The servers are restored. Why are results different from the old device?
First compare Global Routing on both devices, then confirm that the same config is selected in Config. If results still differ, compare local edits, external rule resources, and DNS settings. The same filename doesn’t guarantee identical contents.
The subscription update failed authentication on my new device. Do I need to buy the app again?
App purchases and subscription authentication are managed separately. Check that the subscription URL is complete and its credentials are still valid, and get a current URL from your service provider. Buying the app again won’t fix subscription authentication. Don’t post URLs containing tokens on public pages.
7. After Migration, Handle the Old Device and Sensitive Copies
Config files and subscription URLs may contain sensitive information. Before sharing a file, check for passwords, keys, authentication fields, or URLs with tokens. Hiding the server’s display name does not remove that information. Keep backups somewhere you control, not in a shared folder that others can access.
- Confirm that the new device can open the backup, all Home entries are present, and Config contents and selection are correct.
- Test a manual connection, update a subscription, and check access to a destination you use every day before restoring On Demand.
- Keep the old device’s original data until migration is verified. Don’t use signing out or deleting entries as a way to test sync.
- After verification, remove temporary shared copies. If credentials were exposed, get replacements from your service provider promptly and update the relevant devices.
Before making major rule changes in the future, export another separate copy. This lets you use iCloud sync for everyday changes while keeping a clear restore point in case of accidental edits or sync issues. Each method serves a different purpose; neither replaces the other.