Official Manual / FAQ
Shadowrocket FAQ
First identify whether the issue is with purchase, import, or connection, then check each step in order. Change one setting at a time and keep the original settings and error messages.
This page assumes you already have your own subscription or server details. Expand a question to read the answer. For a complete walkthrough, see the Getting Started Guide; to organize multiple subscriptions, see the Subscription Guide.
Verify the App & Purchase
Check the product page and purchase account first, then troubleshoot search, compatibility, or restoring a purchase.
Can't find Shadowrocket in the App Store? What should you check first?
Open the App Store product page from this site's download page to distinguish missing search results from unavailability in your current storefront. Check the Apple Account signed in to the App Store, its country or region, device compatibility, and content restrictions. Refer to the App Store page for system requirements. If the app is unavailable in your region, check your details under Media & Purchases in your Apple Account settings. If you need to change your region, follow Apple's process for handling your balance, subscriptions, and payment method. You don't need to change regions just to troubleshoot a search.
How can I verify that the app in the store is the genuine Shadowrocket?
Check all three: the app name is Shadowrocket, the developer is Shadow Launch Technology Limited, and the product page URL contains id932747118. Also compare the app with the official icon shown in this site's header. A similar name is no substitute for checking the developer and app ID, and search ranking is not proof of authenticity. On the product page, review compatibility, price, and the purchase button before deciding. This site's download page summarizes these checks. The App Store product page is the only place to get the app.
Is Shadowrocket a one-time purchase, and can I connect as soon as I buy it?
Shadowrocket is a paid client sold as a one-time purchase. The US storefront price is about $2.99; other storefronts show local currency, and the current price is listed on the App Store page. Buying the client once does not include a service plan. After purchasing, you'll still need to import your own subscription or server details. Get subscription links from your service provider. Check the purchase and connection separately: verify the purchase in the App Store; connection depends on your settings, service status, routing rules, and network.
Do I need to buy Shadowrocket again when I switch iPhones 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 items or app list. If your purchase is eligible for redownload, you can usually download it again; a price shown in search results alone doesn't mean you have to buy it again. If the store still shows a price, check the account, purchase history, and storefront status, then follow App Store support steps. Restoring the app doesn't restore all local settings. Before switching devices, save your subscription links and configuration backups, and keep any access credentials they contain secure.
Can I install Shadowrocket on iPad? Where can I check compatibility for Mac and Apple TV?
Shadowrocket is primarily used on iPhone and iPad and is obtained through the App Store. On iPad, sign in with the account used for the purchase, then check the product page for download status and compatibility. For Mac, Apple TV, and Apple Vision compatibility, check the compatibility section on the same App Store product page. System requirements, device compatibility, and whether the purchase is universal are determined by the information listed there. Layouts and controls may differ between devices, so don't assume every button is in the same place as on iPhone.
Related: Verify the app's three identifiers · Switch devices and restore a purchase
Install & First Launch
Distinguish system authorization, app settings, and remote connection status instead of attributing every failure to installation.
A system prompt asks to add a VPN configuration when I connect for the first time. What should I do?
This is the system authorization step for confirming a VPN configuration. First, make sure the prompt was triggered by a connection attempt you just started in Shadowrocket. Read the system prompt and follow its instructions to authorize and authenticate; allow it only if you understand what it does. Once authorized, return to Home and check the selected server and connection switch. If you previously denied authorization, try connecting again and review the system response. VPN configuration authorization is only a prerequisite for setting up a local network configuration; it doesn't verify server settings or confirm that the remote service is available.
The connection switch on Home won't turn on or switches off immediately. What should I check first?
First, make sure a server is available on Home and select the one you want to use. Then check whether the system prompts you to authorize the VPN configuration. If the switch turns off immediately, note the prompt and check for another active VPN session, device management restrictions, or incomplete system authorization. On managed devices, ask the administrator about applicable policies. You can stop the current connection and try again, or restart the device if needed. Keep your subscription and configuration before considering a reinstall. Repeatedly deleting the app usually won't fix incorrect remote settings or an unavailable service.
The interface is in English. What do Home, Config, and Settings do?
Home shows server entries, lets you select a connection, and controls the connection. Config manages rule configuration files, while Settings contains app settings. Global Routing controls the overall routing mode. Add Server is where you enter server details, and Subscribe handles subscription-type entries. This manual keeps these English labels so you can find them in the interface. To change the display language, first check the language options provided by the system for the app; available options depend on your device and the app's current settings.
Battery use increases while connected. How can I tell which settings may be responsible?
Compare entries in your system's battery usage for similar periods and network conditions; don't compare only two battery percentages. High data use, weak signal, frequent reconnects, and additional rule processing can all affect battery life. For troubleshooting, stop any large transfers first, then see whether the connection keeps dropping and check whether On Demand is triggering repeatedly. Change one setting at a time and note the difference. The app being connected doesn't by itself identify the cause, and no routing mode can be guaranteed to save battery.
Are app updates and subscription updates the same thing?
No. App updates come through the App Store and update Shadowrocket itself. Subscription updates reread your existing subscription in the app to sync the server list. Updating the app won't automatically fix an incorrect subscription URL, and updating a subscription doesn't replace an app update. First identify which layer the problem belongs to and note your current settings. Before updating a subscription, keep the original link and any necessary manual settings. Refer to the App Store page for app update history, device compatibility, and system requirements.
Related: First launch and connection steps
Subscription & Server Import
Tell subscription links, single-server share links, and manual settings apart before choosing an import method.
Where do I import a subscription link, and why can't I enter it like a regular server?
Get the complete subscription link from your service provider. On Home, go to Add Server, choose the Subscribe type, and enter the link. After saving, check whether server entries appear; the exact fields may vary with the current interface. A subscription link usually points to a list of servers, while a regular server entry requires an Address, Port, and authentication details for its protocol. They serve different purposes. If you have a single-protocol share link, use the corresponding link import method. Don't choose an import option just because both links contain a colon.
Subscription import fails or the list is empty. What should I check, and in what order?
First, make sure the link was copied in full and remove any leading or trailing spaces, line breaks, or extra explanatory text. Confirm that you have a subscription URL, not a login page or a single-server share link. Then check with your service provider that the subscription is active and returns valid content, and make sure your current network can reach the URL. If the list is empty, keep any existing working entries instead of deleting them. Note the update message and time, then ask your provider to verify the response format. Before sharing troubleshooting details, hide the full subscription link, token, password, and other credentials.
The server list is shorter or names have changed after updating a subscription. What should I do?
A subscription update reads the list currently returned by your service provider, so the number and names of entries can change. First, confirm which subscription group you updated and whether the update completed, then check for any filters or sorting. A different entry count before and after an update doesn't necessarily mean the import is damaged; consider the response status and information from your provider. Back up important manual server settings separately instead of assuming a subscription will preserve them. If an update fails, keep the link and error message, and avoid repeating the update so often that the issue becomes harder to trace.
When entering details manually in Add Server, which fields must match?
Select the correct protocol, then check the Address, Port, and required authentication fields one by one. UUID, Password, TLS, Server Name, and transport options must match your existing server details. Not all protocols use the same fields, so don't copy settings from a different protocol. Don't disable certificate verification just to make a connection work. After saving, test the individual entry before checking routing and rules. If manual entry fails, compare each field carefully, especially numbers, capitalization, spaces, and any path required by the server.
No new entry appears after importing from a QR code or clipboard. What should I do?
First, confirm the QR code or clipboard contains a complete server share link or subscription link, not a webpage title, image caption, or truncated text. To scan a QR code with Scan QR Code, allow camera access when prompted by the system. For clipboard import, check whether the system has allowed the current paste. After importing, return to Home and check the relevant subscription group and entry list, then confirm that the current app supports that link type. QR codes and links may contain credentials, so don't upload them publicly while troubleshooting.
Related: Subscription and Server Management Manual · Subscription update troubleshooting checklist
Routing Rules & Connection Issues
Troubleshoot in layers: local network, selected server, routing mode, DNS, and rule order.
How should I choose between Config, Proxy, and Direct in Global Routing?
In Global Routing, Config routes traffic according to the rules in the currently selected configuration. Proxy routes traffic through the proxy, while Direct sends traffic directly. For rule-based routing, make sure the appropriate configuration is selected on the Config tab, then choose Config as the routing mode. You can briefly switch modes to compare results while troubleshooting, but change only one setting at a time and restore it after testing. The Config option in Global Routing and the Config tab at the bottom share a name: the former selects a routing mode, while the latter manages configuration files.
It shows connected, but webpages won't load. What should I check first?
Disconnect and confirm that your current Wi-Fi or cellular network can access the sites you expect. Then reconnect and check the selected server, Global Routing mode, and current configuration. Test multiple websites to distinguish a problem with one destination from a broader connection failure. Next, check server settings, service status, DNS resolution, and rule matches; if needed, test on another network. A VPN Connected status only means the local connection session is established. It doesn't confirm that remote traffic forwarding, domain resolution, or every destination website is working.
Connectivity Test returns a result, so why does actual access still fail?
Connectivity Test reports the result for the selected test method and target; it doesn't mean every website is reachable. Actual requests also depend on domain resolution, TLS, transport settings, routing rules, and the destination's status. First, make sure you're testing the server currently selected for connection. Then use the same network to test different destinations and check whether the failure occurs during resolution or connection setup. If only certain sites fail, check their rules and request logs first. A test score alone doesn't prove that a server is suitable for every request.
Why isn't a website using PROXY or DIRECT as expected?
First, make sure Global Routing is set to Config and check which file is selected on the Config tab. Rules are usually matched in order, so an earlier match can affect what happens next. Check that rule types such as DOMAIN, DOMAIN-SUFFIX, and IP-CIDR fit the destination, and that the policy for the final FINAL rule is what you expect. A webpage may request resources from multiple domains, so checking only the main domain in the address bar may not be enough. Back up the configuration before making changes, then review individual requests against the logs. Avoid adding many broad rules at once, as they can obscure the cause.
The connection comes back on after I disconnect. How do I check On Demand?
Check whether On Demand is enabled and review its network conditions or trigger rules. It starts a connection when its configured conditions are met, so it may trigger again after you disconnect manually. To see whether it's the cause, temporarily turn off On Demand, disconnect manually, and observe what happens. Restore it after testing if you want to keep using it. If the connection still starts automatically, check the system's VPN settings and device management policies. Record the original conditions before changing them so you can restore your previous setup afterward.