SHADOWROCKET · FAQ

Shadowrocket FAQ

Find answers by purchase, setup, import and routing. Check the current status, then work through the steps in order. Change one setting at a time to help identify the cause.

This page is part of the Shadowrocket Official Manual. The instructions assume you already have your own subscription or server details. See the download guide for purchase and installation steps, or start with Getting Started.

Verify the app and purchase

Confirm the product page and purchase account before troubleshooting storefront, payment or restoring a purchase.

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

Open the App Store product page from the download guide and confirm the app ID is 932747118. Then check whether the issue is with search results or availability in your current storefront. Verify the country or region for the Apple Account used for Media & Purchases, and check Screen Time content and privacy restrictions, the app age rating and your account status. If you need to change regions, go to Settings → Apple Account → Media & Purchases → View Account → Country/Region and follow the system prompts for your balance, subscriptions and payment method. Read the on-screen guidance before making changes; don’t keep switching regions to try payments.

How can I verify that the app in the store is the genuine Shadowrocket?

Check three details: the app name is Shadowrocket, the developer is Shadow Launch Technology Limited, and the product page URL contains app ID 932747118. Also compare the store icon with the official icon used on this site. Don’t rely only on search ranking, the name “Shadowrocket,” or a similar-looking icon. Check the price, compatibility and purchase button on the product page; system requirements are as listed on the App Store page. If any of the name, developer or app ID doesn’t match, return to the download guide and reopen the specified product page. Complete your checks before paying.

Do I need to buy Shadowrocket again when I change devices or reinstall it?

First make sure Media & Purchases in the App Store uses the account that made the original purchase. Then look for Shadowrocket under Apps or Purchased and check the original transaction. If the purchase is eligible in your current storefront, you can usually download it again. Purchase history and configuration data on your device are separate: reinstalling won’t automatically restore subscriptions, servers or rules. If the product page still shows a price, don’t pay again right away; check your account, storefront and purchase history first. Family Sharing eligibility, device coverage and current availability depend on what the App Store page and your account show.

What does a one-time purchase include, and why do I still need my own subscription or server details?

Shadowrocket is a paid commercial client. The US storefront price is about $2.99 as a one-time purchase; the actual price, currency and taxes are shown on the App Store page at checkout. A one-time client purchase is not a service plan: it grants use of the app but does not provide a server to connect to. Before importing, have your own subscription link or server details ready and confirm they’re valid. This is the Shadowrocket official website and manual; it covers how to use the client and does not provide, sell or recommend servers or subscriptions. App updates are delivered through the App Store, where you can also check your purchase history.

Install and open for the first time

Keep app purchases, configuration imports and system VPN permissions separate; they’re three independent steps.

Can I install Shadowrocket on iPad, and how does that relate to an iPhone purchase?

Shadowrocket is available for iPhone and iPad from the same App Store product page. Device compatibility and system requirements are as listed on the App Store page. On iPad, first check that Media & Purchases uses the account that made the original purchase, then check Purchased or the product page for download status. Don’t confuse the account signed in to the device with the account used for App Store purchases. Lists and settings may be arranged differently on different screen sizes; use interface labels such as Home, Config and Settings to find your way. After installation, confirm that you’ve imported your own subscription or server details. A purchase history doesn’t mean connection settings are already in place.

What should I do if iOS asks for permission to add a VPN configuration when I connect for the first time?

After installing from the App Store and configuring a server, the system may ask to allow a VPN configuration the first time you connect. This permission lets the client establish a system network connection; it doesn’t import a subscription or verify the server. Once you’ve confirmed the prompt was triggered by your action, follow the system steps to grant permission and authenticate your device, then return to Shadowrocket and check the connection switch. If you previously canceled, try connecting again. If the device is managed and adding VPN configurations is blocked, check the management restrictions first. Don’t delete all configurations to resolve a permission issue; keep your existing server and rule settings.

The connection switch in Home won’t turn on, or turns off immediately. What should I check?

Check these in order: whether a valid server is selected, whether you granted VPN configuration permission, whether device management restrictions apply, and whether another VPN connection is active. Then check Shadowrocket for a configuration or connection error and note the exact message before taking action. If the switch turns off right away, check required server fields and the current Config first; don’t keep changing multiple settings. You can disconnect the other VPN and try again, but don’t remove configurations managed by your workplace or school. Reinstall only after backing up; it doesn’t replace checks for permission or incorrect settings.

The interface is in English. How do the settings in this guide map to what I see?

This manual keeps interface labels in English for easy reference: Home shows servers and connection status; Config manages rule configurations; Settings adjusts app settings; Add Server adds a server; Subscribe opens subscription options. In Global Routing, Config, Proxy and Direct are three routing modes. Don’t confuse the Config page with the Config routing mode just because they share a name. Check whether your system offers a preferred language setting for the app; available languages depend on your device and the app. If you can’t find a language option, continue using the English labels.

Import subscriptions and servers

