Official Handbook / FAQ

Shadowrocket FAQ

First identify whether the issue is with a purchase, permission, import, or connection, then check the relevant settings. Change one condition at a time, and keep your original configuration and error messages for comparison.

View the getting started steps

APP STORE / PURCHASE

Purchases and authenticity

Check the product and purchase account first, then look into App Store availability and restoring purchases.

Can't find Shadowrocket in the App Store? What to check first

Make sure you’re searching for Shadowrocket, then open the App Store product page from this site’s purchase instructions. Verify the developer, Shadow Launch Technology Limited, the official icon, and app ID 932747118. If the product page says the app isn’t available in your region, check the country or region for the Apple Account used for Media & Purchases—not just your device language. Availability depends on the current storefront. Changing search terms repeatedly won’t affect what that storefront offers. Don’t mistake a similarly named app for Shadowrocket.

Do I need to buy Shadowrocket again when I get a new device or reinstall it?

Sign in to the App Store with the Apple Account used for the original purchase. Find Shadowrocket in your purchased items or app list, then use the redownload option shown on the page. If you see a price instead, check your purchase history, the account currently used for Media & Purchases, and the app ID before paying again. Restoring the app and restoring its data are separate: redownloading doesn’t guarantee that server details, subscriptions, or Config will return automatically. Save any settings you need before switching devices, and keep credentials secure.

What does the one-time purchase include? Does it include a connection service?

Shadowrocket is a paid client; the purchase covers the right to use the app. A one-time app purchase is not a service plan. To connect, you’ll still need your own subscription or server details. Prices, currency, taxes, and purchase terms are shown on the App Store page. This site doesn’t provide, sell, or recommend servers or subscriptions. For purchase issues, check your App Store purchase history. To check the validity period, data allowance, or authentication for a service you already use, consult that service’s details. These are separate matters.

The App Store region doesn’t match. Where should I check my account?

On your device, open Settings and go to your Apple Account. View the account for Media & Purchases and check its country or region and the account currently signed in. You can also check your purchase history from your App Store account page. If you need to change your region, use the country or region options provided by your Apple Account and review any conditions shown, such as balance, subscriptions, or payment methods. Don’t repeatedly change regions just to troubleshoot search results. App availability, purchase eligibility, and redownload options after a region change are subject to the App Store page.

Read next: Verify the app and purchase it →

INSTALLATION / PERMISSION

Installation and first launch

Check device compatibility, system VPN permission, and server connectivity separately.

Can I install Shadowrocket on iPad? How do I check compatibility with other Apple devices?

Shadowrocket is primarily for iPhone and iPad. On the iPad you want to use, open the same App Store product page and check its compatibility details, your purchase status, and whether a download button is available. For system requirements, refer to the App Store page. iPad layouts, including split views and landscape arrangements, may differ from iPhone. Use interface labels such as Home, Config, and Settings to find your way. Check the same App Store page for compatibility details on Mac, Apple TV, and Apple Vision. Purchase eligibility for other devices is subject to the App Store page.

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

This is a system permission prompt for creating a VPN configuration. It doesn’t mean the server details have been verified. First, confirm that the prompt was triggered by Shadowrocket after you initiated a connection. Follow the system instructions and complete any required device authentication. If you previously denied the prompt, return to the app and try connecting again. You may also need to grant permission again if the corresponding VPN configuration was deleted from the system. Then return to Home and check the selected server and connection status. Granting permission is only one step; it doesn’t verify network connectivity.

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

First, make sure you’ve selected a valid server entry and check whether a system VPN permission prompt is still waiting for a response. Then open the VPN page in system Settings and check for the corresponding configuration, another active VPN connection, or a device management policy that could prevent it from turning on. Save your current settings, keep only one VPN connection enabled for testing, then try again in Shadowrocket. If it still disconnects immediately, note the error and verify the server details. Don’t delete all configurations as a first step or confuse a system permission issue with a subscription import issue.

The interface is in English. How can I find the options mentioned in a guide?

The handbook keeps the app’s interface labels so you can match them directly: Home shows servers and connection status, Add Server adds an entry, Config manages configurations, Settings contains app settings, and Data shows statistics. If the system offers a language setting for the app, check the available options in device Settings. The options shown depend on your device and the app. Whatever the language, check protocol names and field meanings individually. Don’t rely on button positions alone, as layouts can vary by screen size.

Read next: First-time setup and connection checks →

SUBSCRIBE / ADD SERVER

Subscriptions and server imports

Check that your details are complete and valid before checking the format. Verify successful imports and connections separately.

An existing subscription won’t import. What should I check, and in what order?

