When switching devices, restore your app purchase, connection details, and routing configuration separately. Redownloading the app does not restore all your data. This guide is for users with their own service and subscription who are moving to a new iPhone: review the old device, check iCloud sync, export a .conf file, then verify each item on the new device. Keep the old device until you have checked connectivity, rules, and automatic connections on the new one.
1. Separate Purchase History, Connection Details, and Configuration Files
Your Shadowrocket purchase is tied to your App Store account. Connection entries and subscription sources in Home, along with configuration files in Config, are app data. Redownloading with the original purchasing account restores access to the app, but does not guarantee that this data will reappear. A one-time app purchase is not a service plan. This guide covers saving and restoring data you already have.
Whether a .conf file includes connection settings depends on its contents. A file containing only rule sections such as [Rule] cannot restore all the connection entries in Home. Even if it includes [Proxy], do not assume that subscription groups, update settings, or all device preferences are preserved.
| What to Transfer | Where to Check on the Old Device | What to Verify on the New Device |
|---|---|---|
| App purchase | App Store purchasing account and purchase history | You can redownload Shadowrocket with the original purchasing account |
| Connections and subscription sources | Entries, groups, and subscription details in Home | Required entries are present and subscription sources update successfully |
| Routing configuration | The active file and custom rules in Config | The file is imported and selected as the active configuration |
| Runtime state and preferences | Global Routing、Settings → On Demand | Routing is set correctly and automatic connection conditions suit the new device |
Bottom line: Save recoverable data before switching devices
Before erasing your old iPhone, make sure you can open the exported configuration file and rebuild a connection from the original details stored in a secure location. An enabled cloud sync switch alone is not proof that migration is complete.
2. Back Up the Old iPhone in Order
For now, stop editing the same configuration on multiple devices and use the old device as the only source of changes. Note what currently works. Avoid bulk-deleting entries or resetting Settings before making a backup. This gives you a baseline to compare against if anything differs on the new device.
- Note the routing mode. In Home, check Global Routing and record whether Proxy, Direct, Config, or Scene is selected. If you use Scene, note its conditions too; the name alone is not enough.
- Confirm the active configuration. Open Config and identify the file that is actually selected. If several files have identical or similar names, open each and check [Rule] so you do not export an outdated draft.
- Review connection sources. Distinguish manually added entries from subscription entries. Store subscription URLs, manual connection credentials, and protocol-specific settings in a secure location you control. Do not rely on display names alone.
- Note device settings. Check Settings → On Demand and any DNS or subscription update settings you have changed. Record only options that are actually present and in use; do not fill in details from memory.
- Make an offline copy. Export the configuration to a controlled location in Files, then open it to confirm it is not empty or an incomplete copy containing only a filename.
3. Check iCloud Sync, Not Just the Switch
iCloud sync, a manually saved copy in iCloud Drive, and a full-device backup are three different things. App sync covers the data the app supports; a .conf saved to iCloud Drive is a file; restoring a full-device backup is part of the system migration process. Do not assume one includes the others or guarantees that all connection data is covered.
- On your iPhone, go to Settings → Apple Account → iCloud to check the account and available storage. Then check Shadowrocket's access in the list of apps using iCloud. System menu labels may change between releases.
- If you save a cloud copy through Files, make sure iCloud Drive is enabled and that you can browse to the folder where the configuration is stored.
- Check the iCloud-related options in Shadowrocket's Settings. The exact location, sync scope, and whether manual action is needed depend on what the current app interface shows. Do not assume one sync option backs up all data.
- Let the old device finish syncing while it has a network connection, then check which files and entries actually appear on the new device. Do not substitute a fixed waiting period for checking the result.
The App Store Media & Purchases account may differ from the iCloud account signed in on the device. For purchase history, check the original purchasing account; for cloud data, check the original iCloud account. Troubleshooting these separately is more useful than repeatedly signing out.
- Files are missing: First check in Files that the cloud copy is visible and opens, then review the sync scope in the app.
- You see older content: Stop editing on both devices, keep both copies, and compare custom rules line by line before choosing which one to use.
- You deleted data on the old device and it disappeared from the new one: Sync may propagate deletions, so keep a separate export before migration.
4. Export a .conf and Check What It Contains
In Config, find the configuration you want to save, open its available action menu, and use the export or share option to save it to Files. Button locations and English labels can vary by interface, so follow what appears on your device. The goal is a reusable .conf file, not a copied filename, remote URL, or configuration preview image.
Give the copy a descriptive name that distinguishes its source, such as home-routing-backup.conf, and keep an untouched original. If the configuration relies on remote rule resources, exporting the main file may not bundle their contents. Check its references, note what each resource is for, and confirm that the new device can access resources you already use.
Configuration File Checklist
- What to Check
- The file actually selected in Config
- Rule contents
- [Rule], custom entries, and the final policy
- Connection definitions
- If [Proxy] is present, check each parameter
- External dependencies
- Remote rules or resources referenced by the file
A .conf extension does not mean the file contains all app data.
Connection Details Checklist
- Core parameters
- Protocol, server address, and actual port
- Authentication
- Original credentials such as passwords, UUIDs, or keys
- Additional parameters
- Keep options such as TLS and SNI as configured originally
- Subscription source
- Your original URL and any required update settings
Do not infer the port from the protocol name. If the original details specify 443, verify it along with the other fields.
Use a Rule Snippet to Check That You Exported the Right File
This example shows only the [Rule] structure. It is not a complete connection configuration and does not include a working connection service. DOMAIN-SUFFIX matches a domain and its subdomains; IP-CIDR matches an IP address range. Keep FINAL after the relevant rules so it handles requests that do not match any preceding rule.
[Rule]
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
FINAL,PROXY
These rules are evaluated from top to bottom. If the original file includes GEOIP or other IP rules, preserve their order rather than rearranging them during migration. PROXY here is a routing policy; it does not create a server for you. If the new device has no usable connection, restoring this rule section alone will not establish a proxy connection.
5. New iPhone: Restore the App, Then Your Data
Shadowrocket is a paid client for Apple platforms and is available exclusively through the App Store. Use the original purchasing account to find the app in your purchase history and redownload it. If the page shows a price instead of a redownload option, first check the purchasing account and purchase history; do not assume missing data means you must buy the app again. Check the App Store page for the listed price, system requirements, compatibility, and whether the purchase is universal.
- Verify the app. Check the developer, Shadow Launch Technology Limited, the official icon, and app ID 932747118 on the app verification page, then get the app from the App Store.
- Check the sync results. Open the app and review the actual contents of Home and Config. If sync has already restored the entries you need, check them before importing another full set of data.
- Import the configuration file. In Files, find the saved .conf and share it to Shadowrocket, or use the import option currently available in Config. After importing, inspect the contents and select the intended file as the active configuration.
- Restore missing connection details. Re-enter any missing manual entries from your original records. For subscription entries, use the add option in Home, choose Subscribe, enter your own existing URL, and update it. Check for an existing entry from the same source before importing to avoid duplicate groups.
- Confirm system authorization. When connecting for the first time, follow the system prompt to allow adding a VPN configuration. Authorization on the old device does not replace confirmation on the new one, and granting permission does not mean the server is reachable.
6. Verify the Migration in Three Passes
Turning on the connection only shows that the connection process has started; it does not prove that the configuration and rules are restored correctly. Check connectivity first, routing next, and automatic connections last. Change one variable at a time so you can tell whether an issue comes from the network, connection settings, or rules.
| Check | What to Do | What to Check First if Something Fails |
|---|---|---|
| Connection details | In Home, select the entry you used before, run a connectivity test, and try to access the resources you need | Server, port, authentication details, and whether the current network allows the relevant transport |
| Rule configuration | Set Global Routing to Config, confirm the intended file is selected in Config, and review match results in available request logs | Rule order, policy references, and domain and IP match conditions |
| Automatic connections | In Settings → On Demand, check the conditions, then test switching between Wi-Fi and cellular | The new device's actual Wi-Fi name, condition priority, and system VPN status |
In Global Routing, Direct connects without a proxy, Proxy routes through a proxy, Config follows the selected configuration, and Scene switches according to configured conditions. Analyze traffic against the relevant rule file only when using Config. If Direct is selected, changing [Rule] will not produce the expected rule-based routing. Scene conditions need to be checked separately; Scene is not another name for Config.
- Connectivity test passes, but the resource is unavailable: Check the actual request path, DNS, and rule matches. A successful test does not mean every domain and protocol will work.
- Manual connection works, but switching networks causes problems: Temporarily turn off On Demand, confirm the connection is stable, then restore the automatic connection conditions one at a time.
- Behavior changes after restarting: Recheck the active configuration, Global Routing, and On Demand instead of simply importing the same file again.
Bottom line: Keep the old device until connectivity, routing, and network switching all pass
Export the final, verified .conf once more and keep the original connection details and subscription source. If sync later overwrites data or something is deleted by mistake, you can return to a tested state instead of relying on the old device remaining available.
7. Common Questions About Restoring on a New iPhone
Why is Home still empty after I redownload with the same Apple ID?
Purchase history and app data are handled separately. First confirm that iCloud is signed in with the account that holds the original data, then check the app's sync scope and actual sync results. Restore any unsynced connections from your original records. Do not buy the app again just because Home is empty, and do not treat a .conf containing only rules as a backup of all entries.
I imported the .conf. Why does it behave differently from the old iPhone?
First open Config and confirm that the file is selected, then check whether Global Routing is set to Config. Next, verify the selected connection in Home and the policies and remote resources referenced by the file. If the file contains only [Rule], you also need to restore the connection details it depends on.
After restoring a subscription, I see two groups with the same name. Can I delete one?
Compare the source, group, and currently used entries first, and confirm which group can update from its original source. Keep the valid group and test the connection before deleting the duplicate. Do not decide by display name alone; matching names do not guarantee the same server, credentials, or additional parameters.
Why does my new iPhone connect automatically as soon as it joins Wi-Fi?
Open Settings → On Demand and check whether the old device's automatic connection conditions were restored, especially behavior tied to the same Wi-Fi name. Disable the relevant conditions temporarily and test manually, then adjust them for how you use the new device. On Demand controls when a connection starts; it does not replace request routing in [Rule].
I erased my old iPhone and only have one exported file left. What can I restore?
Open the file and check its actual sections first. If it has [Rule], you can restore the rules it contains; if it includes connection definitions, verify that the authentication details are complete. Subscription URLs, manual entries, and device settings that are not in the file cannot be recreated from it. Look for them in your securely stored originals or existing service records.