OFFICIAL MANUAL / FAQ
Shadowrocket FAQ
Check each step from purchase to connection to find where things went wrong.
This is the Shadowrocket Manual. Choose a topic, then expand a question to see the answer. Before troubleshooting, note your current network, selected server, Global Routing mode, and any error message. Change one thing at a time.
01 / PURCHASE
Verify and buy the genuine app
Verify the app and purchase account first, then check pricing, purchase restoration, and device compatibility.
Can't find Shadowrocket in the App Store? Check these things first.
First, make sure you’re searching for Shadowrocket, then open the specified App Store product page from the app verification guide. If the app isn’t available in your current region, check the country or region for the Apple Account used for Media & Purchases; it may differ from the account signed in elsewhere on your device. To change it, go to Settings, tap your Apple Account, then Media & Purchases, View Account, and Country/Region. Follow Apple’s instructions for any balance, subscriptions, and payment details. Availability depends on what the App Store currently shows. Don’t rely on search results alone to verify the app.
How can I verify that the app in the store is the genuine Shadowrocket?
On the App Store product page, check these three details: the app name is Shadowrocket, the developer is Shadow Launch Technology Limited, and the page URL contains id932747118. Then compare the app icon with the official icon in this site’s header: a white background with a blue-purple outlined design. A similar name isn’t enough; verify the developer and app ID. Search ranking doesn’t prove an app’s identity. Before buying, review the price, compatibility, and App Store description. Once all three details match, buy and install from that product page.
Does buying the app include a service you can connect to?
A one-time app purchase is not a service plan. Buying Shadowrocket gives you the right to use the app; connecting requires your own existing subscription or server details. This site does not provide, sell, or recommend servers or subscriptions. The US storefront lists the price as $2.99; other storefronts show local currency, and the App Store page is the source of current pricing. Before importing anything, make sure you have your own connection details. An empty server list doesn’t mean the purchase failed, and you don’t need to pay again for the same app.
Do I need to buy Shadowrocket again when I get a new iPhone or reinstall it?
You can usually find Shadowrocket in your App Store purchase history or app list using the Apple Account you originally used, then tap the cloud icon to download it again. First, make sure the account signed in under Media & Purchases is the one that made the purchase, then check your purchase history. If the page still shows a price, don’t pay yet; verify the account, storefront, and product identity. Redownloading the app doesn’t restore all local settings. Save subscriptions, rules, and server details from your old device separately, then check what’s restored on the new one.
Can I use the same App Store product on iPad, Mac, and Apple TV?
Shadowrocket is primarily used on iPhone and iPad. Mac, Apple TV, and Apple Vision are also listed in the compatibility section of the same App Store product page. Open the product page on your target device to check compatibility, system requirements, and purchase status; system requirements are always as listed on the App Store page. Check the page and your account to see whether purchases can be restored across devices or Family Sharing is available. This manual focuses mainly on iPhone and iPad; touch-based steps may not apply to other devices.
02 / FIRST OPEN
Install and launch for the first time
Understand empty lists, system permission prompts, and layout differences between devices. Installing the app doesn’t mean your connection details are ready.
Why is there no server in Home after the first launch?
An empty list after installation means no connection details have been added yet; it doesn’t indicate an installation problem. First identify what you have: a single server link, a QR code, a subscription URL, or a configuration file. Then choose the matching import option. Add a single server manually through Add Server or use a supported import method; subscriptions use a Subscribe option. Use details from a service you already have. After importing, check the server name, type, and required parameters before running Connectivity Test. Don’t keep toggling the connection switch when no details have been added.
What should I do if a VPN configuration permission prompt appears when I connect for the first time?
When Shadowrocket connects for the first time, iOS may ask to add a VPN configuration. This system permission lets the app create the corresponding network connection on your device. Make sure the request was initiated by the Shadowrocket app you just opened, then follow the prompt to allow it and complete device authentication. If you dismissed the prompt, return to the app and try connecting again. If needed, check the status in Settings under VPN configuration management. Don’t remove work or school configurations you don’t recognize. After granting permission, you still need to select a working server; approval alone doesn’t mean the remote connection is available.
The app is in English. Which menu items should I know first?
This manual keeps the interface labels in English so you can find each item. Home shows servers and connection status; Add Server adds a server; Config manages configuration files; Settings contains app settings; Data shows related data. Global Routing controls how traffic is handled, Subscribe is for subscriptions, and Connectivity Test checks the connection. Look for the menu label rather than relying on a button’s position. Layouts may vary by device and app version, so follow what you see in the app.
What should I check when using Shadowrocket on an iPad for the first time?
On your iPad, check the original purchase account and app compatibility in the App Store before downloading. Lists, sidebars, and landscape layouts may differ from iPhone, but you can still find items by labels such as Home, Config, and Settings. First-time connections also require VPN configuration permission, and you’ll need your own subscription or server details. Don’t assume local settings from another device will appear automatically; check the server list, current configuration, and Global Routing. If Shadowrocket works on your iPhone but not your iPad, compare the network and configuration on both devices.
03 / SUBSCRIPTION
Subscriptions and server imports
Identify the type of details you have, then check the import option, returned content, and update results. Don’t share information that contains credentials.
What’s the difference between a subscription URL, a server link, and a configuration file?
A server link usually describes one connection, such as a link beginning with ss://, vmess://, vless://, or trojan://. A subscription URL typically retrieves a refreshable server list. A configuration file may include rules, policies, and DNS settings. These serve different purposes; being copyable text doesn’t make them interchangeable. Identify the type of information you have and check that it’s in a format the app supports, then choose the corresponding import option. After importing a server list, check the active configuration too. Updating a subscription generally doesn’t update all rules and DNS settings.
An existing subscription won’t import. What should I check, and in what order?
First, make sure you copied the complete subscription URL—not an introduction page, sign-in page, or individual server link. Check for extra spaces, line breaks, or punctuation at either end. Then check whether your current network can reach the URL and whether the app reports a request failure, empty content, or an unsupported format. A URL that opens successfully may still return something other than a valid list, such as a login page or error message. Keep the original details and note the error, then ask the provider of your existing service to confirm the URL and format. Repeatedly pasting it won’t fix an invalid response format.
My Shadowrocket subscription didn’t change after updating. What should I do?
Make sure you updated the intended subscription group, not another entry with the same name. Then check whether the update completed and whether an error appeared. If the update succeeded but the name stayed the same, the remote list may simply be unchanged; compare the actual entries and connection parameters rather than relying on names. If the list is empty or has fewer entries after an update, keep any usable details you still have and check the subscription response and service status. Don’t delete the entire group right away. Finally, check which server is selected: updating the list and changing the current selection are separate things to verify.
Why can’t I connect after importing from a QR code or clipboard?
Scan QR Code and clipboard import only enter connection details; they don’t verify that the remote service works. After importing, open the server entry and check the protocol, address, port, and authentication details. If the original details include TLS or other options, make sure those match too. A QR code may contain just one server, not a refreshable subscription, so the absence of a subscription group doesn’t necessarily indicate an error. Confirm the entry is complete, run Connectivity Test, and check actual access. Don’t disable security settings you need just to make a test pass.
Can I share my subscription URL or configuration screenshots when troubleshooting?
Subscription URLs may contain tokens, and server details may include passwords, identifiers, or other credentials. Treat them as sensitive. Before asking for help, redact authentication details from the full URL, QR codes, and server fields. Share only the protocol, error message, steps that led to the issue, and any necessary non-sensitive settings. Logs may also contain visited domains and network details, so review them before sharing. Use clearly fake values such as example.com in public examples. If a real subscription URL has been exposed, use the management portal for your existing service to revoke or replace it, then update the details on your devices.
04 / ROUTING & DIAGNOSTICS
Rules & Routing and Troubleshooting
Narrow down the cause in order: basic network, connection details, Global Routing, rules, and DNS. Avoid changing several things at once.
Which Global Routing mode should I use: Config, Proxy, or Direct?
Config follows the rules in your current configuration and is suitable for everyday use when you have routing rules set up. Proxy sends traffic through the selected proxy policy, which can help isolate rule-related issues during troubleshooting. Direct sends traffic over a direct connection. These modes change how traffic is handled; they won’t fix a broken server or fill in missing parameters. Check the current configuration and selected server first, then compare the results for the same destination in each mode. Restore your intended mode after testing so a temporary troubleshooting setting doesn’t become your permanent setup.
The connection switch won’t turn on, or turns off right away. What should I do?
First distinguish incomplete system authorization from a connection that starts and then stops. If authorization wasn’t completed, check whether you dismissed the prompt to add a VPN configuration. If the connection exits after starting, check the app’s error message and the current server parameters. Temporarily stop any other VPN connections on the device and try again. If the device is managed by an organization, an administrator may need to address restrictions. Then check that the current configuration can be read and a server is selected; try restarting the app or device if needed. Change one setting at a time and note the message shown before the switch turns off. Don’t start by deleting all configurations or resetting the device’s network settings.
It says connected, but I can’t access the internet. The latency test passes—is that still possible?
A connected status or successful Connectivity Test alone doesn’t guarantee that websites are reachable. Disconnect and confirm the device’s basic network works, then reconnect and test more than one destination. Next, check Global Routing, the selected server, and which policy is actually being applied. If only domain names fail, focus on DNS. If all requests fail, check server authentication, port, transport settings, and remote service status. You can temporarily switch to Proxy and compare the result with Config to check whether rules are involved; restore your settings after testing. Keeping the error message is more useful than switching between multiple servers repeatedly.
Only some domains won’t load. How can I tell whether it’s a rules issue or DNS?
On the same network and server, compare access in Config and Proxy. If the results differ, check whether the destination domain matches the expected rule. Rules are generally matched from top to bottom, so check whether a broader DOMAIN-SUFFIX or another rule matches first, and whether FINAL is at the end. If you see a name-resolution error or the domain can’t be resolved to an address, check DNS settings in the current configuration and confirm they’re reachable. Don’t treat entering an arbitrary destination IP in a browser as definitive; HTTPS certificates and site hosting can affect that test.
Battery usage increased after I enabled On Demand. What should I check?
On Demand triggers connections under specified conditions; it isn’t a fixed battery-saving switch. First check battery usage for the relevant period in system settings. Then look for frequent reconnects, unstable signal, heavy background traffic, or overly frequent tests. If the change began when you enabled On Demand, temporarily turn it off and compare usage under similar network and usage conditions. Note whether connections repeatedly start. App usage statistics and the system’s battery attribution measure different things, so a single percentage doesn’t directly show extra battery drain. If the problem continues, keep any relevant error details from the logs.