First, make sure the link is complete, including query parameters and trailing characters, and that no spaces or line breaks were added when copying it. Confirm it’s a subscription URL from your service provider, not an account management webpage. Then check that your current network can reach the URL, that the subscription is still valid, and whether additional authentication is required. If you see an error, save its exact wording and ask the original provider whether the returned format is supported by Shadowrocket. Subscription URLs may contain credentials. Don’t share the full link or submit it to an unfamiliar conversion site while troubleshooting.

A subscription update failed. Should I delete the existing entry and import it again?

Don’t start by deleting the entry. Keep any records that still work, check the subscription URL, service validity, network access, and update error, then try updating from the subscription’s management options. An update may change the server list, names, or settings, so confirm the selected entry afterward. If the old URL has expired, replace it with the new one from the original provider and save any settings you need first. Updating a subscription is different from updating the app in the App Store; an app update generally won’t fix an expired subscription URL or authentication failure.

The subscription imported, but the list is empty or some servers are missing. What should I do?

Make sure the subscription group is expanded and check whether search or filters are active. The expected list may not appear if the response is empty, an authentication failure returned a webpage, or some entries use an unrecognized format. Check the subscription type and current status with the original provider, then review the update message. Don’t change protocol fields just to make the entry count match. First verify the original settings and format for the missing entries. A completed import only means the data was read; select a server and test the connection separately.

How do I check VLESS and other protocol settings when adding a server manually?

Use your own server details as the reference. Select the correct protocol, then check the address, port, and authentication fields. Don’t assume that fields for VLESS, VMess, and Trojan are interchangeable. Compare UUID, password, TLS, Server Name, and transport settings against the original details, one by one. Don’t infer whether TLS should be enabled from the protocol name, or treat the domain, path, and Host as interchangeable. After saving, run Connectivity Test for that entry before trying to access a destination. If the test fails, change one setting at a time so you can identify the cause.

Read next: Protocol and configuration terms →

GLOBAL ROUTING / DIAGNOSTICS

Routing rules and troubleshooting

Narrow down the cause by checking your local network, server, rules, and DNS in order. Restore your original settings when testing is complete.

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

Config follows the active configuration and rules to route requests. It’s suitable for everyday use when your rules are set up correctly. Proxy sends requests through the proxy behavior and can be useful for a brief comparison test. Direct sends requests directly. Switching modes won’t fill in missing server details or fix invalid credentials. Before troubleshooting, note the current mode, change only this setting, and try the same destination again. Restore the intended setting when you’re done. Proxy isn’t a universal fix for connection problems.

The app shows connected, but webpages won’t load. What should I check first?

Disconnect Shadowrocket and confirm that your current Wi-Fi or Cellular connection can reach pages that normally work. Reconnect and check the selected server. Then review Global Routing and the active Config to see whether rules are sending requests along the expected route. If only one server fails, compare it with another valid entry you already have. If all servers fail, check authentication, DNS, and your local network. The connection icon only shows that the system tunnel is enabled; it doesn’t guarantee every destination is reachable. Change one condition at a time to avoid mixing network, rule, and server changes.

Connectivity Test succeeds, but some domains won’t load. Could DNS be the problem?

Possibly, but the test result alone isn’t enough to tell. A successful Connectivity Test only reflects the selected test method and destination; it doesn’t confirm that every domain resolves or every request succeeds. Note the affected domains, time, and current network, then check request logs for resolution failures or unexpected rule matches. Save your original configuration before changing DNS, and make sure the DNS server is reachable over your current network and request route. If only one site is affected, check whether the site itself is having an issue. Avoid cycling through multiple DNS servers without tracking the results.

When does On Demand connect, and how can I pause automatic connections?

On Demand starts connections based on configured network conditions. Check Wi-Fi and Cellular conditions separately; available options depend on what the app currently shows. If the connection turns back on after you manually disable it, an active On Demand rule may be responsible. To pause it, check and disable the relevant On Demand settings in Shadowrocket, then check the corresponding on-demand connection status on the system VPN page. Switch networks and see whether it still triggers. Note your original conditions and avoid changing multiple triggers at once, so you can identify which rule is responsible.

Battery use has increased. Which troubleshooting options should I check first?

Check the system’s battery usage for the same period and distinguish foreground use, ongoing transfers, and background activity. A drop in battery level alone doesn’t mean the app is malfunctioning. Check whether frequent connection tests, detailed logging, or On Demand triggers you no longer need have been left running, and turn off temporary settings used for troubleshooting. Weak signal, repeated reconnects, and heavy uploads or downloads can also increase battery use; compare sessions of the same length on a stable network. Data can help you monitor traffic, but it doesn’t measure battery use. Save your configuration before making changes, and don’t alter protocol settings just to conserve power.

Read next: Complete guide to Global Routing →