Shadowrocket Official Manual

Shadowrocket Troubleshooting

Check your purchase and configuration first, then troubleshoot the connection. Choose the section that matches your issue, expand the answer, and follow the checks in order. Change one setting at a time and keep test results for comparison.

4 categories · 20 questions and answers · Checks for iPhone and iPad

Haven't got the app yet? Read the App Store Purchase Verification and Download Guide. Already have a configuration but can't connect? Start with the First-Time Setup Guide. The subscription and server steps below assume you already have your own subscription or server details.

App Store · Purchase History · Account Region

Purchases

First verify the product page and purchasing account. Check storefront availability, device compatibility, and purchase history separately.

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

Check the app name, Shadowrocket; developer, Shadow Launch Technology Limited; official icon; and app ID, 932747118. You can verify the app ID in the product page URL, which contains id932747118. The icon should match the official icon used on this site. Don't rely on the search term “Shadowrocket” or a similar-looking icon alone. Before buying, review the price, compatibility, and app description. The App Store product page is the source of truth for pricing, system requirements, and purchase availability.

What does the one-time purchase include? Can I connect right after buying?

The purchase gives you the right to use the Shadowrocket client. A one-time client purchase is not a service plan; connection services and the client purchase are separate. This site does not provide, sell, or recommend servers or subscriptions. The US storefront price is about $2.99; other storefronts display local currency, and the final price is shown on the App Store product page. Before you start, you'll need subscription or server details that you already have and are authorized to use, then import them using the guide. Buying the app alone does not create a usable configuration.

Do I need to buy Shadowrocket again after getting a new iPhone or reinstalling it?

Sign in to the App Store with the account used for the original purchase. Find Shadowrocket in your purchased apps, then check whether the product page offers a redownload option. Purchased apps can generally be downloaded again with the same account; check the App Store page for applicable terms. If you see a price, confirm that Media & Purchases is using the original account and check your purchase history. Purchase history and local configuration are separate: after redownloading, restore a backup or import your configuration again.

How do I check my account region, and where do I change it if needed?

In Settings, open your Apple Account, tap Media & Purchases, choose View Account, then check Country/Region. The menu path may vary by system version, so follow what appears on your device. If you need to change your region, use the official option on that page and first resolve any listed requirements concerning your balance, active subscriptions, Family Sharing, or payment method. Changing your device's language or region does not change your App Store account region. For purchase or billing issues, use the official support option in your App Store account.

Home · System Authorization · Restore Configuration

Setup & First Launch

App Store purchases, system VPN authorization, and app configuration each serve a different purpose. After restoring your purchase, check your connection settings too.

How do I make my first connection after opening Shadowrocket on iPhone?

First, make sure your iPhone has a working internet connection. Import subscription or server details that you already have and are authorized to use, select a server in Home, and check Global Routing. When you turn on the connection, iOS may ask to add a VPN configuration. This authorization is required to establish the network connection. Confirm that Shadowrocket initiated the request, then approve it and complete any device verification prompts. Check the App Store product page for system requirements. Once connected, visit the target website to test the setup; the switch being on does not confirm that every setting is correct.

Can I install Shadowrocket on iPad? Will my purchase and configuration appear automatically?

Shadowrocket supports iPad and is available from the same App Store product page. Check that page for system requirements and purchase availability. On your iPad, verify the purchasing account, then redownload the app from your purchased apps or the product page. The available screen space differs from iPhone; use the actual interface labels, such as Home, Config, and Settings, to find controls. A purchase does not restore your server list, subscriptions, or Config. Import them separately, or check the results after verifying your iCloud sync settings.

The connection switch on Home won't turn on. What should I check, and in what order?

First, make sure you've added and selected a usable server. Then check whether iOS displays a VPN configuration authorization or device verification prompt. If you canceled authorization, try again in the app and search for VPN in Settings to review the configuration and any device management restrictions. Disconnect other services using the system VPN before testing Shadowrocket. Managed devices may restrict adding configurations; follow your organization's requirements. If it still fails, note the full error message and check Log to identify the cause. Don't delete all configurations or repeatedly reinstall the app as a first step.

The interface is in English. How should I follow a guide?

This manual keeps interface labels such as Home, Add Server, Config, and Settings in English so you can locate them directly. First, check whether the app has a language option in your system settings. If not, use the languages the app actually supports; changing the system region does not change the app language. Follow the English labels and their functions rather than relying on fixed screen coordinates. Under Global Routing, Config, Proxy, and Direct are routing modes—not names for configuration files.

After redownloading the app, how can I restore my existing configuration without missing anything?

First restore your app purchase entitlement, then check whether the original device's subscription details, server parameters, and Config backup are still accessible. If you use iCloud, verify the iCloud account on both devices, system permissions, and the app's sync options. Your App Store purchasing account and iCloud account serve different purposes. Don't assume all local data has synced. After restoring, check each server, the active Config, Global Routing, and any relevant Settings. Remove configurations from the old device only after confirming they work on the new one. Keep backup files and subscription links secure.

Add Server · Subscribe · Config

Subscription & Server Import

First identify whether your information is a subscription link, individual server parameters, or a Config file, then choose the right import path.

Where do I import an existing subscription link?

