QUESTIONS / CHECKLIST

Shadowrocket FAQ

Find answers by stage: purchase, setup, import, and connection. Check the current state first, then change one thing at a time and keep a record of each test.

Official Guide · Troubleshooting Index
APP STORE

Verify and purchase

Check the product page and purchase account first, then troubleshoot App Store search, compatibility, and restoring purchases.

Can't find Shadowrocket on the App Store? Check these settings first.

Open the App Store product page from this site's download page and verify the app ID, 932747118. Check whether the issue is missing search results or an inaccessible product page. Then review your Apple Account's store region, Screen Time content and age-rating restrictions, and payment status. The store region is determined by your account settings, not your device language. If you need to change it, go to Media & Purchases in your Apple Account settings, open View Account and Country/Region, and review the requirements first.

How can I verify that the App Store listing is the genuine Shadowrocket app?

Check the app name, Shadowrocket, the developer, Shadow Launch Technology Limited, and the app ID, 932747118. Compare the listing with the official app icon shown in this site's header. You can confirm the app ID in the product page URL, which ends in id932747118; don't rely only on the name or a similar-looking icon in search results. Shadowrocket is a paid commercial app for Apple platforms, available exclusively on the App Store. Check the App Store listing for pricing, compatibility, and system requirements.

Do I need to buy Shadowrocket again after changing or resetting my device?

First, make sure Media & Purchases in the App Store is signed in to the account that originally bought Shadowrocket. Then find the app in that account's purchased apps and download it again as prompted. If a price still appears, check your purchase history, account, and store region before paying again. Restoring the app purchase and restoring connection settings are separate: after reinstalling, check whether your subscriptions, server details, and configuration files are still available. Don't assume a fresh download will restore all settings automatically.

Can I install Shadowrocket on iPad? Where can I check Mac and Apple TV compatibility?

Shadowrocket is primarily used on iPhone and iPad. On the device you want to use, open the same App Store product page and check its compatibility section and the availability shown for your account. The listing also provides compatibility information for Mac, Apple TV, and Apple Vision. Check the App Store page for system requirements, device compatibility, and whether the purchase is universal. Don't assume your device qualifies just because the app installed on another one.

Does the one-time purchase include a subscription or server access?

A one-time purchase of the app is not a service plan. You're buying Shadowrocket; you must provide your own subscription or server details to connect. The US price is about $2.99; other storefronts show local currency, and the final price is the amount shown at checkout in the App Store. This site is the official website and guide; it does not provide, sell, or recommend servers or subscriptions. Before importing a configuration, make sure you have permission to use it and understand its validity period and terms.

HOME / SETTINGS

Setup and first launch

Distinguish system permission, the connection switch, and automatic connection behavior so you don't mistake a permissions issue for a server problem.

Why does Shadowrocket ask to add a VPN configuration when I connect for the first time?

Shadowrocket uses a system VPN configuration to route the relevant network traffic. When you connect for the first time, iOS may ask you to allow the configuration and confirm with your device passcode or biometric authentication. Check the app name in the prompt before proceeding. This permission lets the app create a system configuration; it does not provide server details or mean the connection has succeeded. If you canceled the prompt, try connecting again in the app. If device management restrictions apply, check whether your management policy allows VPN configurations.

The Home switch won't turn on, or turns off right away. What should I do?

Make sure you have imported valid server details and selected the server you want to use under SERVER, then try turning on the connection switch on Home. Check that system VPN permission is granted and that another VPN connection isn't already active. If the switch turns off immediately, note the error message and check device management restrictions and the current configuration. Save any information you may need before restarting the app or device. Don't delete all configurations as a first step; you could lose settings that help identify the cause.

The interface is in English. How do I follow the guide?

This guide keeps interface labels in English so you can match them directly. Home shows connection status and the server list; Config manages configuration files; Settings contains app settings. Global Routing controls the overall routing mode, and Add Server is where you enter server details. Use these labels to find the right screen rather than guessing from translated button names. If iOS offers a language setting for the app, check its page in Settings. Available languages and the interface shown depend on the app version you have.

Why does the connection turn back on automatically with On Demand enabled?

On Demand can trigger a connection when its conditions are met, so manually disconnecting may not keep it off. Check the On Demand settings and existing triggers in the app, then see whether the connection returns after a network change or a request. To stop automatic connections temporarily, turn off the relevant On Demand settings before switching off the connection. You can also disable On Demand while troubleshooting other issues so automatic reconnections don't affect your tests. Restore the conditions you need when you're done.

How can I find out why battery use increases when Shadowrocket is on?

Compare battery use in system settings over similar periods, and note the network type, data usage, and frequency of reconnections. Heavy data transfers, a weak signal, continuous connection tests, and repeated retries can all increase battery use; the VPN indicator alone doesn't identify the cause. During troubleshooting, pause unnecessary tests and continuous logging, then observe battery use with other conditions unchanged. If the issue occurs only with one configuration, check its reconnection behavior and rules. Don't disable certificate validation to try to reduce battery use.

SUBSCRIBE / ADD SERVER

Import subscriptions and add servers