Check that your input is complete, then verify parsing, updates and server connectivity separately.

A subscription import fails to parse, or the list is empty. Where should I start troubleshooting?

First make sure you pasted your complete subscription link, not an account page URL, explanatory text or a truncated share link. Check query parameters, line breaks and spaces at either end. Confirm the subscription is still valid and that the client supports the format required by the provider. Then check whether your current network can reach the subscription URL. If you need to inspect the response, do so only on your own device; don’t submit links containing credentials to public tools. Successful parsing and a successful server connection are separate checks. If the original entry still works, keep it and note the error. Update the list only after confirming the new content is correct.

How do I update an existing subscription, and will the update overwrite manual changes?

Use the update option for the existing subscription, then check that the server count, names and settings are as expected. The exact option depends on the current interface. An update requires an accessible subscription URL and a valid response; tapping Update doesn’t guarantee new data. Servers in a subscription are usually managed by its contents, so manual changes may be overwritten by a later update. Back up important custom settings separately first. If you have multiple subscriptions, use clear labels that don’t contain credentials and update them one at a time to make issues easier to identify. If automatic updates are available, set them to suit your needs; frequent updates aren’t a general fix for connection problems.

What’s the difference between entering details with Add Server, using Scan QR Code and importing from the clipboard?

All three methods require server details you already have. Add Server is for entering fields individually: choose Type, then enter Address, Port and the authentication, TLS or transport settings required by that protocol. Don’t reuse fields across different protocols. Scan QR Code reads a code containing a supported share format and may require camera permission or an image-reading option in the current interface. Clipboard import is for complete share links; after copying, watch for a system prompt asking to allow paste. After importing, check Type, address and port. A recognized QR code or link doesn’t guarantee valid settings or a working connection on your network.

How should I share error details when troubleshooting, and what should I back up before deleting anything?

The exact error message, the step where it occurred, the protocol and the network type are usually more helpful for troubleshooting than sharing your entire configuration. Subscription links, QR codes, passwords, keys and URLs with access parameters may contain credentials; redact them before sharing. Review logs for sensitive information too. Before deleting a subscription or reinstalling, make sure you can retrieve your original subscription and server details, and save any needed Config and custom notes. If you use the app’s export feature, treat the exported file as sensitive and store it securely. Confirm your backup is complete before deleting anything; App Store purchase history is not a substitute for a configuration backup.

For more on this topic, see the Subscription and Server Management Manual.

Routing rules and troubleshooting

Separate basic network access, server connectivity and routing policies before checking individual requests.

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

Config applies the rules in the current configuration and is suited to rule-based routing once you’ve checked the Config. Proxy sends traffic handled by the client through the selected proxy policy, which is useful for a temporary server connection test. Direct uses a direct-connection policy, useful for comparing access without a proxy. These modes change routing; they won’t fix incorrect authentication details or restore an expired subscription. Change one variable at a time and note the results before and after. With Config, also check rule order and FINAL so requests that don’t match earlier rules aren’t sent to the wrong policy.

Shadowrocket shows connected, but I can’t access the internet. What should I check, and in what order?

Connected usually means the system connection is established; it doesn’t confirm that the destination site, DNS or selected server is working. Disconnect first and make sure your Wi-Fi or cellular connection can access the internet on its own. Then check that the selected server is valid and its authentication details are correct. Compare Proxy with Config: if Proxy works but Config doesn’t, focus on matched rules, policy targets and DNS settings. If neither works, check the server and network path first. Don’t assume all websites are reachable based on a single Connectivity Test. Change one setting at a time and retry the request, keeping the error details so multiple changes don’t obscure the cause.

Why aren’t rules I added in Config taking effect?

First confirm Global Routing is set to Config and that you’re using the configuration you edited. Rules are usually matched in order, so an earlier match determines the policy. Check whether a previous DOMAIN, DOMAIN-SUFFIX or other rule already matches the domain, then verify the policy name and FINAL. Save your changes and apply the configuration as required by the current interface, then retry the request. Existing connections may not switch routes immediately when rules change. If adding REJECT blocks more than intended, narrow the rule or temporarily remove it to compare. When a domain serves different types of content, domain rules can’t distinguish every page resource precisely.

Battery use has increased. How should I check On Demand and latency tests?

Compare activity over the same period in system battery usage, and distinguish heavy data transfer, reconnects on a weak signal and long diagnostic sessions. Don’t draw conclusions from a single battery change. Check whether Connectivity Test is running repeatedly, large subscriptions are being updated, or detailed logs are being recorded continuously. After troubleshooting, restore settings suited to everyday use. If On Demand is enabled, check whether its conditions are repeatedly connecting when you don’t need it. A latency test measures response under a particular test method; it doesn’t represent download speed. Keep only necessary tests, avoid repeating the same actions and compare results under similar network conditions.

For help interpreting settings, see Feature Guide and the Glossary. When troubleshooting, note the current settings before changing anything and keep track of the steps needed to reproduce the issue.