On Home, open Add Server and choose Subscribe. Paste the complete subscription link that you already have and are authorized to use, then save it and check the update result. If you have a QR code, use Scan QR Code after confirming it contains the correct configuration. Once imported, check that the expected server entries appear, then select one to test the connection. Don't enter a subscription URL as a single server address or use a webpage as a subscription endpoint. Subscription links may contain access credentials, so hide the entire link before sharing screenshots or troubleshooting notes.

A subscription import fails or the list is empty. How can I tell what's wrong?

First, check that the link is complete and contains no extra spaces, line breaks, or punctuation added by a messaging app. Then check whether your current network can reach the address. Note whether the app reports a request failure, authentication failure, or content parsing failure: these point to network access, subscription authorization, or response format, respectively. An empty list may mean the endpoint returned no content; it doesn't necessarily indicate an app problem. Ask the original service provider to verify the link's validity and format. Don't share the link publicly. Pasting the same incorrect address repeatedly or reinstalling the app usually won't change the endpoint's response.

Why did server names or selections change after updating Subscribe?

Subscribe refreshes the entries returned by your existing subscription, so names, addresses, and the number of entries may change. Note the selected item before updating. Afterward, check the subscription group, selected server, and required connection parameters rather than relying on similar names. If the update fails, read the error before deleting old entries that you may still need to check. Automatic update options and behavior depend on what the app actually shows. The client can only read the contents provided by an existing subscription; it cannot extend subscription access or restore entries the provider didn't return.

When adding a server manually, which settings should I never guess?

Match the protocol, server address, port, password or UUID, and TLS, SNI, and transport settings to the server details you already have. Required fields vary by protocol; don't copy settings from another configuration or switch protocols at random when a connection fails. A server address and a complete share link are different types of input, so confirm what the selected field accepts before pasting. For certificate validation, check the hostname and certificate details first. Don't use Allow Insecure as a routine fix. Ask the original service provider to confirm any missing parameters.

What's the difference between Subscribe and Config? Do I need to import both?

Subscribe is mainly for reading and updating existing server entries. Config organizes rules and related settings; they are separate import paths. After importing servers, if you select Config as the routing mode, check which configuration file is active and which policies its rules use. Whether you need to import a Config depends on what you already have and what you're trying to do. Don't overwrite working settings just to complete every step. Back up the old configuration before importing a new one, and check that its referenced policies exist. A successful file import does not guarantee every rule will work as expected.

Global Routing · On Demand · Log

Rules & Troubleshooting

Check network access, server connectivity, DNS, and rule matching separately. Record successful tests separately from successful browsing.

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

Config uses the rules in your active configuration to route requests and is suited to everyday use once you've checked those rules. Proxy sends requests through the proxy routing mode, which can help determine whether a problem is related to rule-based routing. Direct sends requests directly; it cannot verify that a proxy server works. For a useful comparison, keep the network, server, and target website the same and change one setting at a time. If Proxy works but Config doesn't, focus on rule matches and policy references. Changing routing modes won't fix incorrect server parameters.

Shadowrocket says connected, but I can't access the internet. What should I check first?

Disconnect and confirm that your regular internet connection works. Reconnect using the selected server, then test a website known to be reachable and the site you're actually trying to access. Check Connectivity Test and Log, and record test results separately from browsing results. A successful latency test only means that specific test received a response; it doesn't mean every request will work. Keep the server fixed, compare Config and Proxy, then check DNS resolution and rule matches. If all tests fail, first verify the server parameters and the status of the service you already use. If only some sites fail, check the target domains, rule order, and relevant policies.

A website isn't using PROXY as expected. Which rules should I check?

First, confirm Global Routing is set to Config and check the Config file currently in use—not an inactive file you may have edited. Check whether rules such as DOMAIN-SUFFIX cover the target domain and the subdomains actually requested, whether an earlier rule matches first, and whether the referenced PROXY policy is available. FINAL handles requests that don't match an earlier rule. Visit the site once and check Log for the matching rule. A page may request several domains, so a rule for the main domain alone may not cover every request it needs.

On Demand keeps turning the connection on automatically. What should I check?

On Demand triggers connections when specified conditions are met, so manually disconnecting may not prevent a later network request from triggering another connection. Note the current conditions, then check On Demand and related network conditions in Settings. To troubleshoot, temporarily turn it off, connect manually, and see whether the issue returns. Don't change rules, DNS, and trigger conditions at the same time; otherwise, it will be hard to tell which change mattered. Check the connection separately as the device switches networks. Confirm that the behavior matches the configured conditions before assuming the switch is malfunctioning.

Battery use or device temperature has increased. What troubleshooting details should I keep?

Check your system battery records for the same time period, and see whether data is transferring continuously, the connection is repeatedly reconnecting, tests are running often, or detailed Log recording has been left on. Keep the network and server constant, stop unnecessary tests, and compare the results. A drop in battery percentage alone doesn't identify the cause. If you need to investigate, enable Log briefly, reproduce the issue once, and note the time, network type, routing mode, and error message. Restore your usual logging settings afterward. Before sharing records, remove subscription links, server credentials, and identifiable request details. Don't clear configurations you still need to check just to save power.