Official Manual · FAQs by Topic
Shadowrocket FAQ
Setup, Subscriptions & Connection Troubleshooting
Identify which step the problem occurs at, then check the relevant settings. For purchase and installation issues, start with the system and account. For connection issues, start with your existing server, active Config and Global Routing.
Find the step where the problem occurs
From getting the app to rule troubleshooting
Expand a question to see the answer. For complete procedures, continue to the relevant guide.
Verify and purchase
Verify the product and purchasing account before downloading or restoring it. Check the App Store product page for iPhone and iPad system requirements.
Open the Shadowrocket App Store product page ↗iPhone and iPad: $2.99 one-time App Store purchase. Mac, Windows, Android and Linux: free.
How much does Shadowrocket cost, and does it include connection settings?
There are two pricing tiers: Shadowrocket for iPhone and iPad costs $2.99 as a one-time App Store purchase; prices may vary by storefront. Versions for Mac, Windows, Android and Linux are free. Buying the app once does not include a service plan. After installation, import your own subscription or server details; purchasing the app does not create them. This guide explains setup and use but does not provide, sell or recommend servers or subscriptions.
How can I verify Shadowrocket in the App Store?
Open the App Store product page linked on this site and check the app name, Shadowrocket, the developer, Shadow Launch Technology Limited, and app ID 932747118. Compare the listing with the official icon in this site's header. Do not rely on a translated nickname or search-result ranking alone. The iPhone and iPad version costs $2.99 as a one-time App Store purchase; versions for Mac, Windows, Android and Linux are free. A free listing with the same name is not the iPhone or iPad app covered here.
Can't find Shadowrocket in the App Store? What should I check?
Open the exact product page first to tell a missing search result from storefront availability. Shadowrocket is currently unavailable in the China mainland App Store. On your device, go to Settings, open your Apple Account, then select Media & Purchases to check Country/Region. If you need to change it, follow Apple's account-region process and first review your balance, active subscriptions and local payment requirements. Changing the device's display language does not change the storefront region. If you encounter a restriction, address the account prompt rather than attempting repeated payments.
Do I have to buy Shadowrocket again after changing devices or reinstalling it?
On iPhone or iPad, sign in with the original purchasing account, find Shadowrocket in the App Store's purchased apps and download it again. The iPhone and iPad version costs $2.99 as a one-time App Store purchase; versions for Mac, Windows, Android and Linux are free and can be downloaded again from this site's download page. If the store still shows a purchase button, check the account, storefront and purchase history before paying again. Redownloading the app does not guarantee that your settings will be restored, so back up your existing configuration before switching devices.
Can I install Shadowrocket on iPad, and does the iPhone purchase cover it?
Yes. iPad uses the same Shadowrocket app. Sign in with the same purchasing account to redownload it on iPhone or iPad from your purchased apps. There are two pricing tiers: the iPhone and iPad version costs $2.99 as a one-time App Store purchase; versions for Mac, Windows, Android and Linux are free. Check the App Store product page for iPhone and iPad system requirements. Check VPN permissions, the active Config and the selected server on each device separately; a shared purchase does not sync connection status or local settings.
Install and launch
Choose the right system and chip, then verify the download source. Handle system warnings individually; do not disable protection altogether.
See steps to allow installation →Can I use Shadowrocket on a computer or Android device?
Yes. The iPhone and iPad version costs $2.99 as a one-time App Store purchase; versions for Mac (Apple silicon and Intel), Windows, Android and Linux are free. Choose your platform in this site's download guide. Desktop and Android installers are available from this site's /dl/shadowrocket/ path. If the system blocks the first installation, verify the download source and package type, then follow the relevant steps in these FAQs. Permission settings vary by platform. Before importing, you will need your own subscription or server details.
Which Mac version should I choose: Apple silicon or Intel?
Open About This Mac from the Apple menu. If it lists Chip and an Apple chip name, choose the Apple silicon version. If it lists an Intel processor, choose the Intel version. The download page provides two matching installer buttons, so there is no need to guess based on your Mac's appearance or purchase year. After downloading, open the DMG and move Shadowrocket to Applications. If you see an unverified developer warning on first launch, confirm the file came from this site, then look for Open Anyway under System Settings → Privacy & Security.
Windows or Mac blocks the first launch. What should I do?
First, confirm the installer came from this site's download page. If Windows SmartScreen appears, verify the file source, then select More info → Run anyway. If your device is managed by an organization, contact its administrator. If Mac says the developer cannot be verified, go to System Settings → Privacy & Security and select Open Anyway. If the app is reported as damaged, confirm it is in Applications, then run xattr -cr /Applications/Shadowrocket.app in Terminal and try again. Do not disable system protection globally.
What if Android or Linux says I don't have permission to install?
On Android, first confirm you are using the arm64 installer provided on this site. When prompted, allow the browser or file manager currently opening the file to install unknown apps; you can turn off this permission after installation. On Linux, choose deb, rpm or AppImage for your distribution. Install deb and rpm packages with the system package manager. For AppImage, grant execute permission before launching it. If the system reports an architecture or dependency mismatch, choose a compatible package instead of repeatedly escalating permissions.
The app interface is in English. How do I follow the guide?
This guide keeps interface labels in English so you can match them directly. Check server and connection status in Home, confirm the configuration file in Config and review settings in Settings. Use Add Server to enter server details; Subscribe relates to an existing subscription. Check the glossary if you need help with terminology. Protocol names are not server addresses. Layouts may differ between systems and app versions, so follow the options shown on your device; you do not need to change connection settings to match a screenshot.
Subscriptions and server imports
Separate three stages: retrieving the link, parsing its contents and connecting to a server. Keep the original details so you can compare results instead of repeatedly deleting them.
Read the step-by-step guide →An existing subscription won't import. What should I check first?
Make sure you copied the full subscription URL, not a management page, explanatory text or truncated address. Preserve its original parameters and check for spaces, line breaks and encoding issues. Then open the add menu in Home, select Subscribe and try again. Separate errors into two types: the link cannot be fetched, or its contents cannot be parsed. For fetch errors, check your basic network connection and whether the link is valid. For parsing errors, check the format of the returned content. A page opening in a browser does not mean it contains a valid subscription. If needed, ask the original provider to confirm the format. Never share a full link containing credentials.
How do I update a subscription? Will manually added servers change too?
In Home, find the relevant subscription group and use its update action to refresh it manually. Wait for the update to finish, then review the entries. An update refreshes content returned by that subscription; it does not sync manually entered details. Note the selected server before updating. Afterwards, check whether it is still listed and whether any duplicate names appeared. If a server keeps the same name but its address or parameters change, its connection behavior may change too. Do not assume settings are unchanged based on the name alone, and avoid importing the same link repeatedly.
The list is empty after a subscription update. Should I delete it and add it again?
Keep the existing records for now; do not delete the whole group immediately. Confirm the update completed successfully, then check the subscription URL, its availability and the returned content. An empty list may mean the valid response contains no entries, the format is incompatible or the update failed. Distinguish the app's old cache from the result fetched this time, and ask the original provider to confirm the link's status. If you kept an earlier configuration, use it for comparison, but do not assume its entries still work. Record only the error type during troubleshooting, and hide credentials in links before sharing screenshots or feedback.
A server added through Add Server times out. Which settings should I check?
Compare each field with your own server details. First check Type, address, port and authentication, then review TLS, server name and transport fields. Shadowsocks, VMess, VLESS and Trojan use different fields; do not apply settings for one protocol to another. Save and test the individual entry before connecting. Connectivity Test results are diagnostic clues, not proof that every request will work. If only this entry keeps timing out, check server reachability and server-side settings rather than changing all your rules first.
What's the difference between a subscription and Config? Is importing one enough?
A subscription generally retrieves and updates server entries. A Config file can contain settings for rules, DNS and policies; they are different types of content. After importing a subscription, check which Config is active and whether Global Routing behaves as expected. Importing a Config does not mean it includes usable server details. Back up the old file before replacing a Config, and check whether its policy names match entries available locally. If something goes wrong, return to a known working state and compare changes one at a time.
Routing rules and troubleshooting
Check in this order: basic network, server, routing mode, rules and DNS. Connection icons and test results are only part of the evidence.
Open the troubleshooting guide →The connection switch won't turn on, or turns off immediately. What should I do?
First, select a server entry with complete settings. On the first connection, check whether the system asks to add a VPN configuration; you must approve it to continue. On iPhone or iPad, check the VPN configuration and device-management restrictions in Settings. Pause other connections using the VPN and try again. If authorization prompts keep appearing or the connection exits immediately, restart the app and device and note the exact message. Back up app data before deleting a system VPN configuration. On managed devices, check the organization's policies rather than clearing the configuration.
It says connected, but I can't access the internet. How can I narrow down the cause?
Turn off the connection and confirm the device's regular network works, then reconnect and test several different sites. Check Global Routing, the selected server and Config to determine whether all requests fail or only some domains. If everything still fails when temporarily testing with Proxy, check the server and protocol settings first. If the issue occurs only with Config, check rule matches, policy references and DNS. Change one variable at a time and record the result. The VPN icon shows tunnel status; it does not prove that a destination site is reachable.
Which Global Routing mode should I use: Config, Proxy or Direct?
For everyday rule-based routing, choose Config and confirm the active configuration meets your needs. Proxy sends requests through the selected proxy and is useful for short diagnostic comparisons. Direct is useful as a comparison for direct connections. Switching modes will not fix incorrect server settings or replace DNS checks. Test the same destination in each mode and record the results, then restore your intended mode. Proxy generally corresponds to what users call global proxy mode, but it does not guarantee access to every destination.
Only some domains are unreachable. How should I check DNS settings?
First confirm whether the issue affects only one domain and rule out a problem with the destination site. Then review DNS settings and the relevant rules in the active Config. Check that the resolver is reachable, the order in which domain and IP rules match, and which policy handles the request. If you recently changed DNS, restore the last known working settings for comparison. Do not change the resolver, rules and connection entry all at once. A successful Connectivity Test does not prove that every domain resolves correctly. Hide personal addresses, subscription credentials and browsing history before sharing logs.
Battery use increases after connecting. Which settings should I turn off?
Monitor system battery usage over time and consider actual data transfer, signal strength and background activity; do not judge by a short-term percentage alone. Continuous speed tests, verbose logging, frequent reconnects and unstable networks can all increase power use. Stop unnecessary tests first, then check whether On Demand is triggering repeatedly. Do not change protocol settings or delete DNS settings just to save battery. Compare the device on the same network with similar usage, and adjust one setting at a time once you confirm the issue is related to the connection.
The connection stopped working after an app or system update. What should I restore first?
First check whether the selected server, Global Routing and Config are still the same combination. Then check system VPN permissions and network status. Keep your existing configuration and error messages. Restart the app and run a minimal test with one known working entry, temporarily reducing interference from complex rules and automatic triggers. Do not update the app, update a subscription and replace Config at the same time, or it will be hard to identify the cause. If the issue occurs only on iPad, separately check its Wi-Fi, system authorization and local configuration; an iPhone test cannot confirm the iPad is configured correctly.
For a step-by-step process, continue with the guide
Start with the setup guide if this is your first configuration. If you can connect but routing does not behave as expected, check your settings first, then follow the troubleshooting guide. When describing the issue, note what you did, what happened and what still works. This is more useful than simply saying it doesn't work.