Shadowrocket Backup and Transfer Guide: iCloud Sync, Exporting Configs, and Moving to a New Device

Learn how to use iCloud or manual exports to move Shadowrocket configs to a new device, and what to check afterward for servers and rules.

At a glance

Before switching devices, save your current config and separately check the servers and Subscribe URLs in Home. On the new device, restore the file, select the config, then verify the connection and routing. This guide is for Shadowrocket users who already have their own service provider and subscription. Use iCloud to check whether a file is available in the cloud, or export a separate copy manually. Either way, confirm the result by opening and testing it on the new device.

1. Config files, server entries, and connection settings are separate

Backing up a config involves more than saving a single file. A config in Config may contain rules, DNS settings, and other fields; servers and subscription sources in Home, along with app settings in Settings, need separate checks. Open the file to see what it contains—don't infer its contents from the filename alone.

Be sure to distinguish between “the rules are still there” and “the existing service still connects.” A file containing only [General] and [Rule] won't automatically restore server credentials in Home when imported. Conversely, restoring servers doesn't mean your custom Rules are active.

3 places to check
Check Home, Config, and Settings separately
2 methods
Restore from iCloud or import a file manually
4 key terms
DOMAIN-SUFFIX、GEOIP、IP-CIDR、FINAL

In short: check the file contents before deciding what else to transfer

On the old device, open the config you plan to back up and check whether it includes server definitions and credentials. Restore anything missing from your own service information or subscription, and add app settings to your checklist.

2. Create a restorable backup before switching devices

On the old device, confirm which config is currently working before backing it up. Don't export a similarly named file by mistake. Note the current config name, Global Routing option, selected server or policy group, and the conditions under Settings → On Demand. Use these notes for comparison after restoration; they don't mean your app data has synced.

  1. Open Config, identify the file currently in use, and review its contents. If you've just changed rules, save them before returning to check the file.
  2. Check which manual servers and Subscribe sources in Home you need to keep. For manual entries, make sure you can retrieve the address, port, password, UUID, and other details from your own records.
  3. Note the current Global Routing option. Config, Proxy, Direct, and Scene work differently, so check the selection separately after moving to the new device.
  4. Go to Settings → On Demand and note whether it's enabled and which connection conditions are set. For the first test on the new device, connect manually to avoid automatic triggers complicating troubleshooting.
  5. Save a separate copy of the config, then reopen it from its saved location. Confirm that you can see the full contents, not just a filename or an inaccessible cloud entry.

3. iCloud sync: check permissions, then verify the cloud file

iCloud sync can make config files available across devices signed in to the same iCloud account, but that doesn't mean every part of the app's state has transferred. The file being in iCloud Drive, Shadowrocket being able to open it, and the file being selected in Config are three separate things to verify.

  1. On the old device, open iCloud settings under Apple Account in Settings and make sure iCloud Drive is on. Check that Shadowrocket is allowed to use iCloud in the list of apps. The labels and sections may vary; follow what you see on your device.
  2. Return to Config in Shadowrocket and check for the iCloud file location or related file actions provided by the app. Follow the labels shown in the app; saving a file locally doesn't mean it has uploaded.
  3. If you save a copy using the system file picker, choose a folder in your iCloud Drive. A file saved only on the device won't become a cloud copy just because you're signed in to iCloud.
  4. On the new device, enable iCloud Drive and Shadowrocket's iCloud permission, then open the same file location and wait for the file to become available. Once it appears, open the file and check the end of the rules—not just its name in the list.
  5. Import the available file or select it as the current config, then check the server entries in Home. Verify the restored file and servers separately.

If the file doesn't appear on the new device, check the account, storage location, permissions, and download status separately. Repeatedly opening Config won't help if the devices use different iCloud accounts or the old copy is saved locally. Check iCloud storage and network access, then make sure the file is actually saved in a cloud location on the old device.

4. Export manually: save the file and check the exported copy

Manual export is useful for keeping a snapshot of your config before moving devices, or restoring it when an iCloud file isn't available yet. Export the config from Config, not a server's share link in Home. They contain different information and aren't interchangeable.

  1. In Config, find the file you want to keep, open its action menu, and use the file sharing or export option provided by the app. The option's name and location may vary; follow what's shown in your version of the app.
  2. In the system share sheet, choose Save to Files and save the copy somewhere you can access. Give it a recognizable name and keep the config file's original extension.
  3. Open the saved copy in Files and check [General], [Rule], and the last rule. If the original config has other sections, check those too.
  4. Move the copy to a location accessible from the new device. Then use the system share sheet or the file import option in Config to open it in Shadowrocket, and check the imported contents.
  5. Select the file in Config, then test the connection. Importing the file alone doesn't prove that its rules are being applied to requests.

The minimal example below shows the structure of a rules section; it isn't a complete service config. It contains no server address or credentials and can't replace your own service information. When transferring, keep your original file and don't overwrite a working config with this example.

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

