At a glance

Before switching devices, save your current Config, subscription URL, and any manually added server details. Use iCloud sync as one migration option and keep a separate exported file as a fallback. This guide is for users who can still access their old device and already have a service provider and subscription. After migration, restore the app, rules, and servers on the new device, then verify each item before wiping the old one.

1. Know what carries over: purchases, servers, and Config

A Shadowrocket purchase and the app’s data are separate. Redownloading a previously purchased app from the App Store on a new device does not automatically restore the servers in Home, rule files in Config, or preferences in Settings. Check each of these separately during migration.

An app purchase does not include a service plan. Get your subscription URL from your service provider; switching devices or reinstalling the app does not reset your service period or server credentials. Shadowrocket is a closed-source commercial app for Apple platforms, primarily iPhone and iPad. Check the App Store listing for system requirements and purchase availability.

Item What to keep What to check after restoring
App Store purchase The Apple Account used to purchase the app Confirm the product page matches your purchase history
Home servers Subscription URL or all details for manually added servers Server type, groups, and connection details
Config file The active configuration and any local edits Confirm the file is selected and rule order is unchanged
Settings Important toggles and On Demand conditions Check which settings need to be configured again

Bottom line: keep a separate copy before syncing

First, save a readable copy of your Config file and subscription URL somewhere secure, then use iCloud. If synced content does not appear on the new device right away, you will still have a clear way to restore it manually.

2. Back up the old device: review, export, and record

On the old device, check Home to see which servers came from a subscription and which were added manually. Then open Config and note which file is selected. Don’t rely on the filename alone: files with the same name can contain different rules. If you regularly edit your configuration, save the actual version in use rather than just the original remote URL.

Review your data Export Config Save credentials Restore on the new device Verify the connection
  1. Record the current setup. In Home, note the selected server and whether Global Routing is set to Config, Proxy, Direct, or Scene. If you use Scene, record its conditions too—not just the mode name.
  2. Save the current Config. Open Config, select the active file, and use the available share or export option to save a copy. The exact menu may vary; use the options shown in the app, and don’t mistake Delete for Export.
  3. Note external dependencies. Check whether remote rule resources referenced by the configuration are still accessible, and save any resources that exist only on the device separately. Exporting a Config file does not bundle every resource it references.
  4. Keep the subscription and manual server details. Save the complete original subscription URL, and record every field for manually added servers. A server’s display name alone is not enough to restore its authentication details.
  5. Keep the old device for now. Don’t remove its data until you have checked the connection, rules, and automatic connection behavior on the new device.

3. iCloud sync: check the account, then verify the data

Whether iCloud sync works depends on the device’s iCloud account, iCloud Drive status, app permissions, and available storage. The account used for App Store purchases may differ from the one used for iCloud: one determines your purchase history, while the other determines where cloud data is stored. Check them separately when troubleshooting.

  1. On the old device, open the Apple Account page in system Settings, go to iCloud, and confirm that iCloud Drive is on and has available storage. If Shadowrocket appears in the app permissions list, make sure it is allowed to access iCloud.
  2. Return to Settings in Shadowrocket and check which iCloud options are available in the app. Enable them only if the app provides that option, and don’t assume a full-device system backup means in-app sync has completed.
  3. Keep the old device online, and avoid editing the same Config on both devices at once. If the app shows a sync status or cloud file list, verify the result there rather than assuming a specific wait time.
  4. On the new device, sign in to the corresponding iCloud account and check the same permissions. Then open Shadowrocket and review the available content. Compare Config file contents with the Home list; don’t check only the number of files.

Don’t assume iCloud includes every server credential, every Settings toggle, or system VPN authorization. Seeing a Config file confirms only that the file is accessible; verify the server list and other settings separately. If the app has no relevant sync option, restore from the exported file and original subscription URL instead.

Bottom line: if content is missing, stop making changes—don’t rush to erase and resync

Keep all data on the old device, check the accounts and permissions on both devices, then use a separate backup to fill in anything missing. Until you know which way sync is going, don’t delete files in bulk; deletions may sync to the other device.

4. Export Config: verify the file, not just its name

Config controls configuration behavior, but it is not necessarily a complete backup of Home data. A file may contain rules, DNS settings, policies, or server definitions, or it may simply reference other resources. Check the exported file itself to see what it contains. Reviewing its text is more reliable than just confirming it was saved.

  1. On the old device, open the available actions for the current file in Config and use Share or Export to save it in a location you control in the system Files app. Saving it to iCloud Drive is file storage; verify that separately from in-app sync.
  2. Open the saved file and check that it is neither empty nor a login page or error message. Make sure it includes your edited rules and the addresses of any referenced resources.
  3. On the new device, open the file using an available local import option in Config or a Shadowrocket option in the system share sheet. Follow the actions actually shown, then check the imported content again.
  4. Select the imported Config explicitly. Adding a file to the list does not make it the active configuration. To run its rules, go to Home → Global Routing and select Config.

