OFFICIAL MANUAL / QUESTIONS

Shadowrocket
FAQ

First identify where the problem occurs, then check the relevant settings. Check purchase history, subscription content, and connection settings separately; there's no need to reset everything at once.

  • 4 issue categories
  • 20 step-by-step guides
  • Expand to read

APP STORE / PURCHASE

App Store & Purchase

Check the App Store region and purchasing account first, then verify the app's identity. The only place to get it is the App Store product page (opens in a new window). For details, see how to verify the app.

Can't find Shadowrocket in the App Store? What to check first

First check the App Store region associated with the Apple ID used for purchases, rather than your device language or current location. In system Settings, open your Apple Account and check Country/Region under Media & Purchases > View Account; labels may vary with the system language. Then open the product page from the App Store link on this page and see whether it says the app isn't available in your region. If you need to change regions, do so from Country/Region on the same account page, after addressing any balance, active subscriptions, or payment method requirements. Changing your device region does not change your App Store region.

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

Don't rely on the app name or search ranking alone. Open the product page and verify the developer, Shadow Launch Technology Limited; the official icon, which should match the one in this site's header; and id932747118 in the product page URL. The numeric app ID should be 932747118, and all three details should match. Check similarly named search results carefully, too. Refer to the App Store page for the price, system requirements, and compatible devices. If any detail doesn't match, return to the app access page and reopen the product link.

What does the one-time purchase include? Do I need a subscription too?

A one-time purchase gives you the right to use the Shadowrocket app. The purchase price is the one shown on the App Store page. Buying the app once is not the same as purchasing a service plan: your app purchase record and the subscription or server details needed to connect are separate. Before importing, you should already have your own subscription or server details; get subscriptions from your provider. The app reads those details, establishes connections, and handles requests according to your configuration. Check the subscription's validity, data allowance, and server availability separately; they cannot be inferred from your app purchase.

Do I need to buy Shadowrocket again after switching devices or reinstalling it?

Sign in to the App Store with the Apple ID originally used to purchase the app, then find Shadowrocket in your account's purchase history. If the purchase is listed and the new device meets the compatibility requirements, you can usually get the app again; the menu name may vary by system version. If the product page still shows a price, check the purchasing account, order history, and current App Store region before paying again. Getting the app again does not restore all local settings. Back up subscriptions, rules, and settings from your old device separately, then check the imported content on the new device.

Can I use Shadowrocket on iPad? How do I check Family Sharing?

Shadowrocket works on iPhone and iPad. On an iPad signed in with the same Apple ID used for the purchase, first find the app in the App Store purchase history, then check device compatibility. To see whether Family Sharing applies, review the App Store product page and confirm that purchase sharing is enabled and the family members' accounts and App Store regions meet the requirements. Being in a family group alone doesn't guarantee access. Check the App Store page for compatibility and purchase availability on Mac, Apple TV, and Apple Vision. System requirements are as listed on the App Store page.

INSTALLATION / FIRST CONNECTION

Setup & First Launch

Check App Store access, device authorization, and the app connection separately. Completing one step doesn't automatically complete the next.

The product page opens, but Shadowrocket won't finish downloading. What should I do?

First determine whether payment is incomplete, the download is pending, or the device doesn't meet the requirements. During payment, check account alerts, payment methods, and pending orders. For a download, check your network, available device storage, and the task status in the App Store. System requirements are as listed on the App Store page; don't guess based on the device model. Note the error message before trying again, and avoid submitting the purchase repeatedly. If other apps won't download either, troubleshoot your App Store account or device network first rather than changing Shadowrocket settings you haven't used yet.

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

To establish a system network connection, Shadowrocket needs your permission to add a VPN configuration. This grants the app the relevant network access; it doesn't mean a server is available or that a subscription was imported successfully. Confirm that the request comes from the Shadowrocket app you just installed and verified, then follow the system prompts. You may be asked for your device passcode or other authentication. If you canceled earlier, return to the app and start the connection again. Company- or school-managed devices may restrict this permission; check the management policy rather than repeatedly removing device management settings.

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

First check that a server has been added and selected, and that you completed the initial VPN configuration permission prompt. Then check the specific error shown in the app. See whether another VPN connection is using the system's connection slot; if so, stop it and try again. If Shadowrocket still disconnects immediately, save the error details and check that the server address, port, authentication details, and protocol options all match. Consider restarting your device only after ruling out configuration problems. Reinstalling as a first step isn't recommended, as it may erase local rules, subscriptions, and useful diagnostic information.

The interface is in English. Where should I start?

This guide keeps interface labels in English so you can match them directly to the app. Home shows server and connection status; Add Server adds existing server details; Subscribe is the subscription type; Config manages configuration files; Global Routing selects a routing mode; and Settings contains related options. Don't look for a label based only on a Chinese translation if the actual interface uses a different name. Follow the setup guide to import details, select a server, connect, and verify the result. Look up unfamiliar rule keywords in the glossary.

Why should I check my settings again after moving an iPhone configuration to iPad?

App purchase rights, configuration files, and device authorization are managed separately. Getting a previously purchased app on iPad doesn't automatically sync the server selection, subscription content, or all settings from your iPhone. Transfer your existing configuration using an import method provided by the app, then check the server, Global Routing, and currently active Config one by one. Complete system authorization and a connection test on your iPad. Menu locations may differ in landscape orientation, so look for the actual interface labels. Keep transferred subscription links and authentication details somewhere you control, and don't share them publicly.

SUBSCRIBE / SERVER

Subscriptions & Server Import

