Shadowrocket’s connection toggle, server selection, rule configuration, and subscription updates are separate parts of the setup. This guide assumes you already have a service provider and subscription, and walks through first connection, routing mode selection, update troubleshooting, and restoring your setup on a new device. When troubleshooting, change one thing at a time and note the Connectivity Test and real-world browsing results. This helps distinguish an app purchase from VPN authorization and service availability.
1. The connection toggle does nothing. What should I check first?
To connect for the first time, you need an available server entry, a clearly selected default server, and permission from the system to add a VPN configuration. The toggle on Home starts a connection; it does not create a server automatically. If the list is empty, import a subscription you already have. If there are entries, make sure you selected a server rather than just expanding a subscription group.
-
Check the server entry
Open Home and confirm a server is listed. Its address, port, and authentication details should come from a configuration you already have.
-
Select a server
Tap the dot to the left of a server to set it as the default. Note its name so you can confirm which server you test later.
-
Turn on the connection
Turn on the connection toggle on Home. When the system first asks to add a VPN configuration, review the prompt, allow it, and complete any device verification required.
-
Run a test
Return to Home and run Connectivity Test, then visit the webpage you need to use. Record each result separately.
If system permission was revoked, return to the app and start the connection again. If the toggle turns on briefly and then switches off, first check the system VPN status and any error shown in the app. Avoid repeatedly deleting all configurations; doing so makes it harder to identify where the failure occurs.
2. Which Global Routing mode should I use: Proxy, Direct, Config, or Scene?
Global Routing determines how traffic is routed; it is separate from the server list. For rule-based routing, first confirm the active configuration file in Config, then go to Home → Global Routing and select Config. To check whether a server is reachable, you can temporarily use Proxy for comparison, then restore your original setting.
If only some sites fail in Config but the same sites work in Proxy, check which rules match and which policies are selected before concluding that the server is down. Scene does not mean “automatically find the fastest server.” Don’t use it as a troubleshooting baseline until you’ve checked the scene conditions and associated settings.
3. Why won’t webpages load even though the VPN is connected?
A system VPN status of Connected only means the tunnel is running. It does not confirm that remote authentication succeeded, DNS is resolving correctly, or the destination is reachable. A successful Connectivity Test applies only to its test target and the network conditions at that moment; it does not verify access for every service you use.
- Check your local network first: Turn off the connection temporarily and make sure Wi-Fi or cellular data works on its own. Complete any sign-in required by the Wi-Fi network.
- Check the selected server: Return to Home and confirm the default server is still the one you expect. A subscription refresh may have changed the entries.
- Compare routing modes: Note your current Global Routing setting, then retry the same destination with Proxy. Don’t change DNS and multiple rules at the same time.
- Identify the scope of the failure: If every destination fails, check the endpoint, authentication, and service status. If only one domain fails, check its rules, DNS resolution, and the website’s own status.
For example, “the test returns a result, but one webpage keeps loading” and “every test times out” are different symptoms. The first calls for checking the destination connection; the second means you should first confirm the server is still valid. Logs and screenshots may contain addresses, UUIDs, or subscription credentials. Redact them before sharing troubleshooting materials.
4. Where do I add an existing subscription?
A subscription is an address used to retrieve server entries, not an ordinary webpage URL or proof of purchase for the app. Enter the full subscription link you already have, preserving its path, query parameters, and letter case. When copying it from a messaging app, check for added spaces, line breaks, or punctuation.
- Open Home, tap “+” in the top-right corner, and select Subscribe under Type.
- Paste your existing subscription URL into URL, add a note to help identify it, and save.
- Return to Home, pull down to refresh, wait for the request to finish, and check whether servers appear in the group.
- Select a server, then follow the first-connection steps to authorize, connect, and test.
Importing a subscription and connecting successfully are two separate checks. Seeing entries means the app retrieved and recognized the content; it does not mean every server is reachable on your current network. This site does not provide, sell, or recommend servers or subscriptions; it only explains how to use configurations you already have.
5. Subscription update failed, timed out, or changed nothing. What should I do?
A subscription update first sends a request to retrieve content, then parses the response. A request timeout, invalid authentication, and an unreadable response each require a different fix. Note the exact error first, then determine whether the issue is the network path or the subscription itself. Don’t use repeated deletion as a substitute for checking the cause.
The pull-to-refresh keeps timing out. Should I connect first?
If the subscription URL needs a proxy connection, connect using an existing server that still works, then go to Settings → Subscribe and check Update via Proxy. Turn it on, return to Home, and retry. If no server is available, enabling this option alone won’t create a working route.
It says authentication failed. Would switching servers help?
First check that the subscription URL is complete. Then sign in to the management page for your existing service and confirm that the link hasn’t been reset and its access is still valid. An authentication rejection is different from a network timeout; changing Global Routing usually won’t fix an expired token.
The update completed, but why are the entries unchanged?
The response may not contain any changes. Check the subscription group, number of entries, and parameters for the server you’re looking for; don’t rely on names alone. If you manually edited an entry generated by a subscription, a later refresh may overwrite your changes with the subscription’s values.
If you temporarily switch to proxy-based updates, note that setting so you can recognize the dependency if the server stops working and the subscription can no longer refresh. Don’t refresh repeatedly in quick succession. Check the result of one request before deciding what to do next.
Why does it reconnect after I turn it off? Is On Demand enabled?
On Demand triggers connection behavior based on network conditions. If it connects automatically after switching Wi-Fi networks or reconnects after you disconnect manually, check Settings → On Demand before deleting the system VPN configuration. Routing rules decide where traffic goes; On Demand decides when to connect. They operate at different levels.
Troubleshooting On Demand
- Where to check
- Settings → On Demand
- What to check
- Whether it’s enabled, the network conditions, and the associated actions
- How to compare
- Temporarily turn off On Demand, then disconnect manually
Restore the setting if needed after comparing. Don’t change routing rules at the same time.
Check the system status
- System settings path
- Settings → General → VPN & Device Management → VPN
- What to check
- The currently enabled VPN configuration and connection status
- When to observe
- Whether it reconnects after switching between Wi-Fi and cellular
System menu names can change with the interface. Follow what appears on your device.
If the issue stops when On Demand is off, adjust the automatic connection conditions rather than changing server authentication details. If it still reconnects, check for other system-managed settings and note the current state for further troubleshooting.
7. Can Config rule order affect which sites use a proxy?
Yes. Config routes connections according to the active configuration file’s rules, which are generally evaluated from top to bottom. An earlier match can affect whether later rules are considered. DOMAIN-SUFFIX matches domain suffixes, IP-CIDR matches IP ranges, GEOIP uses an IP geolocation database, and FINAL is the fallback when no earlier rule matches.
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
This example sends example.com and its subdomains to PROXY, routes the specified private IP range through DIRECT, then checks GEOIP, with FINAL as the fallback. It demonstrates rule syntax only; don’t replace your entire existing configuration with it. Also confirm that the policy names in your configuration are valid and that DNS and other settings still suit their original purpose.
no-resolvemeans this IP rule won’t actively resolve a domain name when checking for a match; it can still match an IP range when the destination IP is already known.- GEOIP checks the location associated with an IP address. It does not check a webpage’s language or where the website operator is based.
- Putting a broad match first may prevent more specific rules below it from matching.
- Before troubleshooting, back up the current configuration in Config. Then adjust one rule at a time, connect, and check where the target traffic actually goes.
Why does authentication fail when the server address and port are correct?
The address and port only identify the service endpoint. Type determines which protocol is used to communicate with it, and the authentication fields and transport settings must also match the existing server configuration. For example, port 443 does not automatically mean you should choose Trojan, nor does it tell you whether to enable TLS.
| Type | What to check | Common mistake |
|---|---|---|
| Shadowsocks | Password and encryption method | The password is correct, but the encryption method doesn’t match the server |
| VMess / VLESS | UUID, transport, and TLS settings | Copying only the UUID and missing the transport path or server name |
| Trojan | Password, TLS, and server name | Treating the connection address and the name required for certificate verification as the same field |
| Hysteria2 | Authentication, TLS, and UDP reachability on the current network | Checking access to ordinary webpages but not the UDP path |
| WireGuard | Keys, tunnel addresses, Endpoint, and other settings | Entering the peer’s public key as your own Private Key |
Recheck the original parameters instead of guessing the protocol or turning off certificate verification. TLS errors can also be caused by the device’s clock, certificate validity, or server name; ignoring verification is not a routine fix. If the settings came from a subscription, first make sure the update succeeded. That helps avoid repeatedly editing generated entries only to have them overwritten on refresh.
9. How do I restore my purchase and configuration on a new iPhone or iPad?
Your App Store purchase record and your Shadowrocket server configuration are separate types of data. Restoring the app with the Apple ID used to buy it does not transfer your servers, subscriptions, or rule files automatically. Before switching devices, check your purchase record and configuration backups separately, then verify the connection on the new device.
Moving to a new device: restore the app and migrate configuration separately
Old device
- Confirm the Apple Account and purchase record in the App Store.
- Keep your subscription URL and any server parameters you entered manually.
- Back up the configuration file in use and note your Global Routing and On Demand settings.
- Configuration backups contain sensitive credentials. Store them somewhere you control.
New device
- In the App Store, sign in with the account used for the purchase and look for Shadowrocket in your purchased items.
- After restoring the app, confirm that your servers, subscriptions, and configuration are actually present.
- If anything is missing, restore it from your own backup or add your existing subscription again.
- Allow the VPN configuration again when connecting for the first time, then run Connectivity Test.
Using the same purchase account does not mean your configuration will sync automatically. Check the App Store page for purchase availability across devices, compatibility, and system requirements.
If the store still shows a price, first check the signed-in account, storefront region, and purchase record. Don’t rush to buy it again. If a server on your old device is no longer working, restoring the same configuration to a new device won’t make the service available again.
10. What else do I need after purchasing the app?
Shadowrocket is a closed-source commercial app distributed through the App Store on Apple platforms as a one-time purchase. Buying the app does not include a connection plan. The purchase gives you the right to use the app; it does not automatically provide a server, subscription, or service time. This guide assumes you already have your own service provider and subscription.
- Verify the app: The name is Shadowrocket, the developer is Shadow Launch Technology Limited, and the app ID is
932747118. - Check device compatibility: The primary devices are iPhone and iPad. For Mac, Apple TV, and Apple Vision compatibility and system requirements, refer to the App Store listing.
- Check your configuration: Have your own subscription or server details ready, confirm the service is active, then choose Global Routing and a rules file.
- Record test results: Note the default server, routing mode, Connectivity Test results, and any destinations that fail. Use the same conditions when you test again.
Beginners can follow a consistent checklist: verify the local network, check the selected server, grant system permission, run a test, then review rules and automatic connection settings. This separates “the app didn’t start,” “the server is unreachable,” “traffic is routed incorrectly,” and “the subscription won’t update,” reducing interference from unrelated settings.