This guide is for users whose old device is still available and who already have their own service provider and subscription. Before transferring, save your purchase record, server and subscription details, and Config files separately, then restore each on the new device. Seeing a file in iCloud doesn’t mean your Home entries and Settings have all transferred. Update your subscription, check your rules, and test access before wiping the old device.
1. Before you transfer: purchases, subscriptions, and Config are separate
Your Shadowrocket purchase is managed through your App Store account. Connection details and configurations are app data. Redownloading the app with the account used to buy it restores your eligibility to use the app; it doesn’t recreate a subscription link. The app purchase does not include a service plan. Get your existing subscription link from your service provider.
Server entries in Home, rule files in Config, and behavior settings in Settings serve different purposes. Even if a Config file includes some server or policy definitions, don’t assume it contains every subscription in Home, update option, or device setting. Check each type of data separately instead of just confirming that the app is installed.
Key point: preserving a source you can retrieve again matters more than preserving the current list
Before wiping the old device, make sure you have at least one readable Config file and a subscription source you can import again. Server names, group names, and latency results alone aren’t enough to reconstruct connection details.
2. Back up the old device: save your sources, then export Config files
First, make a normal connection on the old device and confirm that the configuration you plan to transfer works. Don’t bulk-delete servers, switch remote configuration sources, or reset Settings before backing up; otherwise, it will be harder to tell existing issues from transfer-related changes. Keep backups somewhere you control, and don’t share credentials in public chats or documents.
- Check Home. Note the group names for active subscriptions, the currently selected server, and any manually added entries. Store subscription links separately and securely; don’t assume they’re included when you export a Config file.
- Check Config. Identify the configuration file currently in use and distinguish local edits from remote sources. If you’ve modified a remote configuration, save the current file and note its original source. Fetching it again may overwrite your local changes.
- Export the current file. In Config, open the file’s action menu and use the export or share option, then save it to Files through the system share sheet. Button names and locations may vary by interface. Save the configuration file itself—not just its name or source URL.
- Check the backup. In Files, make sure the file is present and readable, and check that it contains the rules and entries you added. Seeing a filename in the file picker doesn’t mean the download or save has finished.
- Note your Settings. Check Settings → On Demand and subscription update options. Record the settings you changed yourself; there’s no need to copy every default from the old device.
The rule snippet below is an example for checking file contents, not a complete configuration, and it doesn’t include connection services. If your old file already contains custom rules, preserve their order rather than replacing them with this example.
[Rule]
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
Rules are evaluated in order, and the first match determines the policy. During migration, check that custom DOMAIN-SUFFIX rules still appear before FINAL and that the referenced policies still exist. Copying rule text without the corresponding policy definitions can also change how connections are handled.
3. What iCloud syncs: seeing a file doesn’t mean your entire setup is restored
Keep these three cases separate: saving an exported file to iCloud Drive, using an iCloud-related feature in the app, and restoring app data from a full-device backup. They save and restore different things. Putting a Config file in iCloud Drive transfers that file; it doesn’t confirm that Home subscription lists, the current selection, or Settings will also be restored.
Transfer files with iCloud
- Account check
- Use accounts that can access the same iCloud Drive on both devices
- System settings
- System Settings → Apple Account → iCloud → iCloud Drive
- File check
- Open the backup in Files on the new device and confirm it has downloaded
- Restore
- Import the file into Config and explicitly select it as the active configuration
Once the file appears in the cloud, you still need to import it; storage location doesn’t make it active.
App data and system permissions
- Subscription list
- Check groups and entries in Home; don’t assume they’re restored because a file exists
- Review settings
- Check Settings → On Demand and subscription update options
- VPN permission
- When you connect for the first time, follow the system prompts on the new device
- Purchase account
- Check your App Store purchase account and iCloud account separately
Test the connection after a full-device restore too; system permissions and network conditions must be confirmed on the new device.
If you use an iCloud-related option in the app, first check which items the interface says it syncs, then verify the results on the other device. Don’t assume that “sync is on” means “everything is backed up.” System menu names may vary by language and version, but the checks are the same: iCloud Drive is accessible, the file is downloaded, the app has imported it, and all required entries are present.
- Make sure both devices can access iCloud before transferring, so an unfinished cloud download isn’t mistaken for a missing file.
- Don’t edit the same file on both devices at once. Identify which copy has the correct contents, then restore it on the new device.
- If duplicate filenames appear, compare the custom rules and policy definitions inside each file instead of choosing by name alone.
- If a cloud file is temporarily unavailable, transfer the file exported from the old device to the new one using a local method you control. There’s no need to keep resetting the app.
4. Restore on the new device: get the app first, then import your data
Get Shadowrocket from the App Store. It’s primarily used on iPhone and iPad; check the App Store listing for system requirements and purchase availability. On the new device, verify the original purchase account in the App Store and redownload the app from your purchase history. Confirm the developer is Shadow Launch Technology Limited and the app ID is 932747118. See how to restore your purchase for details.
- Check Home after opening the app. If a full-device restore brought back your subscriptions, check the groups before importing anything again. If they’re missing, get your existing subscription link from your service provider, add it through the subscription import option, and update it once.
- Restore manual entries. Check servers that aren’t part of a subscription against your notes from the old device. Match the address, port, authentication details, and transport options exactly; identical names don’t mean identical settings.
- Import the Config file. In Config, choose the file import option and select your backup. You can also share it from Files to Shadowrocket, depending on the available options in your interface. After importing, make sure the active configuration is the transferred file, not another file with the same name.
- Check Global Routing. If you used rule-based routing, select Config and check the server assigned to each policy. Proxy, Direct, Config, and Scene work differently; selecting a server alone doesn’t mean your rules are active.
- Confirm permissions on the first connection. Turn on the connection switch and follow the system prompt to authorize the VPN configuration. This permission must be approved on the new device; copying a file won’t grant it automatically.
- Restore automation last. Once manual connections and access work, check Settings → On Demand. The new device may use different Wi-Fi, cellular networks, or usage scenarios, so don’t copy automatic connection conditions without testing them.
5. Verify the transfer: test subscription updates, rule matching, and access separately
Don’t verify the transfer by checking only the connection switch or latency. A latency result shows only that the test received a response at that moment; it doesn’t confirm that DNS, routing policies, subscription updates, and all web access are working. Leave the old device unchanged and adjust one variable at a time on the new device to pinpoint differences.
- Check subscription updates. Update existing subscriptions in Home and check for errors, confirm the groups are correct, and make sure no duplicates were added by mistake. Server counts may change when your service provider updates them, so don’t assume a count difference means the backup is damaged.
- Check the configuration source. Open the active file in Config and look for a rule you know you added. If it’s missing, fix the file selection or import issue first—don’t try to compensate by changing DNS.
- Check policy assignments. Verify which policies the rules reference and which servers are currently selected. A policy may still exist after migration while its selected server differs from the old device.
- Test actual access. Open a resource you normally access directly and one that requires a proxy, then check the connection log to see how each was routed. Compare them on the same network first, then test again on Wi-Fi and cellular.
- Check automatic connections. After confirming a manual connection works, test the On Demand conditions. Don’t change automatic connections, DNS, and Global Routing at the same time.
Wipe the old device only after verification
Complete at least one subscription update, one Config content check, and one real access test, and confirm that the backup file is still readable. Until then, the old device is a reliable reference for checking settings and exporting the file again.
If the first test on the new device fails, compare these four items first: active file, Global Routing, selected server, and current network. Don’t delete all your data and start over right away. Repeated imports can create duplicate files and groups, making troubleshooting harder.
6. Common questions after moving to a new device
I redownloaded the app with the same Apple ID. Why is Home still empty?
Purchase records and in-app connection data are managed separately. First check whether app data was restored. If not, get your existing subscription from your service provider and import it again. Then import your Config file. Redownloading the app doesn’t mean your subscriptions have been restored.
My Config file is in iCloud Drive. Why doesn’t it appear in Config?
First, open the file in Files and confirm its contents have downloaded from iCloud. Then return to Config, use the file import option, select the file, and make it active. iCloud Drive stores the file; seeing it there doesn’t mean the app has imported it.
My rule file is back. Why are connections different from the old device?
First, check that Global Routing is set to Config, then verify the active file and the servers assigned to its policies. If routing is set to Proxy or Direct, traffic won’t follow the rules in Config. After that, compare DNS settings and the network conditions on both devices.
I see two identical groups after importing a subscription. Can I delete them both?
Check each group’s source and update results to identify which one is the newly imported duplicate. Keep one verified working subscription before removing the duplicate group. Note any manually added servers and local comments separately so they aren’t deleted by mistake.
I already wiped the old device and only have the exported Config file. What now?
Import the file and inspect the rules, policies, and server definitions it actually contains, then add anything that’s missing. If the file doesn’t include a subscription source, you can’t reconstruct the subscription link from server names alone. Get the original subscription from your service provider and check its update status again.
After the transfer, keep an offline backup of a working configuration and store subscription credentials separately from materials you share when troubleshooting. Before changing rules later, save the current working file. That way, your next transfer can follow a tested restore sequence instead of relying on guesswork.