The example below illustrates rule structure; it is not a complete configuration or a recommended replacement for your existing rules. Rules are evaluated from top to bottom. Before copying them into your file, make sure the policy names exist and suit their intended purpose.

[Rule]
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY

DOMAIN-SUFFIX matches domain suffixes, IP-CIDR matches address ranges, GEOIP checks geographic IP assignments, and FINAL handles traffic that did not match an earlier rule. After migration, check the order of these rules and their policy targets. If your configuration references policy groups, also verify that their members match servers available on the new device.

5. Restore subscriptions and manual servers separately

Reimport a subscription when you can retrieve the server list again from its original URL. Get a valid link from your service provider, then use an available add option in Home on the new device. Updating a subscription retrieves its current remote content, so the new list may differ from the backup. Check service status and required parameters rather than expecting the display order to match exactly.

Subscription recovery details

Source
Get it from your service provider
Example URL
https://example.com/sub?token=xxxx (fictional example)
Where to import
The add option in Home
What to check
Update results, groups, and server details

Save the complete URL, including everything after the question mark. Don’t use the example URL to try to restore a subscription.

Manual server details

Type
Record the protocol shown on the old device
Address / Port
Check the address and port character by character
Authentication
Save the Password, UUID, or key for the relevant server type
TLS / transport
Record the SNI, transport type, and related fields exactly as shown

Fields vary by protocol. Don’t enter parameters for one protocol under another type.

For example, if the old server’s Port is 443, enter the same value on the new device; don’t change it just because you switched devices. 443 is only an example, not a default for every server. VMess, VLESS, Trojan, and Shadowsocks use different authentication and transport fields. Restore each one from your old records or the parameters provided by your service provider.

6. Restore your purchase and verify the new device

On your new iPhone or iPad, use the App Store account associated with the original purchase to get Shadowrocket again from your purchase history or the product page. If the page shows a price instead of the expected redownload option, check your purchase history and account first; don’t make another purchase to solve a configuration issue. The app ID is 932747118, and the developer is Shadow Launch Technology Limited.

Restore the purchase and app data in separate steps. After redownloading the app, follow the system prompt to authorize the VPN configuration, then restore your Config and Home servers. While checking the setup for the first time, disable automatic connection conditions so a network change doesn’t trigger a connection and make the current state harder to assess.

  1. Confirm the servers work. In Home, select a restored server and connect. You can briefly use Global Routing → Proxy to check access through the proxy. This verifies the connection path at that moment only; it does not prove that your rules have been restored.
  2. Confirm the rules are working. Switch back to Global Routing → Config and check the active Config. Then visit destinations that should use a direct connection and those that should use a proxy. If needed, check the connection logs available in the app to see which rules matched.
  3. Check other modes. Direct connects without a proxy, so it cannot verify whether a proxy server works. For Scene, check its conditions and confirm that switching behaves as expected; Scene is not simply another name for Config.
  4. Restore automatic connections. Go to Settings → On Demand and check the conditions against your old records, then confirm the corresponding status in the system VPN settings. Test on both Wi-Fi and cellular networks rather than checking only one.
  5. Keep fallback copies. After checking everyday access, keep a separate Config file and the original subscription details. Clear data from the old device only after confirming the new one works reliably.

7. Common questions about restoring on a new device

Why is Home still empty after I got the app on my new device?

Redownloading from the App Store restores access to the app itself, not its data. First check whether the relevant iCloud content is actually available, then get your subscription URL from your service provider and import it. Add manual servers using your backup details. An empty Home screen does not mean you need to buy the app again.

Why do traffic rules behave differently even though Config is there?

First confirm that the file is selected, then check whether Home → Global Routing is set to Config. Next, review the rule order, policy group members, and remote rule resources. A same-named file, missing servers, or a different active mode can all cause different results from the old device.

Can I import a backup manually if nothing appears in iCloud?

Yes. Restore from the exported file you have already checked, keep the original copy, and avoid editing files with the same name on both devices at once. If cloud content appears later, compare the file contents before deciding which copy to keep. Don’t overwrite a verified working configuration based on its filename alone.

Can I restore anything if I erased the old device and only have the subscription URL?

A valid subscription will usually let you retrieve the server list currently provided, but it cannot restore unbacked local rule edits, manually added servers, or Settings preferences. Reimport the subscription first, then check whether Config is available in your personal cloud storage or device backup. Any missing local edits will need to be recreated.