Shadowrocket FAQ
First distinguish access and installation, importing and routing, and connection and access issues; then check the relevant settings. These answers assume you already have your own subscription or server details. For a complete step-by-step walkthrough, see the user guide.
- 4 issue categories
- 22 step-by-step answers
- Select a question to expand the answer
ACQUISITION / 01
Genuine app & purchase
Check your device, store account, and purchase history. Getting the client and configuring a network connection are separate steps.
Can I use Shadowrocket on a computer or Android? How does pricing work?
Yes. Shadowrocket is available for iPhone, iPad, Mac, Windows, Android, and Linux. The iPhone and iPad app costs $2.99 as a one-time App Store purchase. The Mac (Apple silicon and Intel), Windows, Android, and Linux versions are free. Get the iPhone and iPad app from its App Store product page; downloads for other platforms are available on this site under /dl/shadowrocket/. Choose your device in the download guide, then follow the installation instructions for that platform. Check the product details rather than relying on a similar app name.
Can I install Shadowrocket on iPad? Where can I check the system requirements?
Yes. The iPhone and iPad versions share one App Store listing. Check the App Store page for the system requirements. The iPhone and iPad app costs $2.99 as a one-time purchase; the Mac, Windows, Android, and Linux versions are free. If you bought it with the same Apple Account, look for it in Purchased on your iPad and download it again. If the page shows a purchase button, check which account is used for Media & Purchases and confirm your original purchase before buying again.
Can't find Shadowrocket in the App Store?
Open the product page from the download guide, then check the country or region for your current App Store account. The app is not currently available in the mainland China storefront; an empty search result does not mean the app has a different name. To change your account region, go to your Apple Account in Settings and review Media & Purchases, View Account, and Country/Region. Follow Apple's prompts regarding your balance, active subscriptions, and payment details. Changing your device language or system region alone does not change your store account region. Menu names may vary slightly between system versions.
Do I need to buy Shadowrocket again after changing devices or reinstalling it?
The iPhone and iPad app costs $2.99 as a one-time App Store purchase; the Mac, Windows, Android, and Linux versions are free. On a new iPhone or iPad, sign in with the original purchasing account and redownload the app from Purchased in the App Store. If it isn't listed, check your purchase history and hidden purchases. For other platforms, get the appropriate installer again from this site's download guide. Your purchase history and your configuration are separate, so save your configuration before reinstalling. Redownloading the app does not necessarily restore your server details.
How can I verify the genuine app? Does buying it include a proxy service?
On iPhone or iPad, check the developer, Shadow Launch Technology Limited, the official icon, and app ID 932747118 on the specified App Store product page. Don't rely on the name or search ranking alone. For other platforms, use the installers under /dl/shadowrocket/ linked from this site's download guide. The iPhone and iPad app costs $2.99 as a one-time App Store purchase; the Mac, Windows, Android, and Linux versions are free. Buying the app once does not include a proxy service plan. Connecting requires your own subscription or server details. This site does not provide, sell, or recommend servers or subscriptions.
Related: How to verify the genuine app → · Restore a previous purchase →
INSTALLATION / 02
Installation & first launch
Check the download source and device architecture before responding to system warnings. Only allow files you've confirmed are from the right source; this doesn't replace checking where they came from.
Which Mac version should I choose: Apple silicon or Intel?
Open About This Mac from the Apple menu. If it shows Chip and an Apple chip name, choose the Apple silicon version; if it shows an Intel processor, choose the Intel version. Don't guess from the computer's appearance or a browser's detection. Download the matching DMG and move the app to Applications. If the first launch says the developer cannot be verified, confirm the file came from this site, then choose Open Anyway under Privacy & Security in System Settings. If it still won't launch, note the complete message and follow the relevant steps in the download guide.
Mac says the developer can't be verified or the app is damaged. What should I do?
Confirm the installer came from this site's download guide and matches your Mac's chip. If macOS says the developer cannot be verified, try opening the app, then go to Privacy & Security in System Settings and select Open Anyway for that app. If macOS says the app is damaged, download it again and replace the existing copy. After confirming the source and installation path, you can run xattr -cr /Applications/Shadowrocket.app in Terminal to remove the app's quarantine attribute, then try again. This does not check whether a file is safe. Never run it on files from unknown sources, and don't disable system security protections.
How should I handle a Windows SmartScreen warning?
Stop and check the download source. Confirm the file is a Windows installer from the /dl/shadowrocket/ path linked in this site's download guide. Once confirmed, select More info on the SmartScreen screen to review the file details, then choose Run anyway. If that option isn't available, device management policies may be restricting it; contact your administrator rather than disabling security protections. Cancel if the installer shows unexpected file names, permission requests, or extra programs, then check the download source again.
Can't install the Android download, or open it from WeChat?
If the download won't work in WeChat, open this site's download guide in your system browser and download the Android installer there. If Android reports insufficient permissions during installation, go to System Settings and allow the browser or file manager you used to install unknown apps. You can turn this permission off after installation. Grant it only to the app you used, not every app. If the installer can't be parsed, delete the incomplete file and download it again. Check whether your device is compatible with the arm64 installer, and don't repeatedly try to install the same faulty file.
Which Linux installer should I choose? What should I know before the first launch?
Choose deb, rpm, or AppImage in the download guide based on your Linux distribution, not just your desktop environment. For deb or rpm, use your system's package installer to handle dependencies. For AppImage, allow the file to run as a program in its properties before launching it. If the terminal reports a permissions or dependency error, keep the full output and follow your distribution's instructions. Get the installer from this site and check its source and architecture before running it. Don't grant an unknown program administrator privileges just to clear an error.
Related: Choose an installer by platform → · Installation and security prompts →
SUBSCRIBE & ROUTING / 03
Subscriptions, server imports & routing rules
This section covers importing and routing issues. First confirm the server details are complete, then check how Config and Global Routing handle traffic.
A subscription I already have won't import. What should I check first?
First, make sure you copied the complete subscription URL you already have, not an account page, an information page, or truncated text from a chat. Check for spaces, line breaks, or extra punctuation at either end, and confirm your current network can reach the URL. Then follow the guide: in Add Server, choose Subscribe, paste the URL, and save. If the response isn't valid subscription data, note the error type and ask the original provider to confirm the format and validity period. Don't post a full URL containing credentials publicly or substitute someone else's URL for testing.
How do I update a subscription? Is it normal for the server list to change afterward?
Find the relevant Subscribe entry in Home and use its update action; the exact location depends on the device and interface. An update fetches the server list returned by the subscription, so names, order, and available entries may change. Check which server is selected as the default afterward rather than looking only for the old name. If an update fails but the existing entries still work, keep them for now and check the network, URL, and validity period instead of deleting the entire subscription. Note the entry name and error message for troubleshooting, but hide any credentials in the URL.
What's the difference between a server subscription and a Config file?
A server subscription is mainly for importing and updating server details. A Config file organizes routing rules and related settings. Seeing servers in the list doesn't mean the right rules are enabled; importing a Config doesn't mean that every referenced server or policy name exists. For initial setup, confirm the server connects, then check the selected Config, the names targeted by its rules, and Global Routing. Read an existing file before importing it and save a copy of your current Config, so you don't overwrite all your settings to troubleshoot one connection issue.
Which Global Routing mode should I choose: Config, Proxy, or Direct?
Config routes traffic according to the rules in the selected Config. Proxy sends traffic handled by the client through the proxy. Direct connects traffic handled by the client directly. For everyday use with existing rules, start with Config. To troubleshoot temporarily, test the same destination with Proxy and Direct, compare the results, then restore the original mode. Proxy does not automatically fix every connection issue, and Direct does not turn off the system's VPN configuration. The mode controls how traffic is handled; the connection switch controls whether the client establishes a connection.
Why aren't my Config rules working as expected?
First, confirm Global Routing is set to Config and that the Config you edited is the one in use. Rules are generally matched in order, so an earlier match may take precedence over a more specific rule later on. Check conditions such as DOMAIN-SUFFIX, DOMAIN-KEYWORD, and GEOIP, as well as the final FINAL rule. Also verify that the rule's target exists, the domain matches, and the test app isn't reusing an existing connection. Save, make a new request, and check the relevant logs. Change one thing at a time; changing DNS, rules, and servers together makes it hard to tell whether an individual rule worked.
Which protocol should I choose when adding a server manually?
Use the protocol specified in the server details you already have, then select the matching Type in Add Server. The fields for Shadowsocks, VMess, VLESS, Trojan, HTTP, SOCKS5, WireGuard, and Hysteria2 are not interchangeable. Copying just the address and port isn't enough to complete a configuration. Check each authentication field, along with any TLS, transport, and other parameters required by the server. Don't guess at missing details from the protocol name. If importing from a QR code, verify the type and key fields before saving. A protocol name alone does not guarantee connection speed or availability.
Related: Import and make your first connection → · Protocol reference →
DIAGNOSTICS / 04
Troubleshooting
Narrow down the cause in order: basic network, connection permissions, server, routing, and DNS. Check “connected” status separately from access to the destination.
The connection switch won't turn on, or turns off right away. What should I do?
Select a working server as the default in Home, then turn on the connection switch. On iPhone and iPad, the first connection requires allowing the VPN configuration when prompted by the system. If you canceled before, trigger the prompt again and complete system authentication. Check for another VPN connection, device management restrictions, or system permissions that may prevent a connection. If the app shows an immediate error, note the full message and check that all required fields are filled in for the selected server. Repeatedly tapping the switch won't fill in missing settings. Don't delete management profiles you don't recognize just to test the connection.
It says connected, but websites won't load. How do I troubleshoot?
Turn off the client connection and confirm that your current Wi-Fi or mobile network can open websites on its own, then reconnect. Run Connectivity Test to see if the selected server is reachable. Next, check Global Routing and the active Config to make sure an unsuitable rule isn't handling the traffic. If the server is reachable but domain names fail, check DNS settings and the actual resolution error. Test the same destination on the same network, changing one variable at a time. A connected status only means the client connection was established; it doesn't confirm that the remote server, DNS resolution, or every website is working.
If Connectivity Test returns a result, does that mean every app can connect?
Not necessarily. Connectivity Test checks connectivity to a specific test target using the current server. It doesn't replace testing the website or app you want to use, and it isn't a bandwidth test. If the test succeeds but an app fails, check the domains it accesses, the rules those requests match, DNS results, and whether it is reusing an old connection. Note the network, server, and routing mode used, then test the same target again. Don't compare results from different network conditions or delete your entire Config based on one test.
The interface is in English. How do I follow a guide written in Chinese?
The guide keeps interface labels in English: Home is where the server list appears; Add Server adds a server; Subscribe manages subscription entries; Config manages configurations; Settings contains app settings; and Global Routing selects the routing mode. Find the English label first, then read the nearby instructions. There's no need to guess based on icon positions. Layouts may differ by platform or system version. If an item is in a different place than shown, look for the same label on your device. Don't confuse the system settings app with Settings inside Shadowrocket.
Battery use increases after connecting. How can I find the cause?
First, check the system's battery usage statistics to identify when the change began. Then consider sustained traffic, a weak signal, background tasks, and repeated reconnects. Battery use during a proxy connection depends on the protocol, network quality, traffic, and connection stability; the protocol name alone doesn't tell you how much power it will use. Troubleshoot under the same network and usage conditions, pause unnecessary downloads, and check for repeated connection failures or retries. Change one setting at a time. Don't disable required authentication or encryption to save power, and don't treat a short-term battery fluctuation as a long-term trend.
Why does On Demand connect automatically? How can I stop it from triggering repeatedly?
On Demand starts a connection when its configured conditions are met, so network activity that matches those conditions may reconnect after you disconnect manually. Check whether On Demand is enabled and review its matching conditions. For temporary troubleshooting, turn it off and see whether a manual connection remains stable. Repeatedly switching off Home while leaving the same trigger conditions in place won't address the cause. Automatic triggers are also different from server connection failures. Once you identify the issue, restore needed conditions one by one and test Wi-Fi and mobile networks separately. Avoid changing several conditions at once, or it will be harder to find the cause.
Related: Features and settings guide → · Back to category navigation ↑