Official Manual · FAQ

Shadowrocket FAQ

First identify whether the issue concerns a purchase, import, or connection, then check it step by step. Each answer can be expanded independently; interface labels stay in English so you can find them in the app.

Verify the app and purchase

Check the product page first, then confirm your account, price, and purchase history.

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

Open the App Store product page from this site's official download page to distinguish a search issue from unavailability in your current storefront. Check the country or region for the Apple Account used for Media & Purchases—not just your device language. To review it, open Media & Purchases in your Apple Account settings, select View Account, and check Country/Region along with any balance, subscription, and payment requirements shown by the system. Changing regions does not guarantee the app will be available for purchase; check the current App Store listing.

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

Check three details: the name is Shadowrocket, the developer is Shadow Launch Technology Limited, and the product page URL contains id932747118. Also compare the official icon shown in this site's header. Search result names and icons can help identify the app, but they do not replace checking the developer and app ID. Open the product page to review the price, compatibility, and purchase confirmation details. Don't rely on its position in search results. If any key detail differs, return to the official download page and reopen the product listing.

Does buying Shadowrocket also give me a server to connect to?

No. A one-time app purchase is not a server plan. Buying Shadowrocket gives you access to the app; to connect, you also need your own existing subscription or server details and the correct protocol settings. This site does not provide, sell, or recommend servers or subscriptions; it explains how to import and use configurations you already have. The app price is separate from a connection service's term, data allowance, and server availability. If a connection fails, check the app configuration and the status of your existing service separately rather than buying the app again.

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

Sign in to the App Store with the Apple Account used for the original purchase. Find Shadowrocket in your purchase history and check whether a redownload option is available. If a price is still shown, first verify the account used for Media & Purchases, your purchase history, and the current storefront; don't pay again without checking. The app purchase record is separate from subscriptions, servers, and Config inside Shadowrocket. Redownloading the app does not guarantee that its configuration will be restored. Check the App Store page and your account records for device compatibility, purchase eligibility, and restore options.

Where can I check Shadowrocket's price, system requirements, and purchase sharing eligibility?

Check the App Store product page and purchase confirmation. Shadowrocket is a paid app with a one-time purchase; the US storefront reference price is $2.99. Other storefronts show local currency, and the amount shown before payment is final. System requirements are always as listed on the App Store page. Check the store's details for Family Sharing and purchase eligibility across devices; a product page listing multiple device types does not mean every account can share one purchase across them. Before paying, verify your device and account.

See how to verify the app →

Installation and first launch

Check system authorization, the app interface, and connection status separately.

What should I do when my iPhone asks to add a VPN configuration on the first connection?

This is a system authorization prompt for adding a VPN configuration. First, confirm it was triggered by a connection attempt you just made in Shadowrocket, then follow the system steps to allow it and authenticate. Authorization does not confirm that the server settings are correct or that the connection will succeed. Return to Home and check the selected server and connection status. If you previously canceled, try connecting again. If setup still fails, review existing entries in the system VPN settings and stop any other active VPN connections before changing anything else.

Can I install Shadowrocket on iPad? How does it differ from using it on iPhone?

Shadowrocket is available on iPad from the same App Store product page. System requirements are as listed on the App Store page. If you've already purchased it, check for a redownload option while signed in to the original account. The iPad layout may differ from the iPhone layout, but Home, Config, Settings, and the server details required for imports are still key areas to check. Find features by their interface names rather than by matching button positions in screenshots. Confirm in the actual lists whether configurations have synced between devices; purchase history alone can't confirm this.

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

First, confirm that a valid server entry is selected on Home and that system VPN authorization is complete. Stop other VPN connections, reopen Shadowrocket, and try again. If the device is managed by your workplace or school, check whether its management policy restricts VPN configurations. If the switch turns off immediately, check Log for errors at that time and distinguish missing parameters, configuration read failures, and connection failures. Save the error details and check one item at a time; don't repeatedly delete all configurations. Authorization issues and unreachable servers require different fixes.

The interface is in English. Which labels should I look for?

This manual keeps the app's English interface labels to avoid confusion from translated names. Start at Home to view servers and connections; use Add Server to add an entry, Config for configuration files, Settings for common options, and Global Routing for routing modes. If your device offers a separate language option for the app, check its settings in system Settings; available languages depend on what the app displays. Changing the interface language does not replace server parameters. If an import fails, check the link contents and protocol fields.

Battery use increases after connecting. Should I always force-quit the app in the background?

Check the system battery usage by time period and compare it with traffic, network changes, and connection retries; don't judge by a single percentage reading. Ongoing transfers, frequent tests, and retries on an unstable network can all increase battery use. Try pausing frequent Connectivity Test runs, check Log for recurring errors, and see whether On Demand is connecting on networks where you don't need it. Don't rely on force-quitting the app as the only fix. Compare performance under the same usage conditions, changing one setting at a time.

Follow the steps for your first connection →

Subscription and server imports

Start with a subscription or server details you already have, and check the source content first.

An existing subscription won't import. Should I check the link or the servers first?

