This guide is for anyone preparing to switch iPhone or iPad and keep their current Shadowrocket settings. Follow the steps in order: review, sync, export a separate backup, restore, and verify. Keep Home connection entries distinct from Config rule files and Settings behavior options. The steps assume you already have your own service provider and subscription. Verify the restored setup and connection separately; the appearance of a file alone does not mean the transfer is complete.
1. What to back up: a Config file is not all app data
A Shadowrocket transfer involves at least three types of data. Home contains connection entries, subscription groups, and the current selection. Config contains rules, DNS, and other configuration. Settings includes behavior options such as On Demand. Exporting one Config file does not necessarily save subscription URLs, all connection credentials, or system permissions on the device.
First, record the old device's working state before syncing or updating anything. Do not include passwords, private keys, or full subscription URLs in ordinary screenshots. Instead, make a local checklist of group names, entry counts, the selected Config name, and the Global Routing mode. Store any sensitive details in a protected backup location.
| Data to transfer | Before you switch | Verify on the new device |
|---|---|---|
| Home connection entries | Record groups, entry counts, and any necessary credentials | Expand entries and check addresses, ports, and protocol settings |
| Subscribe data | Make sure you still have the original subscription URL and note any local changes | Check group assignments and verify update results separately |
| Config files | Export the selected file and any other files you need to keep | After importing, select the right file and check rule order |
| Settings behavior | Note personal settings such as On Demand | Review each setting; do not assume they all restore automatically |
| System VPN permission | Confirm the old device's connection still works | Grant permission again when prompted on the first connection |
Subscription data can change over time. If entry counts differ before and after the transfer, first check whether the subscription was updated, then determine whether anything was missed during export. Record entries whose names, groups, or settings you changed manually; refreshing a subscription may not preserve those local edits.
2. iCloud sync: confirm the old device uploaded before checking the new one
iCloud can help you continue on devices using the same Apple Account, but sync is not a separate historical backup. It may propagate additions, changes, and deletions. Data visible on one device is not necessarily available on the other yet. Keep the complete state on your old device until the transfer is verified; do not delete its data to try to “trigger a refresh.”
- Check your system account. On your iPhone or iPad, open Settings → Apple Account → iCloud. Confirm the account, available storage, iCloud Drive, and Shadowrocket's permission to use iCloud. Depending on your system version, the app list may be under “Show All.”
- Check the app's sync settings. In Shadowrocket, open Settings and enable the iCloud sync option available in your installed version. The exact setting name and what it syncs depend on the interface. A system-wide device backup setting is not the same as app sync.
- Stay online and allow time for sync. After saving on the old device, wait for sync to finish, then open the app on the new device and check the result. Avoid editing the same Config on both devices at once; otherwise, it may be unclear which copy contains the intended state.
- Check the contents, not just the name. Confirm that the Config file opens and contains the required rules, then check the groups and connection entries in Home. Matching filenames do not prove that the contents are complete or that the file is selected and active.
If the new device has no data yet, first check the account on both devices, app permissions, iCloud storage, and network connection. Then reopen the app and check again. Do not start by repeatedly toggling sync or clearing local data. If you cannot confirm the cloud state, use the separate file backup steps below so the transfer does not depend entirely on sync.
3. Export Config: keep a standalone, readable copy
On the old device, open Config and check which file is selected. Open the target Config's action menu and use the export or share option available in the current interface to save the file in a controlled folder in Files. Menu locations can vary by platform and layout. The goal is to save the actual file, not just copy its name or a config download URL.
- Export each file you need. Save the Config currently in use first, then export any other configurations you want to keep. Use filenames that distinguish their purpose and backup date or batch to avoid overwriting files with the same name.
- Open and inspect the export. In Files, confirm that the exported file can be read and contains the expected sections and rules. A filename alone, an empty file, or an error page is not a valid backup.
- Check external dependencies. If a Config references remote rules, scripts, or other external resources, saving the file does not save all of those resources. Note what each dependency is for and verify that it can be retrieved on the new device.
- Back up connection data separately. In Home, compare your existing subscriptions and manual entries. Use the sharing, export, or backup options available in the current interface to save the data you need, and check what each option includes before and after exporting.
- Keep a second protected copy. In addition to the sync folder, save another copy somewhere that will not be affected by deletions from this sync. Restrict access to files containing credentials, and remove temporary transfer files when you are done.
If you only save a remote Config URL, downloading it again later may return different content. To restore the previous state, keep the local file exported at the time. To get the latest remotely maintained content, update it separately. Treat “restore the old state” and “fetch the latest content” as two steps so you can identify where any differences came from.
4. Restore on a new device: install, import, and select the Config
On iPhone or iPad, open the account page in the App Store and go to “Purchased” or the corresponding app list. Use the account that made the purchase to find and download Shadowrocket again; menu names vary by system version. Reinstalling the app and restoring its data are separate steps. A completed App Store download does not mean your Config, subscriptions, and behavior settings have been restored.
Use the download page on this site to find the right platform. Shadowrocket for iPhone and iPad is a one-time $2.99 purchase on the App Store; check the App Store listing for system requirements. The Mac (Apple silicon and Intel), Windows, Android, and Linux versions are free. For the iPhone and iPad app, confirm the developer is Shadow Launch Technology Limited and the app ID is 932747118. The app purchase does not include a service subscription; manage any existing subscriptions separately.
- First, check what restored automatically. Open the app and see which data iCloud restored. If a file is already present and its contents are correct, there is no need to import it again right away; this avoids duplicate files with the same name.
- Import any missing Config files. Use the import option in Config, or open the file in Shadowrocket from Files using the share sheet. After importing, check its contents and select the configuration you want to use.
- Restore connection sources. Restore manual entries in Home or subscriptions you already have from your backup. If you have a subscription URL but no local entries, connect to the internet and update it. Troubleshoot a failed update separately; it does not mean the Config file is invalid.
- Check routing and behavior. Confirm that Global Routing matches the old device, then check Settings → On Demand. During the initial transfer, you can turn off automatic triggers, test manually, and then restore the original conditions.
- Grant system permission. When you first turn on the connection, follow the system prompt to allow the VPN configuration to be added. Restoring in-app data does not grant system permission on the new device.
For transfers between platforms, do not use the App Store “Purchased” steps or assume iCloud will transfer data to Windows, Android, or Linux. Install the version for your platform from the download page, then check which import formats it supports. Set up system VPN permissions, file access, and automatic connection conditions again on the new device.
5. Verify the restore: check connection settings and rule actions separately
Keep the variables to a minimum during the first test after transferring: use the same network, the same existing connection entry, and the same Config. Do not update a subscription, change DNS, and switch Global Routing all at once. If something behaves differently, it will be difficult to tell which change caused it.
Check connections and behavior
- Home
- Compare groups, entry names, and the current selection
- Address and port
- Compare the exact values; for example, keep the port at 443 if that was the original value
- Global Routing
- Check Proxy / Direct / Config / Scene
- On Demand
- Check Settings → On Demand, then restore the conditions after testing
Port 443 is only an example for comparison, not a default requirement for every protocol or service.
Check rule syntax
- DOMAIN-SUFFIX
DOMAIN-SUFFIX,example.com,PROXY- IP-CIDR
IP-CIDR,192.168.0.0/16,DIRECT- GEOIP
GEOIP,CN,DIRECT- FINAL
FINAL,PROXY
These are syntax examples, not rules you must add during a transfer. Use the original file as the source of truth when restoring.
In Global Routing, Proxy routes traffic through the proxy globally, Direct connects directly, Config routes traffic according to its rules, and Scene selects behavior based on configured scene conditions. To test rules in Config, first make sure Global Routing is not set to Direct. To test Scene, check the scene conditions as well; comparing the Config file alone is not enough.
Rules are generally evaluated from top to bottom, and the first match determines the action. DOMAIN-SUFFIX matches domain suffixes, IP-CIDR matches destination IP ranges, GEOIP classifies by IP geolocation, and FINAL handles connections that did not match earlier rules. The result can change if identical rules appear in a different order. During restoration, check not only that each entry exists but also its position and policy name.
- Check entry settings first. Compare the encryption method and password for Shadowsocks, identity and transport settings for VMess / VLESS, and password and TLS settings for Trojan against the original values. Check Hysteria2 and WireGuard parameters individually; do not apply fields from another protocol.
- Then check a real request. Make a request to the same known-accessible destination and, if available, review the connection logs to confirm which action matched. A successful latency test only shows that its particular test path received a response; it does not prove that every app and rule works.
- Finally, check automatic behavior. Once a manual connection works, restore the On Demand conditions and observe what happens when switching between Wi-Fi and cellular. This helps distinguish an automatic disconnect from missing connection data.
Summary: preserve the old state before updating subscriptions or rules
Use the backup file to complete a repeatable manual connection and rule test before updating subscriptions or remote Config files. If something differs, roll back only the most recent change. Do not reset Home, Config, and Settings all at once.
6. Common transfer issues: troubleshoot the missing layer
Why is Config still empty after signing in to the same account on the new phone?
First, check the app's permissions and available storage under system Settings → Apple Account → iCloud. Then check the iCloud sync options currently available in Shadowrocket's Settings. Confirm that the original file is still on the old device. If you cannot verify sync yet, import the separately exported Config instead. Do not erase the old device first.
Why are my old connections missing from Home after importing Config?
Open the exported file and check its actual contents. If it contains only rules and settings, restore your manual entries or existing subscriptions separately. In Home, check the subscription group and update it using the original subscription URL. Do not assume that the presence of a Config file means connection credentials have also been restored.
The connection works after restoring, but routing differs from the old phone. What should I check first?
First, check Global Routing in Home, then confirm that the correct file is selected in Config. Compare rule order, policy names, and the results of loading remote resources. If you use Scene, check its conditions too. Do not update the subscription while troubleshooting, as that could also change connection settings.
Why does the connection start or stop automatically after restoring?
Open Settings → On Demand and check the automatic trigger conditions. Also check the on-demand connection status in the system VPN settings. Turn off automatic triggers and test manually first. Once the basic connection works, restore the Wi-Fi or cellular conditions you need, one at a time.
Can I keep using the old device if subscription updates fail on the new one?
Keep the existing data on both devices; do not delete entries from the old device. Check that the subscription URL is complete, the system time is correct, and the current network can reach the original subscription source. If updates also fail on the old device, the issue may be unrelated to the transfer. When checking subscription status with your existing service provider, do not send full passwords or private keys.
7. When to erase the old device: wait until verification is complete
A transfer is not complete just because the app is installed on the new device. Verify the connection data, selected Config, rule behavior, and automatic connection conditions. While it still works, the old device is your most direct reference. Do not rush to delete the original files before completing a round of real-world use on the new device.
- Confirm that the new device can open the backup file independently, without relying on a temporary share from the old device.
- Confirm that Home has the required entries and subscription sources, and that special settings for manual entries have been preserved.
- Confirm that the selected Config, rule order, and external dependencies match your expectations.
- Confirm that system VPN permission and On Demand behavior have been tested in practice, not just enabled with a switch.
- Keep a protected final backup, delete temporary sensitive copies created during transfer, and erase personal data using the system's process before handing over the old device.
Use the same process before changing rules or manual connection settings in the future: save a verified copy, make one change, then record the result. This makes it easier to tell whether a later transfer or recovery issue comes from a missing backup or a difference in the new environment, and helps avoid repeated imports and resets.