Official Manual · FAQ

Shadowrocket FAQ

Identify which step the problem occurs at, then open the relevant answer: check the account and storefront for purchases, the link and format for imports, authorization and server details for connections, and Global Routing and Config for traffic routing.

The import and connection instructions below assume you already have your own subscription or server details.

Tap a question to expand the answer. Before changing a configuration, keep a recoverable copy and change one thing at a time.

App Store / Purchase history

Verify the App Store listing and purchase

Check the product page and purchase account first. App availability, price, and compatibility are determined by the App Store listing.

Why can’t I find Shadowrocket in the App Store? What should I check?

Open the specified App Store product page from this site’s purchase guide, then determine whether Shadowrocket is missing from search results or unavailable in your current storefront. Check the Media & Purchases account on your device and the country or region associated with it. Refer to the App Store listing for system requirements. To change your region, go to Settings, then your Apple Account, Media & Purchases, View Account, and Country/Region. Review the listed balance, subscription, and payment-method requirements before following Apple’s instructions.

How can I verify that an App Store listing is the genuine Shadowrocket app?

Check that the product name is Shadowrocket, the developer is Shadow Launch Technology Limited, and the product page URL contains app ID 932747118. Compare its icon with the official icon shown on this site. Don’t rely only on a translated nickname or search ranking. Check compatibility, price, and the purchase button on the App Store page. If any details don’t match, return to this site’s purchase guide and reopen the specified listing. Don’t proceed with a purchase until you’ve verified the details.

Does buying the app mean I can connect right away?

A one-time app purchase is not a service plan. It gives you access to the Shadowrocket app; connecting still requires your own subscription or server details. The US storefront price is about $2.99. Prices in other storefronts are shown in local currency; the amount charged is the one shown at App Store checkout. This guide covers importing and managing your existing configurations, rules, and settings. It does not provide, sell, or recommend servers or subscriptions. Before importing, check the validity period, connection details, and permitted use of your existing service.

Do I need to buy Shadowrocket again after changing or restoring my device?

On the App Store, sign in with the account used for the original purchase, open your purchased items, and download Shadowrocket again. Availability and device compatibility depend on the App Store listing. If the page still shows a price, first check that the Media & Purchases account is the same one used to buy the app, then review your purchase history. Don’t pay again until you’ve checked. Restoring the app and restoring its configuration are separate: restore server details, Config, and other settings from a backup you kept or through a sync method you previously enabled.

Home / System authorization

Installation and first launch

Check device compatibility and complete system authorization before troubleshooting connection details.

I bought Shadowrocket on iPhone. Can I install it on iPad?

Shadowrocket is available for iPhone and iPad. On your iPad, check the App Store account used for the purchase, then look in your purchased items or open the specified product page to see whether a redownload option is available. Compatibility, system requirements, and eligibility for a universal purchase are determined by the App Store listing. After installation, check whether your existing configuration has synced; downloading the app does not restore its configuration. Check the same listing for compatibility with Mac, Apple TV, and Apple Vision.

What should I do when I’m prompted to add a VPN configuration on first connection?

This is a system authorization step that lets the app create a VPN connection configuration. It does not import a subscription or purchase a service. First, make sure the prompt was initiated by the Shadowrocket app you’re using, then confirm or authenticate as required by the system. After authorizing, return to Home and check the selected server and connection switch. An entry in the system VPN list only means the connection configuration was created; it doesn’t confirm that the server is usable. If you previously denied or deleted the entry, try connecting again from the app and complete the system prompt.

What if the connection switch on Home won’t turn on or switches off right away?

First determine whether system authorization is incomplete or the connection starts and then immediately stops. Make sure a valid server is selected, complete the initial VPN configuration authorization, and temporarily stop any other active VPN connections before trying again. If the switch still turns off immediately, check that all required server fields are filled in and whether device management policies restrict VPN use. On a managed device, ask your administrator. Keep the error message and check Log. Don’t rapidly toggle the switch or repeatedly delete all configurations to try to fix the issue.

The app interface is in English. Where should I start?

This guide keeps interface labels in English so you can match them directly to the app. Check servers and the connection switch on Home, add your existing server details with Add Server, view the active configuration in Config, review preferences in Settings, and check usage statistics in Data. To change the display language, check whether the app has a language option in the system Settings; available options depend on your device and app. Don’t change protocol fields because of a language difference. Use this site’s glossary to check what each screen is for.

Add Server / Subscribe

Subscription and server imports

A successful import, a successful update, and a successful connection are separate steps. Troubleshoot the stage where the error occurs.

When a subscription import fails, should I check the link or the server first?

Check the subscription link first, then the import result. Use the complete link from your existing service and make sure copying it didn’t add spaces, line breaks, or punctuation from a messaging app. Check whether the link has expired or requires a particular network. An import error and a server that won’t connect after import are different issues: for the former, check that the link is reachable and its content is correctly formatted; for the latter, check the server details. Subscription links may contain access credentials. Don’t post them publicly or include the full link in a support screenshot.

How can I update an existing subscription without creating duplicate entries?

