Shadowrocket FAQ
Browse questions about purchases, first launch, importing existing subscriptions, and connection issues. Find the relevant question and follow the steps in order. Change one setting at a time, and keep a copy of the original configuration and any error messages.
Verify the app and buy on the App Store
Check the App Store listing and purchase account before troubleshooting price, compatibility, or redownloading. Purchase history and connection settings need to be checked separately.
Can't find Shadowrocket in the App Store? What to check first
Open the App Store product page from this site's download page and check whether the store is unavailable, your device is incompatible, or the app is missing from search results. Then check the country or region for your App Store account; storefront availability depends on the account's region, not just the device language. To change it, go to Settings → Apple Account → Media & Purchases → View Account → Country/Region and follow the on-screen instructions for your balance, subscriptions, and payment details. Check the App Store listing for availability and system requirements.
How can I verify that the app in the App Store is the genuine Shadowrocket?
Check three details on the product page: the app name is Shadowrocket, the developer is Shadow Launch Technology Limited, and the product page URL includes id932747118. Also compare the icon with the official icon shown on this site: a rocket with a blue-purple outline on a white background. Don't rely on the name or search ranking alone. The three verification details are the developer, official icon, and app ID 932747118. If any detail doesn't match, return to this site's download page, reopen the product page, and verify it before purchasing.
What does the one-time purchase include, and what else do I need?
Shadowrocket is a paid, closed-source app sold on the App Store. The purchase covers use of the app—not a server plan. Before setup, you'll need your own subscription or server details; contact your provider for the required parameters. The US storefront price is about $2.99; prices vary by storefront, and the App Store listing shows the current price. This site covers app usage and does not provide, sell, or recommend servers or subscriptions.
Do I need to buy Shadowrocket again after changing or resetting my device?
First, make sure the Media & Purchases account on the new device is the same account used to buy Shadowrocket. Then find the app in your account's purchase history and download it again. Menu names may vary by system version. If the product page still shows a price, check the account, purchase history, and current storefront before paying again. Restoring the app and restoring its configuration are separate: reinstalling doesn't necessarily restore subscriptions, server details, or config files. Back up your data separately before moving devices.
Can I install Shadowrocket on iPad? Where can I check other Apple devices?
Open the same App Store product page on iPad and check compatibility and purchase status before downloading. If the app is already in your purchase history, first check whether you can redownload it. This guide focuses on iPhone and iPad. Check the same product page's compatibility section for Mac, Apple TV, and Apple Vision support. Refer to the App Store listing for system requirements and Universal Purchase availability; don't assume that a purchase on one device means the app can be installed on every device.
See how to verify the app → · Read about restoring a purchase →
Installation and first launch
Adding a VPN configuration, selecting a server, and connecting are separate steps. Check where you are in the process before continuing.
How should I handle the Add VPN Configuration prompt on first connection?
On Home, select a server you've already configured, then turn on the connection. When iOS prompts you to add a VPN configuration, confirm that the prompt came from the Shadowrocket you just opened, then allow it and complete any device verification requested. Return to the app and check whether the connection status changed. This permission creates a system network configuration; it doesn't fill in server addresses, passwords, or protocol settings. If the connection still fails after authorization, check your existing server details instead of repeatedly approving the same prompt.
The connection switch won't turn on or turns off immediately. What should I check?
First, check that Home has a usable server selected and that you've completed the initial VPN configuration authorization. In Settings, search for VPN and check whether a Shadowrocket configuration exists. Also check whether another VPN connection is active; disconnect it while testing. If the device is managed and can't add VPN configurations, ask the device administrator about the restriction. Note any error shown when the switch turns off, then check the server parameters. Don't start by deleting all configurations or resetting network settings.
I accidentally denied or deleted the VPN configuration. How do I authorize it again?
Return to Shadowrocket and disconnect. Turn on the connection switch on Home and check whether the system authorization prompt appears again; follow it to complete verification. If it doesn't appear, fully quit and reopen the app, then search for VPN in Settings to check for an old configuration. Verify the configuration name before deleting it so you don't affect other connections on the device. Recreating the VPN configuration won't restore subscription data and doesn't require buying the app again; check the server details separately.
The interface is in English. Where are Home, Config, Data, and Settings?
Use Home to view your server list, current selection, and connection switch. Open Config to check rule files, Data to view request and traffic logs, and Settings to find app options. This guide keeps interface labels in English so you can match them directly. Note that Config under Global Routing applies rules to requests; it is a different entry point from the Config page used to manage configuration files.
After installing Shadowrocket, how can I tell if basic setup is complete?
Check that the server you imported appears on Home and select it. Choose a suitable mode under Global Routing, then connect and complete VPN authorization. Verify the result in two separate ways: a connected status means the system connection is established; opening the site you need and seeing a request in the log confirms that the request was handled. If VPN status appears but the site still fails, setup isn't complete. Check server availability, rule selection, and DNS.
Import subscriptions and servers
These steps assume you already have your own subscription or server details. When importing, updating, or transferring data, check separately that the data was fetched, entries appeared, and the correct item is selected.
How do I import an existing subscription link, and how can I tell it worked?
Get your complete subscription link from your provider. On Home, tap the plus button to open Add Server, choose Subscribe, enter the URL, and optionally add a name to identify it, then save. Return to Home and wait for the subscription to load. Confirm that server entries appear under the corresponding group; saving a subscription name alone doesn't mean the import succeeded. The link may contain access credentials. Copy it carefully, including all query parameters, and never post the full link publicly or in a screenshot.
Subscribe import failed or the list is empty. What should I check first?
Check that the URL is complete, especially the beginning, end, and query parameters. Remove any spaces, line breaks, or quotation marks introduced during copying, then make sure the device's network can reach the address. Check the app's fetch or parsing error: a failed request and an unsupported content format require different fixes. Ask your provider whether the link is still valid and whether its response supports Shadowrocket. Don't use a website login URL as a subscription URL or keep adding the same subscription before identifying the cause.
How do I update an existing subscription? Do I need to select a server again afterward?
Find the existing Subscribe group on Home and use its update action to fetch the latest content. The exact control may vary by app version. After updating, check for changes to the server list and confirm that your selected entry still exists. If it was removed or its parameters changed, select a server again and test it. Updating a subscription refreshes the data returned by that link; it doesn't replace the rule file in Config. If the update fails, note the error and check the URL and network before deleting your only known working configuration.
I have server parameters but no subscription link. What should I enter?
On Home, tap the plus button to open Add Server. Choose the protocol used by your server, then enter the address, port, and authentication details provided by your service provider. Shadowsocks, VMess, VLESS, Trojan, Hysteria2, and other protocols require different fields; the port alone doesn't identify the protocol. Enter TLS, SNI, and transport settings exactly as provided, preserving capitalization. Save the entry, check its details, and run a connection test. If information is missing, ask your provider rather than guessing to get past validation.
Why didn't my subscription or configuration appear automatically on another device?
App Store purchase history lets you redownload the app; it doesn't mean all app data syncs across devices. On the original device, check whether you have a restorable backup of the subscription URL, manually configured server details, and current Config file. Then check what was actually imported on the new device. Subscriptions and rule configurations may need to be transferred separately; restoring one doesn't replace the other. Exports may contain passwords or access credentials, so save them somewhere you control. After importing, verify the selected server and configuration before connecting.
Routing rules and connection troubleshooting
Keep the network and test destination consistent. Narrow down the issue in this order: server, routing mode, rules, and DNS. Verify the connection indicator separately from the actual access result.
How do I choose between Config, Proxy, and Direct in Global Routing?
For everyday rule-based routing, choose Config and make sure the correct rule file is selected on the Config page. To check whether requests can go through the selected server, use Proxy as a comparison. To test direct access, switch to Direct. These modes determine how requests are routed; they don't fix incorrect server parameters. Keep the site and network conditions the same during comparisons, change one setting at a time, and note the results. When troubleshooting is complete, switch back to the Config mode you need.
Shadowrocket says connected, but web pages won't load. What should I check first?
Disconnect Shadowrocket and confirm the device's underlying network works, then reconnect and check the selected server on Home. Review Connectivity Test results and failed requests in Data to distinguish an unreachable server from a DNS resolution failure or a routing rule issue. Then test the same page with Config and Proxy under Global Routing to see whether the issue is related to rule handling. A connected status only confirms that the system connection is established; it doesn't guarantee that the remote server, DNS, or every request path is working.
My custom rules aren't taking effect. How do I check the match order?
Make sure Global Routing is set to Config, then open Config and confirm that the selected file is the one you edited. Check the Rule section from top to bottom: a broad rule near the top may match first, preventing a more specific rule below it from being used. Put FINAL at the end to handle requests that didn't match earlier rules. Also check that PROXY, DIRECT, and REJECT are set as intended. Back up the file before editing, change one rule at a time, and verify the results in request logs rather than relying on whether the file saved.
How can I troubleshoot a suspected DNS issue with minimal changes?
Keep a copy of the current configuration. Check the relevant records in Data to confirm whether the failure occurs during domain name resolution, then review the DNS address and resolution path used by the current configuration, along with any domain-specific override under Host. If you recently changed these settings, restore them one at a time to their last known working values and test the same domain again. Cached results may affect what you see; disconnect and reconnect if needed. Don't add several DNS settings found online at once, or it will be difficult to tell which change affected the result.
Shadowrocket is using more battery in the background. Should I use On Demand?
Check the relevant period in the Battery section of Settings, then distinguish continuous traffic from frequent reconnects or simply maintaining a connection. In Shadowrocket, check whether the On Demand conditions match your actual network use; frequently switching between trigger and exit conditions can cause repeated connections. Enable On Demand when you need connections to start under specific conditions, then observe what happens when the screen locks or the device switches between Wi-Fi and cellular. Keep other settings unchanged while testing. On Demand isn't a general battery-saving switch and doesn't replace checking for unusual traffic or repeated failures.
See the Rule reference → · Read about On Demand and battery use →