Official Guide · FAQ Index

Shadowrocket FAQ

First identify where the problem occurs, then check each step in order. Check purchase history for buying issues, content and format for imports, and server details and routing mode for connection issues. Change only one condition at a time.

  • 4 categories
  • 20 troubleshooting answers
  • Interface labels kept in English

App Store

Purchase Verification & Buying

The product page, purchasing account, and purchase history are three separate places to check. If search or restore isn't working, first identify which detail doesn't match.

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

Open the specified App Store product page from the download guide and verify that the URL contains id932747118; don't rely on search results alone. If the product page still won't load, check the Apple Account's store region, content and age-rating restrictions in Screen Time, and any pending terms or payment prompts on the account. To check the store region, go to Settings → Apple Account → Media & Purchases → View Account → Country/Region. If you need to change it, follow Apple's instructions for any balance, subscriptions, and other requirements.

How can you tell whether the Shadowrocket listing is genuine?

Open the product page and verify the name Shadowrocket, the developer Shadow Launch Technology Limited, and the app ID 932747118 in the product page URL. Compare the app icon with the official icon in this site's header; don't rely on a similar name alone. Before purchasing, check compatibility, price, and purchase eligibility. Refer to the App Store page for the latest details. If any of these three details don't match, stop and reopen the specified product page from the download guide before buying.

What does the one-time purchase include, and where can you check the price?

Shadowrocket is a paid, closed-source commercial app. Your purchase covers use of the client. The one-time app purchase is not a service plan; importing and connecting still require a subscription or server details you already have. The US storefront price is listed as $2.99 for reference. Other storefronts show local currency, and the final price is the amount shown on the App Store page and purchase confirmation screen. This site does not provide, sell, or recommend servers or subscriptions, or handle fees for connection services.

Do you have to buy it again after switching or reinstalling a device?

First, make sure Media & Purchases on the new device is signed in with the account used for the original purchase. Then look for Shadowrocket in that account's Purchased items or app list. If the purchase is recognized, you should normally see an option to download it again. If a price is still shown, check the account, storefront region, and purchase history before paying again. Restoring the app does not restore all local data. Check whether subscriptions, configurations, and custom rules on the old device were backed up, then verify each item on the new device.

Why isn't a purchased app appearing on another device?

The account signed into the device may differ from the account used for Media & Purchases in the App Store, so check the latter first. Then check your purchase history, hidden purchases, and device compatibility. Refer to the App Store page for system requirements and purchase eligibility. To see whether Family Sharing applies, check the App Store listing and your family settings; a family member's purchase does not necessarily mean the app is owned by your account. If the purchase appears in your history but you still can't restore it, keep the purchase details and contact Apple Support.

Home / Settings

Installation & First Launch

Check separately whether the app is installed, system authorization is complete, and access is working. These are three different results.

After installing on iPhone, what should you do first, and in what order?

Check compatibility on the App Store product page; refer to that page for system requirements. Open Shadowrocket and check Home for existing server entries. If there are none, import a subscription you already have or enter existing server details through Add Server, then select the entry you want to use. Check Global Routing, then turn on the connection. The first connection may prompt you to add a VPN configuration. Approve it only if you initiated the action. Approval allows the configuration to be added; it does not confirm that the remote service is available.

Can you install it on iPad, and do you need to import your configuration again?

iPad uses the same App Store purchase as iPhone. System requirements for those two are on the App Store page. The Mac desktop app is free and is not part of that purchase. Use the original purchasing account to check Purchased items, then follow the option shown in the store. Some iPad layouts may vary with screen size, so look for labels such as Home, Config, and Settings rather than relying on button positions from another device. After installation, confirm that your subscription, selected server, and configuration are actually present. Don't assume restoring the app will sync this content automatically.

What should you do if the connection switch won't turn on or turns off right away?

First, make sure you've selected a valid server entry and check for a pending VPN configuration approval prompt. If there's no prompt and the switch turns off immediately, search for VPN in Settings and check whether the relevant configuration exists and whether device management policies restrict changes. Then verify the selected entry's protocol and required fields, disconnect any other active VPN, and try again. For a managed device, ask the administrator to check the policy. Don't repeatedly delete configurations and hope for a fix; save your subscription and custom settings before rebuilding a configuration if needed.

If the interface is in English, what do Home, Config, and Settings mean?

This guide keeps interface labels in English so you can match them directly. Home shows server entries and connection controls; Config is for managing configuration files; Settings is for app preferences; Data shows connection-related records. In Global Routing, Config, Proxy, and Direct are routing modes, not pages with the same names. If something is in a different place than shown in a guide, navigate by its label and function, then check the glossary. Don't rely only on icon shapes or fixed screen positions.

Does the VPN indicator mean everything is working normally?

The VPN indicator shows that the relevant system connection is established or enabled. On its own, it doesn't confirm server connectivity, DNS resolution, or routing rules are working correctly. After connecting, visit a page that normally loads directly, then test a destination that should use the proxy. Also check the current Global Routing mode and selected server. If the two results differ, troubleshoot direct access, proxy access, and DNS resolution separately. The check is complete only when the destination loads and the relevant requests follow the expected policy.

Subscribe / Add Server

Subscriptions & Server Imports

The steps below assume you already have a subscription or server details. Check the content type before importing, then verify the entries created.