Identify what you're importing before choosing an option. A server list, individual server details, and a rule configuration file are different types of content.

Where should I import an existing subscription?

First distinguish a server subscription URL from a configuration file URL. A server subscription usually returns a server list; a configuration file may contain sections such as General, Rule, and Host. To import an existing server subscription, follow its instructions and choose Subscribe under Add Server, then enter the URL. If you use Subscribe on the Config page, first confirm what type of content it expects. The two URL types aren't interchangeable just because both start with https. After importing, check the SERVER list and Config separately to make sure the content went where you expected.

Shadowrocket subscription import failed. What should I check, and in what order?

First check that the URL is complete, especially any parameters at the end, and remove extra spaces, line breaks, or non-English punctuation. Make sure the current network can reach the URL, then check the subscription's validity period and access permissions. A URL that returns a login page, error page, or empty response isn't a valid subscription just because it opens in a browser. Next, confirm that you chose the right import option for a server subscription or configuration file. When contacting the configuration provider, include the error message and conditions that triggered it, but don't share the full subscription URL or its credentials.

Import reports success, but the expected items aren't in SERVER. What should I do?

Make sure you imported a server subscription, not a configuration file containing only rules. Then check whether a list group is collapsed or a search or filter is active. If the list is still empty, look for a parsing error in the update result and confirm that the response actually contains server details the app can read. Saving a URL successfully doesn't mean the server list was retrieved. Keep any working items before importing again; don't delete them only to discover that the URL or its access permissions are still the problem.

Which details should I check when adding a server manually in Add Server?

Use the server details you already have as your reference. Check Type, address, and port first, then verify authentication and transport settings. Match the Shadowsocks encryption method and password, the VMess or VLESS UUID, and fields such as TLS, server name, and transport path to the information provided. Don't mix fields from different protocols or change alterId or flow based on guesswork. Save the server and select it for testing. If it fails, compare each setting before changing unrelated options.

How do I update a subscription, and will my manual changes be kept?

Open the action menu for the relevant subscription and run the update. When it finishes, check the server list and selected item. The app refreshes subscription data using the content returned by the server, so names, settings, and the number of items may change. Don't assume manual edits will be retained. If you need to keep custom settings, record them first and keep them separate from subscription-managed items. If an update fails, check the network, validity period, and URL permissions before trying again; updating a server subscription doesn't also update rule files.

GLOBAL ROUTING / DIAGNOSTICS

Routing rules and connection troubleshooting

Narrow down the cause in this order: your network, the server, DNS, and rules. A connected status, a successful test, and access to a destination each indicate a different part of the connection.

How do I choose Config, Proxy, or Direct in Global Routing?

The three modes are Config, Proxy, and Direct. Config uses the rules in the current configuration file to determine how connections are routed, so it's suited to setups with routing rules in place. Proxy sends traffic through the selected proxy, while Direct connects to the destination directly. To troubleshoot, compare modes on the same network and against the same destination. Access in Direct doesn't confirm that the proxy route works, and access in Proxy doesn't confirm that the rules are correct. Note your original setting before switching and restore the mode you need after testing.

Shadowrocket says it's connected, but I can't access the internet. What should I check first?

A connected status only means the system VPN configuration is running; it doesn't guarantee that the server or destination website is reachable. Disconnect temporarily and confirm the network works on its own, then reconnect and check the selected server and Global Routing mode. Test multiple destinations to distinguish a single-site issue from a broader connection failure, and review Connectivity Test and relevant logs. If domain names won't resolve, check DNS. If Config fails but Proxy works, focus on rule matching and policies. Avoid changing several settings at once.

Connectivity Test succeeds, but one website still won't load. Why?

Connectivity Test reports a result for its specific test conditions; it doesn't prove that every domain, port, or app request will work. Make sure the test used the same server that's selected for the actual connection, then check the logs to see which rule matched the request and which policy it used. A single website may also be affected by DNS, TLS, the destination service, or a different transport. Note the exact error and how to reproduce it rather than repeatedly running the test. One successful test isn't a guarantee of overall connection quality.

I changed a routing rule, but traffic is still routed the same way. Why?

Make sure Global Routing is set to Config and that you edited the configuration file currently in use. Rules in Rule are generally matched from top to bottom, so an earlier match may already determine the policy. FINAL applies to connections that didn't match an earlier rule. Check the DOMAIN, DOMAIN-SUFFIX, and other keywords, verify the policy spelling, and confirm the request isn't using a different subdomain. Save and reload the configuration, then make a new request to the destination. Existing connections may keep using the previous route, so check the new logs to see what changed.

What information should I keep before reporting a connection issue?

Note the network type, Global Routing mode, protocol, and error message when the issue occurs, and whether the underlying network works after disconnecting. Record whether one destination or several fail, whether the issue happens only on a particular network, and whether you recently updated a subscription or configuration. If you share logs, include only the excerpts needed for diagnosis and remove subscription URLs, passwords, UUIDs, and other identifying details. Change one condition at a time and record the result to distinguish server settings, DNS, and rule issues instead of letting multiple changes obscure the cause.