First check whether the subscription link returns valid content, then check the servers in that content. Make sure you've copied the full URL for a subscription you already have, without extra spaces, line breaks, or explanatory text. Then confirm the subscription is valid and whether access requires additional verification. An import error may mean the request failed, or that the returned format isn't supported; these are different issues. If the response is a login page or an error message, retrying the import won't fix it. Note the app's error and ask the original provider what the link is for. Don't share a full subscription URL that contains access credentials.

Will updating a subscription overwrite server settings I changed manually?

Server details in a subscription are generally managed by the content it returns, so names, addresses, ports, and parameters may change after an update. Don't assume manual edits will always persist. Before updating, note any fields you want to compare and, if the app supports it, save a separate copy. Afterward, check that the currently selected entry is still there. Updating a subscription and updating Config are separate operations; refreshing the server list does not enable a new rules file. If the connection behaves differently after an update, compare the entry's source and changed parameters before altering DNS.

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

A successful QR scan only means the app read the contents; it does not verify that the server is reachable or the credentials are valid. Open the generated server entry and check its protocol, address, port, and required authentication fields. For entries using TLS, verify those parameters against the original details. If the QR code contains a subscription URL, confirm the subscription request and list import both completed. Then select the entry on Home, connect, and use any error details to troubleshoot. QR codes, shared links, and exported configurations may contain sensitive information; redact credentials before asking for help.

Which protocol should I choose in Add Server, and which settings must I never guess?

Choose a protocol that matches your existing server details; don't guess based on the name or connection speed. Shadowsocks, VMess, VLESS, Trojan, and WireGuard entries require different fields. Matching addresses and ports does not make them interchangeable. Check authentication, encryption, transport, and TLS fields against the original settings. If a field is missing, first confirm that you have complete details; don't turn off certificate checks to hide the problem. Add and test one entry at a time. Once it works, organize its name and group to make input errors easier to find.

What's the difference between an existing subscription and a Config file?

A server subscription is mainly used to import and update connection entries. A Config file organizes rules and related settings. Both may be accessed through links, but you can't tell their purpose from the URL alone; check the original provider's description and how the app identifies the content. After importing servers, confirm which entry is selected on Home. After importing Config, confirm which file is active. When Global Routing is set to Config, rule behavior depends on the active file's contents and matching results—not simply on whether servers appear in the list.

Check protocol names and related terms →

Rules and troubleshooting

Narrow down the cause in this order: network, server, DNS, and rules.

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

Config routes requests according to the rules in the active configuration. Proxy sends requests through the selected proxy. Direct connects to the destination directly. For rule-based routing, verify the Config file before selecting Config. To troubleshoot, compare how the same destination behaves in each mode, then restore the original setting. Proxy won't fix incorrect server parameters, and Direct does not mean the connection is turned off. To see how traffic is actually routed, check the connection records rather than relying only on the switch at the top.

It shows connected, but apps and websites can't access the internet. What should I check, and in what order?

Disconnect first and confirm that the underlying network works. Then check the selected server entry, the status of your existing service, and the current Global Routing mode. Review the relevant request in Log to distinguish DNS resolution failures, server connection failures, and unexpected rule selections. If only one destination fails, start with its matching rule. If all destinations fail, check the underlying network and connection parameters first. Change one variable at a time and retry on the same network. A system VPN-connected status confirms only the connection state; it doesn't prove that a destination or every request will succeed.

How should I change DNS? Will switching to another address fix everything?

No. First confirm whether the error occurs during DNS resolution, then check where the current Config and DNS settings come from. Avoid changing several places at once when you don't know which setting is in use. When choosing a resolution method, consider whether the DNS request itself is reachable and whether the resolved address is consistent with subsequent routing. Save the original value before making a change, then test the same domain again and check Log for resolution errors. Changing DNS alone won't fix failed server authentication, a destination refusing connections, or a rule selecting the wrong policy.

A rule was added but doesn't seem to work. What should I check?

First confirm that Global Routing is set to Config and that you edited the active Config file. Rules are checked in order, so an earlier rule may match first. DOMAIN matches a specific domain, DOMAIN-SUFFIX matches a domain and its subdomains, and FINAL handles requests that didn't match earlier rules. Also check that the policy name in the rule is valid and whether the actual request uses a domain or an IP address. Save the file, make a new request to the destination, and check the connection record to see which rule matched. Existing connections may not reflect new rules, so one page refresh isn't enough to tell whether a change worked.

Connectivity Test or Ping returns a result, so why does access still fail?

A test result reflects only the selected test method under the conditions at that moment; it doesn't verify complete access to every destination. Different test methods may check different stages, so their numbers can't replace checking DNS resolution, TLS connections, and destination responses. First review Ping or test-related options in Settings, then access the same destination that's failing and use Log to identify where the request stops. A failed test doesn't mean all requests are unavailable. Compare the real request with the test configuration, and avoid changing several parameters just to improve one test result.

Continue to the DNS settings guide →

Related guides

See the tutorial for workflows, the settings reference for field details, and the glossary for rule names and matching behavior.