DOMAIN-SUFFIX matches domain suffixes, IP-CIDR matches a specified IP range, GEOIP evaluates the destination IP's geographic location, and FINAL catches anything not matched earlier. Rules are evaluated from top to bottom. Even if the file looks complete, check the order, policy names, and current mode.

5. Restore on a new device: handle files, services, and system permissions separately

Get Shadowrocket for the new device from the App Store. It's a commercial app sold as a one-time purchase; purchasing the app doesn't include a service plan. Buying or redownloading the app won't automatically create your own service config. Check the App Store listing for system requirements on iPhone, iPad, and other compatible devices.

Get the app Restore the file Check your service Allow the connection Verify routing
  1. After opening the app for the first time, restore the Config file, review its contents, and select it. Keep the old device and a separate backup for now; don't delete the original files yet.
  2. In Home, restore your existing servers or Subscribe URL. A subscription URL is an access credential. https://example.com/sub?token=xxxx is shown only as an example of the format, not as a working service.
  3. Update the subscription once, then check that the service is still active and all entries are present. The updated list may differ from the one on the old device, so recheck the entry you previously selected.
  4. When prompted by the system, allow Shadowrocket to add a VPN configuration. Even after restoring the config file, follow the new device's actual system prompt to authorize the connection.
  5. To test the rules, set Global Routing to Config. If you first use Proxy to check whether an existing service connects, switch back to Config afterward to test the Rules.

If a policy name doesn't resolve after import, check that the name referenced in Rule exists in the current config. Custom policy group names must match their references; don't change only one side. If a subscription update changes server names, recheck the relevant groups and their members' selection states.

6. Check rules, DNS, and On Demand after the transfer

Keep the network environment consistent during testing and change one variable at a time. First confirm the selected server can establish a connection, then check which Rule matches, and finally restore automatic connection conditions. If you change DNS, the server, and On Demand all at once, you won't know what fixed the issue.

Config and rule checks

Area
Config
Mode
Global Routing → Config
Order
Specific matches first; FINAL at the end
Policies
Referenced names match the definitions in the current config
DNS
Check the existing settings in [General]

A successful import and active rules are two separate checks.

Connection and automatic trigger checks

Service
Confirm the current selection in Home
Credentials
Match your own service information
Authorization
Allow the VPN configuration on the new device
Automatic connection
Settings → On Demand
Network
Check Wi-Fi and cellular separately

Test with a manual connection first, then restore the On Demand conditions you need.

  • Protocol fields: Keep the original Shadowsocks, VMess, VLESS, Trojan, Hysteria2, or WireGuard type. The same server address and port don't make fields interchangeable between protocols. Use your own service information for passwords, UUIDs, TLS names, keys, and other details.
  • DNS and external resources: If the config relies on remote rule resources or external files, verify that they can still be retrieved. A copy of the config text doesn't prove that all external resources are saved on the new device.
  • Request logs: Send a new request, then check its destination, rule, and policy in the relevant in-app log. DIRECT may be the expected result of a rule; don't assume it means the connection failed.
  • On Demand: After a manual connection succeeds, switch to the Wi-Fi or cellular network you actually use and check the trigger. If the network conditions differ from the old device, review the existing conditions.

In short: verify the transfer with a complete new request

Keep the old backup, select the restored config, send a recognizable request, and check the policy log. Once the file, service, routing, and automatic triggers all behave as expected, you can organize the old device's files.

7. Common questions about restoring configs

Why are there no servers in Home even though the file is in iCloud?

Open the file and check whether it contains server definitions. If it only contains rules and global settings, restore your servers in Home using your own service information or Subscribe URL. Seeing the config file in iCloud doesn't mean Home entries have been restored.

Why do all requests use the same policy after I import my config?

First check Global Routing. If it's set to Proxy or Direct, switch back to Config and send another request. Then check which file is selected, the Rule order, and FINAL. Review Scene settings for your specific use case; Scene isn't another name for Config.

The cloud file appears on my new device, but it won't open. Should I import it again?

First check in the system Files app that the file can download and open. Check iCloud Drive permissions, network access, and available storage. Once it's available, open it in Shadowrocket. Repeatedly importing an unavailable cloud entry won't download the file.

What should I do if the server I selected disappears after a subscription update?

Compare the returned list with your own service information and check whether the server was renamed or removed. Select an active entry and check the members of your custom policy groups. Re-entering the old name doesn't restore the service.

Can I send someone the entire exported file to review?

First check whether the file contains passwords, UUIDs, private keys, or a subscription token. For Rule troubleshooting, share only the relevant redacted rules and describe what happened. Don't share credential fields publicly; keep the original backup somewhere you control.

How to get Shadowrocket and configure it for the first time

On the app verification page, check the developer name, Shadow Launch Technology Limited, the official icon, and app ID 932747118. This site doesn't provide, sell, or recommend servers or subscriptions. After restoring your own config, follow the guide to check your first connection and rule settings.

Open the app verification page View the guide
Verify Shadowrocket on the App StoreSee purchase and restore information