What should you check if an existing subscription link won't import?

Make sure you copied the complete subscription URL without surrounding spaces, line breaks, or text added by a messaging app. Then check that the import method supports that content type. The current network must be able to reach the subscription URL, and import may also depend on the link's validity period, account status, or content format. If the error points to a format issue, ask your existing service provider which subscription format works with Shadowrocket. Subscription URLs often contain account credentials. Don't post them publicly or leave them visible in troubleshooting screenshots.

Why can a manually added server be saved but still fail to connect?

Saving only means the entry was stored; it doesn't mean its fields match the server. In Add Server, check the protocol, address, port, and authentication details against the server information you already have. TLS, SNI, transport, and path settings must also match the remote configuration when applicable. Don't copy only the address and password while skipping other fields, or mix parameters from different protocols. After checking the fields, select the entry again and test the connection. If it still fails, note the exact error and ask your existing provider to verify the server status and parameters.

How do you update a subscription, and how can you tell the update worked?

Find the relevant Subscribe group in Home and use its update option; the exact control depends on the current app interface. Before updating, make sure the current network can reach the subscription URL. Afterward, expand the list, check whether the server entries changed as expected, and verify the selected entry. If the remote content hasn't changed, an unchanged list doesn't necessarily mean the update failed; check the app's status message. Refreshing a subscription updates only the entries it contains. It does not refresh rule files in Config, so check those separately.

Scan QR Code didn't create a usable entry. What should you do?

Make sure the QR code comes from server details you already have, and allow camera access when using Scan QR Code. Keep the code clear and fully visible; don't crop its edges or let glare obscure it. After scanning, check the generated entry's protocol and fields. QR codes can contain different kinds of text, and recognizing text doesn't guarantee that it can be imported. If the app says the content isn't supported, ask the original provider about the format or use the subscription option and manual parameters explicitly included with the same server details. Don't guess missing fields.

Is it normal for entries to be added or removed, or custom selections to disappear after an update?

The subscription list changes to reflect the content returned by the remote service, so entries being added or removed doesn't by itself indicate a problem. First check which Subscribe group you updated and whether the app reported a request or parsing error. Then confirm that the selected server still exists. Back up manual entries and custom configurations separately before making changes; don't assume a subscription refresh preserves every local adjustment. If the number of entries changed unexpectedly, ask your existing provider to verify the returned content. Importing the same link repeatedly may create duplicate groups and make troubleshooting harder.

Global Routing / Connectivity Test

Routing Rules & Troubleshooting

Compare direct and proxy results first, then check DNS, rule order, and automatic triggers. Don't treat a single test result as the whole picture.

How do you choose between Config, Proxy, and Direct in Global Routing?

Config applies the rules in the currently enabled configuration and is suitable for everyday use when you've checked the routing rules. Proxy sends most requests through the selected proxy path and is useful for briefly testing that path. Direct sends most requests directly and provides a baseline for the current network. When testing the same destination, change only one condition at a time, then restore the intended mode. Proxy doesn't verify every detail in the configuration file, and Direct doesn't necessarily reset DNS or other related settings to system defaults.

Connected but can't access the internet? What should you check, and in what order?

Turn off the connection first and confirm that the current Wi-Fi or cellular network can access the internet on its own. Turn the connection back on, then check the selected server and Global Routing mode. Use Connectivity Test to check connectivity, but judge results alongside whether pages actually load; a response from the test doesn't mean every destination is reachable. If only domain names fail, check DNS settings. If only some destinations fail, check the rules and the destination service status. Change one condition at a time, keep a record of the original settings, and note direct and proxy results separately. This preserves a useful comparison if you need to troubleshoot further.

Why isn't a request going direct even though a rule says DIRECT?

Make sure Global Routing is set to Config and that you're using the configuration you edited. Check the rule order to see whether an earlier rule matches the request, then verify the target for DOMAIN, DOMAIN-SUFFIX, or IP-CIDR. FINAL should be the fallback when no earlier rule matches. A page may request resources from multiple domains, so a DIRECT match for the main domain doesn't mean every resource uses the same policy. Check available connection records request by request, then make another request after editing the rules to verify the result.

Battery use increases after connecting. Which settings should you check first?

First, compare activity over the same time period in your system battery settings. Look for large amounts of data transfer, frequent reconnects, or extended diagnostic logging. Protocol, signal quality, server distance, and network switching can all affect battery use, so the protocol name alone isn't enough to identify the cause. Stop unnecessary continuous tests, check whether detailed logging is enabled, and observe performance on stable Wi-Fi before comparing it with cellular. Don't disable necessary security checks just to save battery, and don't assume the VPN activity time shown by the system means the app was under continuous heavy load.

On Demand isn't connecting automatically as expected. How should you check it?

On Demand triggers connection behavior based on configured conditions; it doesn't determine whether a server is available. First check that the feature is enabled, then review the Wi-Fi, Cellular, and domain conditions. Pay particular attention to Wi-Fi names and overlapping conditions. Temporarily disable automatic triggers and connect manually to confirm the basic connection works. Then restore one condition at a time and test by switching networks. If the connection turns back on after you switch it off manually, check the trigger conditions and related system configuration instead of repeatedly toggling the connection.

Download Shadowrocket