These steps assume you already have your own subscription or server details. Check what you're importing first, then troubleshoot the connection. Don't confuse subscription updates with configuration file updates.

How do I import an existing subscription?

Get a subscription from your provider and first confirm that it's compatible with Shadowrocket. Go to Home > Add Server, select the Subscribe type, enter the full subscription URL in the URL field, add a recognizable note, then save and fetch the content. Menu locations may vary in the current app version. Afterward, check that the subscription group contains servers and select one to test. Subscription URLs may contain account credentials: paste the full URL, but don't share it publicly. If you have details for just one server, add it using its protocol instead of entering a regular server address as a subscription URL.

Subscription import failed. How can I tell whether it's the URL or the network?

First check that you pasted the entire URL and that it has no extra spaces or line breaks and wasn't truncated by a messaging app. Then confirm the subscription is still valid. Check that your device can access the internet and try once more on a different local network. If you see an authentication error or a missing resource, check the subscription status and URL first. If the request times out, check the network conditions required to reach the subscription URL. A URL that opens isn't necessarily importable: a login page, error page, or unsupported format can all cause import to fail. When asking your provider to confirm the format, share only the necessary error details and redact credentials.

How do I update a subscription, and why did the server list change afterward?

Find the existing subscription group on Home and use its update action to fetch the latest content; the menu location may vary. Note your current server before updating. Afterward, check whether it's still selected and run Connectivity Test again. The subscription list reflects content returned by your provider, so changes to server names, addresses, or count don't necessarily mean the app has a problem. Updating a subscription is different from updating Config; check each separately. If you manually edited subscription entries, a later update may overwrite those changes. Keep a separate backup instead of relying on the subscription list to preserve custom settings.

When adding a server manually, the details look complete but it won't connect. What should I check?

First make sure the selected protocol matches the existing server details, then check the address, port, authentication fields, and encryption method one by one. If using TLS or additional transport settings, also verify the server name, transport method, and relevant path; an address and password alone may not be enough. Don't assume fields from different protocols are interchangeable just because their names look similar. Change one type of setting at a time, save, and test to help isolate the cause. Don't bypass errors by casually disabling certificate verification. Check the server details and device time first, and keep the original settings so you can restore them.

What's the difference between a subscription URL, a server list, and a Config file?

A subscription URL fetches and updates a collection of servers. A server entry contains the parameters for a specific connection. A Config file can include rules, policies, DNS, and other settings. They are related but not interchangeable: importing servers doesn't mean your rules are ready, and switching Config doesn't update a subscription. To troubleshoot, first check that Home has a usable, selected server; then confirm whether Global Routing is set to Config; finally, verify which configuration file is active. Before exporting or sharing, check each item for subscription credentials, passwords, and personal network information.

GLOBAL ROUTING / DIAGNOSTICS

Rules & Routing

Compare results using the same destination and network, changing only one condition per test. Verify the basic connection first, then check rules, and finally observe speed and battery use over time.

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

Config routes requests according to the rules in the current configuration file. Proxy routes traffic through the proxy mode, while Direct handles traffic in direct mode. For everyday use with verified rules, choose Config. To compare routing behavior temporarily, test Proxy and Direct separately, then restore your original selection. These modes aren't speed settings and won't fix incorrect server details. In rules, PROXY and DIRECT are policy keywords; they differ in capitalization from the interface labels Proxy and Direct. Note the current mode while troubleshooting so you don't mistake a successful direct connection for a working proxy server.

Connected, but can't access the internet. What should I check first?

Disconnect first and confirm that your local network can access the internet. Then connect and run Connectivity Test to check whether the selected server is available. Test several destinations to distinguish between all requests failing and a single destination failing. If Proxy works but Config doesn't, focus on rules, policy references, and DNS. If both fail, check server details, subscription status, and the local network. Change one condition at a time and record the result. A connected status only confirms that a connection session was established; it doesn't prove that requests to a destination, DNS resolution, or remote services are working.

Why aren't my custom rules taking effect, and where should FINAL go?

First confirm that Global Routing is set to Config and that you're editing the active Config file. Rules are generally matched from top to bottom, and the corresponding policy is applied when a rule matches. If an earlier, broader rule matches first, later, more specific rules won't run. FINAL is a fallback rule and should go at the end; check that its policy is what you expect. Save your changes and reload as required by the app, then verify them with a new request. Also distinguish the match targets of DOMAIN-SUFFIX and IP-CIDR: changing a domain rule won't help if you test with a request that can't match a domain.

Connectivity Test shows a low number, but browsing is still slow. Why?

Connectivity Test measures response under a specific test method. It isn't sustained transfer speed and doesn't represent access quality for every destination. First compare different destinations using the same server, then compare other servers in your subscription using the same destination. Keep the test time and local network as consistent as possible. If only one destination is slow, check that destination and its routing rules. If all destinations are slow, check the local signal, server load, and network path. Don't change the protocol, rules, and network all at once, or the results won't be comparable. A successful test also doesn't replace checking your actual requests.

A persistent connection uses more battery. How should I check On Demand?

First compare battery usage over the same period in your system's battery settings, and consider factors such as video streaming, background sync, a weak signal, and frequent reconnects. Keeping a connection active isn't the same as continuously transferring large amounts of data. If On Demand is enabled, check whether its conditions cause repeated connections when the network changes. You can temporarily turn it off for comparison, then restore settings one at a time after confirming the basic connection is stable. When you're done diagnosing, turn off any detailed logging you no longer need and keep only the useful results. Don't infer the source of battery drain from the status bar connection indicator alone, and don't disable certificate verification to save power.