Find the imported subscription on Home and use its update action instead of repeatedly adding the same link as a new subscription. Before updating, note the currently selected server and keep any standalone entries you maintain manually. Afterward, check the server list, selection, and connection status. Subscription contents come from your existing service, so names, counts, and settings may change. If the update fails, keep the original entry and review the error before deleting any configuration you may need for comparison.

What are Add Server and Subscribe for?

Use Add Server to create a connection entry: select the appropriate type and enter your existing server details. Use Subscribe to retrieve and update a group of server entries from a subscription URL. If you have details for a single server, such as its address, port, and credentials, enter them according to its protocol; don’t treat a server address as a subscription URL. If you already have a subscription URL, keep the complete original link and check the import result. Server entries hold connection details, while rules in Config determine how requests are routed. They serve different purposes.

Why can’t I connect after Scan QR Code succeeds?

A successful scan only means the QR code could be read; it doesn’t mean the server details are still valid. Check the detected protocol, address, port, credentials, and any protocol-specific settings such as TLS and transport. Use your existing server details and the fields shown in the app as the reference. Make sure the entry is saved and selected on Home before testing the connection. Matching names don’t guarantee matching settings. QR codes and shared links may contain credentials, so hide sensitive details in screenshots.

Global Routing / Config / Log

Rules and troubleshooting

Keep the test destination the same, then compare the mode, rules, and DNS results in sequence. Don’t treat one test as conclusive for all requests.

How do I choose Config, Proxy, or Direct in Global Routing?

Config applies the rules in the currently active configuration to determine how requests are routed. Use it for everyday traffic once you’ve checked the rules. Proxy sends requests through the selected proxy and can help test whether a server can handle a particular request. Direct sends requests over a direct connection and doesn’t test the proxy server. When troubleshooting, change one mode at a time and test the same destination. If Proxy works but Config doesn’t, check which rule matched and which policy it uses before changing all your server details.

The app shows connected, but webpages won’t load. What should I check, and in what order?

Check your local network, server, Global Routing mode, DNS, and rules—in that order. Disconnect and confirm that the underlying network works, then verify the selected server and its credentials. Compare Proxy and Config using the same destination. Next, check for DNS failures and which rule matched the request. A connected indicator only means the system established a connection; it doesn’t guarantee that every request will succeed. Change one thing at a time and note the result. If needed, compare Wi-Fi and cellular data without changing several settings at once.

Why aren’t my Config rules routing traffic as expected?

First make sure Global Routing is set to Config and that you edited the Config file currently in use. Rules are generally checked in order; an earlier, broad match can prevent later rules from taking effect. Also check that the policies referenced by the rules are valid. A domain rule doesn’t replace checking the destination IP. Use Log to confirm the actual destination and matched rule, then adjust the specific rule. FINAL handles requests that haven’t matched an earlier rule, so place it after the specific rules that need to be checked.

How can I check whether DNS is causing the problem?

Note the current DNS settings. Check whether the issue affects one domain or several destinations, then look in Log for resolution failures or timeouts. Check whether the active Config sets dns-server and whether the specified resolver is reachable on your current network and route. Don’t change DNS, server details, and rules at the same time. After each change, make a new request to the destination and compare the results. A browser showing an old page doesn’t mean DNS is working; cached results can affect comparisons, so check the log for a new request.

Does a successful Connectivity Test mean every website will open?

No. A Connectivity Test result applies only to its current method and destination; it doesn’t replace testing a real request. A basic connectivity or Ping result doesn’t fully verify authentication, TLS, DNS, or rule-based routing. First check which server the test targets, then compare it with the destination you actually need to reach. If the test succeeds but a webpage doesn’t load, check that request in Log and review the matched rule. If the test fails, check whether its target is reachable before deleting the server based on a single result.

Battery usage increases when Shadowrocket is on. What should I check?

Compare the system battery report with similar usage durations and network conditions. Consider continuous data transfer, weak signal, frequent reconnections, and diagnostic logging. Stop any continuous tests you don’t need, check whether detailed Log has been left enabled, and see whether On Demand repeatedly triggers as the network changes. Don’t judge battery use by background time alone; a VPN connection may remain active. Compare battery use and connection stability after changing one setting at a time. Avoid deleting configurations or changing several settings at once, since that makes the results hard to explain.

Could On Demand be causing the connection to restart after I disconnect manually?

Possibly. On Demand can start a connection when its configured network conditions are met, so it may reconnect after you disconnect if those conditions apply again. Check whether On Demand is enabled and review its conditions in Settings, then check the related status in system VPN settings. Available options depend on your device and the app. To troubleshoot automatic connections, temporarily disable the relevant conditions and observe what happens; you don’t need to delete the server first. Once the behavior is clear, restore the conditions that fit your network usage.

What information should I include when asking for help, and what should I hide first?

Keep the network type, Global Routing mode, steps taken, error message, and a small amount of Log relevant to the request that failed. Say whether the problem is an import failure, a connection that won’t start, or an access issue after connecting; this is more useful than simply saying it doesn’t work. Before sharing, hide the full subscription URL, credentials, QR codes, and anything that could identify your account. Redact server details as needed. Don’t share a complete configuration backup; provide only the smallest relevant excerpt, with access credentials removed.