Shadowrocket FAQ
Purchases & Connection Troubleshooting
Start by identifying where the problem occurs, then check each step. The questions below are grouped by purchase, first launch, import, and connection. Select a question to expand the instructions.
- 4 FAQ categories
- 20 step-by-step answers
- Interface labels remain in English
Purchase verification & billing
Verify the product and purchase account first, then check storefront, pricing, and redownload questions.
Can't find Shadowrocket in the App Store? What to check first
Check the spelling, then open the product page from this site's App Store guide. This helps distinguish a search issue from a notice that the app isn't available in your current storefront. Check the country or region of the account signed in to the App Store for purchases; your device language doesn't determine the storefront. If you need to change it, go to Media & Purchases, View Account, then Country/Region in Settings under your Apple Account. Exact labels may vary. Before making changes, review the requirements for store credit, subscriptions, and payment methods.
How can I verify that the product page is for Shadowrocket?
Check the name Shadowrocket, the developer Shadow Launch Technology Limited, and id932747118 in the product page URL. Also compare the official icon shown in this site's header. Don't rely only on a search result's name or a similar-looking icon. App ID 932747118 identifies the product, but doesn't replace checking the current storefront's price, compatibility, and purchase account. Before buying, refer to the product details shown in the App Store.
Do I need to buy Shadowrocket again after changing or restoring my device?
Sign in to the original purchase account, open your App Store purchase history, find Shadowrocket, and try downloading it again. The account used for cloud sync may differ from the one under Media & Purchases. If a price appears, check the purchase account and history before paying again. Redownload availability and device compatibility depend on the App Store listing. Restoring the app does not restore local servers, configuration files, or other settings.
What does the one-time purchase include, and why do I still need server details?
The one-time purchase grants a license to use the Shadowrocket client. It is not a service plan: buying the app does not provide a server or subscription. This guide assumes you already have your own subscription or server details and covers only how to import and use them. The US storefront price is typically $2.99; currency, current price, and purchase availability vary by storefront. Check the App Store listing for current details. This site does not provide, sell, or recommend servers or subscriptions.
Can I install Shadowrocket on iPad? Where can I check compatibility with other Apple devices?
Shadowrocket is primarily used on iPhone and iPad, and can be checked and obtained from the same App Store product page. If you already purchased it, first check your purchase history using the original purchase account. Compatibility with Mac, Apple TV, and Apple Vision is also listed on the product page. Check the App Store listing for system requirements and whether Universal Purchase applies. Don't assume settings, layouts, or steps are identical across devices.
Installation & first launch
Check server selection, system authorization, and real-world access separately.
What order should I follow to connect for the first time?
First, prepare an existing subscription or server details. Import them in Home, select a server, and check that the selection mark is beside the intended entry. Next, review Global Routing and choose Config, Proxy, or Direct for your needs, then turn on the connection. The first time you connect, follow the system prompt to add a VPN configuration and authenticate on your device. Finally, run Connectivity Test and visit the target page; a changed switch color alone doesn't confirm that the connection works.
What does the system prompt to add a VPN configuration mean?
This system authorization lets the app create a VPN configuration; it isn't part of importing server details. Confirm the prompt was triggered by an action you just took in Shadowrocket, then allow it and complete device authentication. If you canceled earlier, return to the app and try connecting again. Device management policies may restrict this action. If you see a restriction notice, check your device management requirements rather than repeatedly deleting system configurations. The presence of a VPN configuration doesn't confirm that the remote server has passed a connection test.
The connection switch won't turn on or turns off immediately. What should I check?
Make sure a server is selected in Home, its details are complete, and system authorization hasn't been canceled. Note any message shown when the switch turns off, then check the VPN configuration status in Settings. If another VPN connection is active, disconnect it and try again. Also check for device management restrictions and confirm that you've completed any network sign-in. Don't start by deleting every configuration. Consider recreating the relevant configuration only after saving the information you need.
The app interface is in English. How do I match it to the steps in a guide?
Look for the labels as they appear in the app: Home shows servers and connection status; Add Server adds details; Config manages configuration files; and Settings contains preferences. Under Global Routing, Config, Proxy, and Direct select different traffic-handling modes. Distinguish the Config page from the Config mode: the page is for managing configuration files, while the mode determines how traffic is handled. The labels shown depend on your device and app language settings.
What should I keep before updating the app?
Updates are delivered through the App Store. Before updating, make sure you can retrieve your existing subscription and save any configuration files, rules, and server details you've edited or need. These may contain sensitive information, so keep them somewhere you control. Note the selected server, Global Routing mode, and key settings so you can check them after the update. Don't uninstall the app to troubleshoot an ordinary connection problem: doing so may erase local data, and your App Store purchase history is not a configuration backup.
Subscriptions & server import
Assuming you already have the details, identify the content type first, then check its format and access requirements.
Subscription import failed. Should I check the link or the network first?
First check that your existing subscription URL is complete and has no leading or trailing spaces, line breaks, expired parameters, or missing characters. Make sure it's a subscription URL, not an account page or regular webpage, then check whether your current network can reach it. If it returns a login page, error page, or unsupported format, importing it again won't help. Keep the error message and ask your provider to confirm the URL is valid and correctly formatted. Don't share the full URL if it contains access credentials.
What's the difference between a subscription, a single server, and a .conf configuration file?
A subscription retrieves and updates multiple server entries; a single server entry adds one connection endpoint; and a .conf file organizes sections such as General, Rule, and Host. Identify which type of information you have before choosing where to add it. They may all appear as links, but they aren't interchangeable. A server listed in Home doesn't mean routing rules are active, and a file listed in Config doesn't mean you have a usable server.
Importing from a QR code or clipboard does nothing. How can I find the cause?
First check that the QR code or clipboard contains supported server or subscription details, not explanatory text, an account page, or an ordinary URL shown in a screenshot. When using Scan QR Code, check camera permission and make sure the code is clear and complete. For clipboard import, copy the original text again and check whether the system asks you to allow pasting. Don't post a complete QR code in a public forum. If import still fails, compare the existing details with the fields required by Add Server to confirm the content type.
How do I update an existing subscription, and why do entries change afterward?
Find the existing subscription group in Home and use its update action to fetch the latest content. The button's location may vary by interface. The update reflects the data returned by the subscription URL, so added, removed, or renamed entries don't necessarily indicate an app problem. After updating, check which server is selected by default and run Connectivity Test. If the update fails, check the URL and network access. Avoid adding the same subscription repeatedly, which can create duplicate groups and make it harder to tell which one is selected.
Which fields should I check if a server added manually in Add Server won't connect?
Compare Type, server address, port, and authentication details with the server information you have. Then check the transport and TLS settings required by the selected protocol. Fields differ between protocols such as Shadowsocks, VMess, VLESS, and Trojan; changing Type alone doesn't make the other settings interchangeable. Check capitalization, spaces, and missing characters in passwords and other authentication details. After saving, select the server and test it. A successfully saved entry doesn't prove the remote protocol matches your local settings.
Routing rules & troubleshooting
Keep the network and test target consistent, change one condition at a time, and save a restorable copy of your configuration.
How should I choose Config, Proxy, or Direct in Global Routing?
For everyday rule-based routing, choose Config and make sure the intended configuration file is active. To test the proxy path through the selected server, temporarily switch to Proxy. To test direct access on your current network, temporarily switch to Direct. These modes route traffic differently; they aren't speed settings. Keep the target page and network the same when comparing, change one condition at a time, and restore your usual mode afterward. Successful access in Direct doesn't prove the selected server works.
It says connected, but pages won't load. What should I check, and in what order?
First disconnect and confirm that your current network works on its own, including any required network sign-in. Then connect Shadowrocket, check the selected server, run Connectivity Test, and try the target page and another page that normally works. If the problem occurs only in Config, check rule matching and DNS. If Proxy also fails, first verify the server details and whether the remote server is available. The system's connected status confirms only the local connection state; it doesn't prove that a request reached its destination.
Rules aren't working as expected. Should I check their order or their policies first?
Make sure Global Routing is set to Config and that you're using the configuration file you just edited. Then check the order of rules in Rule. Rules are generally evaluated in order, so a broad condition near the top may match before a more specific one; use FINAL as the fallback. Next, verify where PROXY, DIRECT, REJECT, or any custom policy actually points. Also check the matching scope of DOMAIN versus DOMAIN-SUFFIX. A rule containing the target domain in its text doesn't necessarily match it.
Connectivity Test returns a result, but access still fails. Why?
Connectivity Test checks the connection to its configured test target; it doesn't cover every website, protocol, or rule path. Actual access also depends on the target service, DNS resolution, rule matching, and transport settings. Confirm the test uses the currently selected server, then try the actual target on the same network. If only one target fails, troubleshoot that target rather than rebuilding all your configuration. Test results aren't a throughput guarantee and shouldn't be used alone to predict performance in every app.
High background battery use: should I turn off On Demand?
First review the time period, screen use, and background activity in system battery usage. Check for frequent network changes, ongoing transfers, or repeated connection attempts. On Demand triggers connections according to configured conditions, so you can temporarily turn it off and compare under similar conditions—but it isn't a universal battery-saving switch. After changing it, make sure the connection still meets your needs, and check signal quality and app traffic. Change one condition at a time and record the results; brief fluctuations don't establish a long-term pattern.