For users already using Shadowrocket on an iPhone or iPad who are switching devices or want to keep a backup of their configuration. First, distinguish servers and subscriptions in Home, rule files in Config, and device-level settings. Then check iCloud sync and manual exports separately. When restoring, verify files and service details first, then test rules, connections, and On Demand. Keep the old device’s data until the new device has been verified.
What’s included in a backup: Config files aren’t all app data
When transferring Shadowrocket, don’t just check whether a file copied successfully. Servers and subscriptions in Home, config files in Config, and app settings in Settings are separate items to verify. Exporting a rule configuration does not necessarily save subscription URLs, server credentials, or system VPN authorization.
View and manage the config files you use in Config. These files are managed by the app, so don’t assume they’ll appear in a specific folder in the Files app. Choose “Save to Files” in the share sheet to create a separate copy in the iCloud Drive or local location you select. This copy is separate from the file currently being edited in the app.
Rules and config files
- Where to find them
- Config
- What to check
- Rule order, DNS settings, and policy references
- Separate copy
- Export to the Files app and check the contents
- Restore check
- After importing, confirm the file is selected as the active config
Seeing a file confirms that it exists; it doesn’t confirm that it’s active.
Services and device status
- Where to find them
- Home、Settings
- Service source
- Your existing subscription or server settings
- Record separately
- Original subscription URL and manually entered credentials
- Device settings
- VPN authorization, Global Routing, and On Demand
Verify service details and device authorization separately; a rules file is not a substitute.
Before transferring, note the selected Config filename, subscription groups in Home, selected server, and Global Routing status. If you use custom rules or manually entered servers, save the original text and required settings separately. Treat any passwords, private keys, or tokens in your notes as credentials; don’t put them in public notes or share links.
Transfer order: save a copy before handling sync
iCloud sync helps keep data consistent across devices, but it isn’t an archive of previous versions. Changes and deletions may sync to other devices, so save a separate dated copy before your first device transfer. Don’t reorganize, rename, or delete configs on both devices at the same time, or it may be difficult to tell which version you intend to transfer.
- On the old device, open Home and Config and confirm that the current services and rules still work. If the old device already has an issue, record what happens first so you don’t mistake it for a transfer failure.
- Save the config file in use, and keep the original subscription URL and manually entered server details separately. For remote rule files, record their source so you can retrieve them again after restoring.
- Finish the manual export before checking iCloud. On the new device, receive the data first; don’t immediately overwrite a config with the same name.
- On the new device, verify subscriptions, rules, connections, and automatic connection conditions one by one. Decide whether to clear the old device only after everything checks out.
iCloud sync: check your account, system permissions, and the app setting
To transfer data with iCloud, both devices must use the same Apple Account for iCloud and allow access to the relevant cloud data. Your App Store purchase account and iCloud account serve different purposes: being able to redownload a purchased app doesn’t prove that both devices are accessing the same iCloud data.
- On both devices, open the account page in system Settings, go to iCloud, and confirm that the same account is signed in and iCloud Drive is available. The exact names and layout of system settings may vary by OS version.
- Check Shadowrocket’s access in the iCloud app list. If the list initially shows only some apps, expand it to view all apps. Don’t repeatedly sign out of your account in an attempt to trigger sync.
- Open Shadowrocket → Settings and check the available iCloud sync option and its description. Follow what’s shown on your device; app sync and a full-device iCloud backup are separate settings.
- Connect the old device to the internet and open the app, then check Config and Home on the new device. Compare filenames, rule contents, and subscription groups to confirm what actually arrived rather than relying on the sync toggle alone.
If data isn’t visible on the new device yet, check the account, system permissions, app setting, available storage, and network connection in that order. Don’t expect sync to finish within a fixed time; confirm completion by opening and checking the actual content on the new device. If the old device still has the data, you can import it manually instead of deleting the original config while waiting for sync.
Manual export: save the Config file and check for sensitive fields
Manual export is useful for keeping a snapshot before a transfer or moving a cleaned-up set of rules. First identify the file currently in use, then open its action menu. The available actions may vary by interface, such as a long-press menu on the file row, the editor, or a share option. Export the file itself, not just its name or remote URL.
- Go to Config, find the config file currently in use, open its file action menu, and choose an available share or export option.
- In the system share sheet, choose “Save to Files,” select a destination in iCloud Drive or “On My iPhone/iPad,” and keep the original file extension.
- Choose a recognizable filename, such as
home-rules-before-migration.conf. Record the backup date and device separately, and avoid overwriting an earlier snapshot with a file of the same name. - In the Files app, confirm that the file opens and check that the rules at the end are complete. If you share it with another device you own, check the actual file contents on that device too.
- Save subscription URLs and server credentials in a protected location. If you export a full backup rather than a single Config file, check its scope against the export screen’s instructions and still verify the restore.
The example below is only for checking that rule text remains complete, line by line; it is not a general-purpose config to paste over your original. PROXY must refer to an available policy in the actual config. Copying a few rules does not create a server or restore a subscription.
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
Bottom line: start the transfer with a readable, separate copy
Before changing sync settings or clearing the old device, confirm that at least one exported file opens and is complete, and store it separately from subscription credentials. A filename or cloud status indicator alone doesn’t prove the backup can be restored.
A config may contain server addresses, authentication details, WireGuard private keys, or remote resource URLs with tokens. Even if the file is mainly used for rule-based routing, check its URLs and extra parameters. When asking for help, share only the necessary excerpt with credentials removed; don’t send the entire original backup.
Restore on a new device: services first, rules next, automatic connections last
Get Shadowrocket from the App Store on your new iPhone or iPad, and verify the developer, Shadow Launch Technology Limited, and app ID 932747118. Shadowrocket is a closed-source commercial app sold as a one-time purchase; buying the app does not include a service plan. Check the App Store listing for system requirements and general purchase eligibility. Restore services using your existing subscription or server details.
- Receive the data. First check whether iCloud has brought over the content you need. If the restore is incomplete, find the exported config in the Files app and use the share sheet to open or import it in Shadowrocket. When finished, return to Config and confirm that the file is there.
- Restore services. In Home, check the subscription URL and server list. If anything is missing, re-import your original subscription URL and update it. For manually configured servers, check the address, port, authentication details, and protocol-specific fields one by one.
- Select the config. In Config, select the restored file and check that its referenced policies or groups are still available. The same filename doesn’t guarantee the same contents, so review custom rules and the
FINALrule at the end. - Check routing. If you want traffic routed according to your config rules, set Global Routing to Config. Proxy, Direct, and Scene each serve different purposes; don’t assume that importing a config automatically sets the right mode.
- Connect. Start a connection from Home and allow the VPN configuration when prompted by the system. Authorization on the old device doesn’t replace the system confirmation on the new one.
- Restore automatic connection settings. After confirming that a manual connection works, go to Settings → On Demand, check the on-demand settings, and verify the corresponding status in system VPN settings.
A successful subscription update only means that subscription content was retrieved and processed. It doesn’t confirm that the rules file was restored or that every server can connect. Likewise, after importing Config, you still need to select the file and confirm Global Routing; otherwise, traffic may continue to use a different mode.
Verify the transfer: find missing items based on what you see
Verification should include real-world access, not just a latency reading. Choose one destination you normally access through an existing service and another that should use DIRECT under your rules, then check the connection and rule match for each. Use destinations from your own normal workflow; don’t apply an unfamiliar config just to pass a test.
| What you see | Check first | What to do |
|---|---|---|
| Config file is visible, but Home has no servers | Only the rules file was restored | Restore your existing subscription or manually configured service details, then select an available server. |
| Home list is complete, but custom routing rules aren’t taking effect | Active config and Global Routing | Select the intended Config file and check the routing mode and rule order. |
| Latency looks normal, but domain access fails | DNS and remote dependencies in the config | Check the DNS settings and resource URLs in the restored file, then review the request log. |
| Manual connection works, but it doesn’t reconnect after a network change | On Demand and system VPN status | Review the trigger conditions and test Wi-Fi and cellular separately. |
| The new device shows older file contents | The exported copy may be confused with the in-app file | Compare the actual rule text and re-import the verified copy; don’t compare filenames alone. |
- Confirm that the servers you need are still selectable in Home and that updating the subscription hasn’t created duplicate groups.
- In Config, confirm that manually added
DOMAIN-SUFFIX,IP-CIDR, andFINALrules remain in the same order. - Check that manual connections, disconnects, and network changes behave as expected before enabling the On Demand conditions you use every day.
- Keep the pre-transfer copy and the old device’s data until you’ve verified your usual networks and key access scenarios.
FAQ: iCloud sync, sharing, and restoring subscriptions
iCloud is on, but my new iPad still has no config. What should I do?
First check the account used for iCloud, not just your App Store account. Then check system iCloud app permissions and the sync option in Shadowrocket → Settings. If the file is still on the old device, export a separate copy and import it on the new device through the Files app. Don’t delete the old file to test sync.
Why can’t I connect after importing a config file I sent to myself?
First check Home for an available server. A single Config file isn’t a complete service backup. Restore your existing subscription or manual server details, select a server and Config file, then confirm Global Routing. The new device also needs system VPN authorization for its first connection.
Why did my manually edited server settings disappear after restoring the subscription?
Updating a subscription refreshes the related entries from its remote content; it won’t restore local manual edits. Compare the address, port, and authentication fields with your pre-transfer notes. Manage any manually configured servers you need to keep separately to avoid confusing them with subscription-managed entries.
My new device connects now. Can I delete the config from my old device?
First verify rule matching, subscription updates, and switching between Wi-Fi and cellular, then confirm you have a separate backup. If sync is enabled, a deletion may affect other devices. Before cleaning up, check the scope described in the prompt; deleting cloud data isn’t the same as simply clearing the old device.