- Official User Manual
- Browse by issue
Shadowrocket
FAQs
Check purchase and connection requirements first, then review your current settings. The questions below are grouped into four categories. Open a question to see the answer, and change only one condition at a time while troubleshooting.
For step-by-step instructions, see the Setup Tutorial; for a systematic troubleshooting approach, see the Troubleshooting Manual. Don’t include subscription links, passwords, or other authentication details in public feedback.
App Store & Purchase
Can’t find Shadowrocket in the App Store? Check these first
Open the App Store product page linked from the download guide to rule out search terms or result rankings. If the store says the app isn’t available in your region, check the country or region on the account currently signed in to the App Store, as well as purchase restrictions on your device. To change your region, go to Settings → Apple Account → Media & Purchases → View Account → Country/Region, then review your balance, subscriptions, and payment requirements as prompted. Avoid switching regions repeatedly just to change search results.
How can I tell whether an App Store listing is the genuine Shadowrocket app?
Check that the developer is Shadow Launch Technology Limited, the official icon matches the one shown here, and the product page URL contains app ID 932747118. A similar name isn’t proof, and the icon alone isn’t enough to verify a listing. Confirm all three details on the store page, then review the price, compatibility, and purchase information. If any of them don’t match, don’t proceed with payment; return to the download guide and verify the link.
Do I have to buy Shadowrocket again when I get a new device or reinstall it?
Sign in to the App Store with the Apple Account used for the original purchase, then look for Shadowrocket in your purchased apps. If the store shows a purchase record and the app is still available, follow the prompts to download it again. Don’t assume you need to pay based only on how a button looks. If a price still appears, check the account and order history first. Downloading the app again won’t restore its servers or Config, so save any needed configuration separately before switching devices.
Does the one-time purchase include a service for connecting?
No. A one-time app purchase is not a service plan. It gives you the right to use the Shadowrocket client; connecting still requires your own subscription or server details. Get subscription links from your provider. The US storefront price is about $2.99; prices are shown in local currency and the amount on the App Store page is the one that applies. This site provides the user manual and does not provide, sell, or recommend servers or subscription services.
If I bought Shadowrocket on iPhone, can I install it on iPad?
On your iPad, sign in to the App Store with the account used for the original purchase. Open the same product page or your purchased apps and check whether you can download Shadowrocket again. Check the App Store listing for iPad system requirements, device compatibility, and whether the purchase is universal. Downloading the app doesn’t mean your iPhone configuration will appear on iPad automatically. Before using it, check Subscribe, the selected server, and Config rather than assuming the connection settings are the same.
Check the three authenticity details and App Store access instructions →
Setup & First Launch
What does the VPN configuration permission prompt mean the first time I open the app?
This permission lets Shadowrocket create a VPN configuration in the system. It doesn’t confirm a purchase or provide server details. Check the app name in the prompt, make sure it appeared as part of the connection flow, then follow the system instructions to authorize and verify. If you previously canceled, return to the app and try connecting again. A VPN indicator in the system only shows that the connection configuration is active; you’ll still need to verify access to the websites you want to reach.
What if the connection switch won’t turn on or turns off immediately?
First, make sure you’ve approved the system VPN configuration. Check whether another VPN configuration is in use; turn off the other connection rather than running both at once. Reopen Shadowrocket, select an existing server, and try again. If the device is managed, check for a policy that restricts VPN use and contact your device administrator. If it still fails, note the exact system message and the steps that triggered it, then restart the device if needed. Don’t delete configurations you haven’t backed up.
Where should I start if the interface is in English?
Start by locating Home, Config, Settings, and Data. Home shows servers and connection status; Config manages configurations; Settings contains app settings; Data shows usage statistics. Look for Add Server to add an existing server, or Scan QR Code to scan one. This manual keeps interface labels in English and explains what each option does. If your system offers an app language setting, check the app’s page in system Settings; available options depend on your device.
What should I check separately when using Shadowrocket on iPad for the first time?
The steps are the same: prepare existing connection details, import them, choose Global Routing, then authorize the connection. On iPad, orientation and window size can change how lists and details are arranged. If you can’t find an option, return to Home rather than tapping where it appears on another device. Check the current network, selected server, and Config on each device. A working connection on one device doesn’t prove the other device’s network or settings are correct.
When should I check On Demand?
If the connection comes back after you switch networks or reappears after you turn it off manually, check whether On Demand is enabled and whether the current network meets its trigger conditions. On Demand starts connections when specified conditions are met; it can’t fix an unreachable server. For troubleshooting, temporarily turn it off and compare with a manual connection. Once manual connections are stable, restore the conditions one at a time to avoid mistaking an automatic trigger for a faulty switch.
Subscriptions & Server Imports
Subscribe import failed. What should I check first?
Make sure you’re importing a subscription link, not your provider’s login page. Get the link from your provider. Check that copying didn’t omit characters or add spaces or line breaks, then make sure your current network can reach the address. If you see an authentication error, empty content, or a format error, keep the exact error message and ask your provider to verify the link and response format. Don’t post a full subscription link publicly, and cover authentication details in screenshots.
How do I update an existing Subscribe, and what should I check first?
Find the relevant Subscribe entry on Home, open its management options, and run the update. Then check the updated server list. Before updating, note the name of the server you’re using and save any essential details you changed yourself; changes to the remote list may remove your selected server or refresh its settings. After the update, confirm your selection again before testing the connection. If the update fails, don’t repeatedly delete and recreate it. Check the network and error message first to distinguish a fetch failure from a parsing error.
What’s the difference between adding one server and importing a Subscribe?
Add Server lets you enter the details for one server from information you already have. Subscribe uses a subscription link to fetch and update a group of servers. Choose the option that matches the information from your provider; don’t enter a subscription URL as a server address. When adding a server manually, check the protocol, address, port, authentication details, and relevant transport settings. A successful import only means the details were saved. Select a server and test the connection; the import alone doesn’t confirm the remote service is available.
Scan QR Code recognizes the code, but the connection fails. What should I do?
Successful scanning only means the QR code contents were read. Open the imported entry and compare its protocol, address, port, and authentication fields with the original details. In particular, check that TLS, SNI, and transport settings are complete. Don’t weaken security checks just to pass a test. If the QR code contains older saved details, ask your provider whether they’re still valid. Check your local network too, so an unreachable network isn’t mistaken for an import problem.
Do I need to import Config after importing a subscription?
Subscribe is mainly for fetching and updating server details; Config manages rules and other configuration content. They serve different purposes. Whether you need to import Config depends on whether you want rule-based routing and whether your existing configuration meets your needs. First check the current Global Routing mode, then review the selected Config and where it came from. Don’t import several unfamiliar configurations at once just to test a connection. Keep the original configuration so you can revert, and verify changes one at a time.
Continue troubleshooting subscription retrieval and parsing →
Routing & Troubleshooting
How do I choose Config, Proxy, or Direct in Global Routing?
Config handles requests according to the rules in the selected configuration. Proxy sends requests handled by the client through the selected proxy policy. Direct handles requests as direct connections. For everyday rule-based routing, check Config first. To troubleshoot, briefly switch to Proxy or Direct for comparison, changing only one condition at a time. Switching modes won’t fill in missing server details or guarantee access to a destination. After testing, restore the mode that suits your needs.
It says connected, but I can’t access the internet. What should I check first?
Turn off the connection and make sure your Wi-Fi or cellular network works on its own. Connect again and check the selected server, Global Routing, and Config. Compare the same destination before and after connecting, without changing the network and server at the same time. If Direct works but Proxy doesn’t, check the remote connection details and reachability first. If only Config fails, check rule matching and DNS. The connected indicator alone doesn’t prove that a request completed successfully.
Does a Connectivity Test timeout mean the server is unavailable?
Not necessarily. A single timeout isn’t enough to draw a conclusion. Results depend on the current network, test method, and destination response, and may not reflect real-world requests. First confirm that your regular network works, then retry under the same conditions and try accessing the destination directly. If the same server keeps timing out, check its address, port, protocol, and authentication details, and ask your provider about service status. If it fails only on one network, check local network restrictions and connection quality.
Only some domains fail to load. How can I tell whether it’s DNS or a rule issue?
Note the affected domain, when the issue occurred, and the current mode. Then check the order and policies of relevant DOMAIN and DOMAIN-SUFFIX rules in Config. Look for available logs showing a DNS resolution failure or a request routed through an unexpected policy. Briefly switch modes to compare, changing only one DNS or rule setting at a time. Don’t replace the entire configuration. If the issue persists, see the DNS section of the troubleshooting manual and save your current settings so you can revert.
Battery use increases after connecting. How can I compare it effectively?
Check activity for the relevant period in system battery usage, then compare it with traffic changes in Data. Ongoing data transfers, frequent reconnects, weak network signals, and background activity from other apps can all affect the readings; don’t attribute every difference to the client. Compare before and after connecting over similar periods and on the same network. Avoid repeated speed tests, and check whether On Demand is triggering frequently. If the issue began after an update, note the conditions that trigger it, back up your configuration, and troubleshoot one factor at a time.