Official Manual · Troubleshooting by Category

Shadowrocket Troubleshooting

First identify whether the issue involves a purchase, import, or connection, then check each step in order. The steps below assume you already have your own subscription or server details. Change one setting at a time and keep the original values for comparison.

  • 4 issue categories
  • 20 troubleshooting checks
  • Select a question to reveal the answer

PURCHASE

Purchase

Verify the product and purchasing account first, then troubleshoot search, payment, and restoring purchases. The purchase method and the source of your configuration are separate matters.

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

Open the App Store product page from the official purchase guide and verify the app using ID 932747118. If it does not appear in search, check the store region for the Apple Account used for Media & Purchases, then check whether Screen Time content and privacy restrictions limit the app's age rating. If the product page opens but you cannot buy the app, review your payment method and any account alerts. Search results alone cannot confirm whether you already own it.

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

Check three details on the App Store product page: the app name, Shadowrocket; the developer, Shadow Launch Technology Limited; and the app ID in the URL, 932747118. Also confirm that the icon matches the official icon shown on this site. Do not rely only on a Chinese nickname or search ranking. The product page lists the current price, compatibility, and update history. Once verified, purchase and install the app through the App Store.

Does the one-time Shadowrocket purchase include a connection service?

A one-time app purchase is not a service plan. The App Store charges for the Shadowrocket app. Using it requires your own subscription or server details. The US storefront price is approximately $2.99; other storefronts show local currency, and the purchase page displays the current price. This official manual covers app operation only and does not provide, sell, or recommend servers or subscriptions.

Do I need to buy Shadowrocket again after changing devices or reinstalling?

First, make sure the Apple Account currently used for Media & Purchases in the App Store is the same one used to buy Shadowrocket. Then find the app in your purchased items or app list and download it again. If a price still appears, check your purchase history, store region, and account status before paying again. Restoring the app purchase does not restore its in-app configuration. Back up subscriptions, Config files, and manually added entries from the old device separately, then verify that they were restored.

Where can I check or change a mismatched store region?

In system Settings, open the Apple Account section for Media & Purchases and check the account's country or region. Changing the device language or regional format alone will not change the store region. If you need to change it, use the country or region option on the account page and follow Apple's prompts about balance, active subscriptions, and payment details. A change may affect purchases and payment methods. Read the system prompts first; app availability is determined by the relevant App Store page.

FIRST OPEN

Setup & First Launch

Check device compatibility and system permissions first, then review the entries in the app. When a system prompt appears, read it before proceeding.

Can Shadowrocket be installed on iPad?

Yes. Open the same Shadowrocket product page in the iPad App Store and check its compatibility section. System requirements are as listed on the App Store page. If you already purchased the app, check your purchased items using the original purchasing account. The iPad layout varies with screen size and orientation, but subscriptions, server details, and Config files still need to be checked separately. Buying the app with the same account does not mean its configuration will sync in full automatically.

Why does Shadowrocket ask to add a VPN configuration on first launch?

To connect, Shadowrocket needs system permission to add a VPN configuration. The system may ask for your device passcode or other authentication. First, confirm that the request was initiated by the Shadowrocket app you just installed, then follow the system prompts. This permission allows the app to establish the network connection; it does not validate your server details. After granting permission, return to Home, check the selected entry and Global Routing, turn on the connection, and test access.

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

Make sure you have a usable server entry selected, then check that you completed the VPN configuration authorization. In system Settings, review VPN management for configuration conflicts. Temporarily stop any other active VPN connections and try again. If Shadowrocket still disconnects immediately, check the in-app error message and note the time and current network. Avoid repeatedly deleting configurations; keep your existing settings so you can distinguish authorization, configuration, and server issues.

The interface is in English. How should I follow the instructions?

This manual keeps interface labels in English. Use Home, Config, Settings, and Global Routing to find the matching controls; you do not need to change the language before following the steps. To change the display language, check in system Settings whether Shadowrocket offers a preferred language option. Available options depend on your device and app. Protocol names and rule keywords remain in English; do not enter translated descriptions in server type or rule fields.

What should I save before updating the app?

App updates are delivered through the App Store. Before updating, save your existing subscription sources, manually entered server details, and the Config file in use. Store any passwords or tokens securely. After the update, check your entries, Global Routing, and connection switch, then test commonly used destinations. Refer to the App Store release notes for app changes. Reinstalling should not be your first troubleshooting step, as it may remove local settings that have not been backed up.

See iPad purchase and restore guidance

IMPORT

Subscription & Server Import

Check content retrieval, entry parsing, and connection setup separately. A successful import is only the first step; you still need to verify the details and test access.

How can I tell whether a failed subscription import is a link or network issue?

Check that your existing subscription URL was copied in full, especially any parameters after the question mark. Remove leading or trailing spaces, line breaks, and punctuation added by a messaging app. Make sure you added a subscription URL, not an account management webpage. Then check that your current network can reach the internet and that the subscription is still valid at its source. Errors may indicate a failed request or a parsing problem. Keep the error text, but do not share the full URL if it contains a token.

The subscription was added, but no server entries appear. What should I do?

Adding a subscription URL does not mean valid entries were retrieved. Manually update the subscription once and check for network or parsing errors. Then confirm that the source returned subscription content supported by the app, rather than a login page, expiration notice, or empty response. Check the status of your existing account and the URL format against your own details. Do not add the same URL repeatedly to troubleshoot; that can leave multiple indistinguishable subscription groups.

How do I update an existing subscription and keep useful local changes?

Find the subscription in Home and use its update action. Afterward, check the server list and current selection; menu locations may vary by app version. An update may replace entries managed by the subscription, so note any settings you changed yourself beforehand and manage manually added entries separately if you need to keep them. Automatic updates depend on app settings and system conditions. For troubleshooting, use the result of a manual update.

Scan QR Code fails, or the scan succeeds but the connection does not work. What should I check?

Check system camera permissions, make sure the QR code is complete and clear, and confirm that it contains a supported server share link. After scanning, verify the protocol, server address, port, and authentication fields. A successful scan only means the content was read; it does not verify the connection. Compare each value with your existing details. Do not post QR codes, passwords, or tokens publicly, and do not mistake a subscription QR code for a single server entry.

Which details must match when I add a server manually with Add Server?

In Add Server, select the protocol that matches your existing server details, then enter the address, port, and any required password or other authentication fields. If the details include TLS, Server Name, a transport method, or a path, enter each one as specified; copying only the address and port is not enough. Fields differ between protocols such as Shadowsocks, VLESS, and Trojan. If anything is unclear, check the original details instead of switching protocols or disabling certificate verification to guess.

Follow the setup guide to import and verify your details

ROUTING & DIAGNOSTICS

Rules & Troubleshooting

Check connection status, rule matches, and actual access separately. Record the current configuration first, then test again with the same destination and network conditions.

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

Config applies the connection policy defined by the active Config, and is appropriate when you have checked its rules and fallback policy. Proxy tests the selected server using proxy routing. Direct checks the underlying network without proxy routing. Changing the routing mode will not fix incorrect server details. During troubleshooting, note the original mode, change only one setting at a time, and restore it after testing so you do not mistake a mode change for a fix to your rules or server.

The connection shows as active, but webpages won't load. What should I check first?

Turn off the connection and confirm that the underlying network can access the internet. Reconnect, then check the selected server and Global Routing. Review the connection log to see whether requests use DIRECT, PROXY, or REJECT, and check whether the problem affects only one domain. Connectivity Test can help check an entry, but a successful test does not guarantee that every webpage will load. Finally, use the error details to check authentication, DNS, and rules, changing only one thing at a time.

Could DNS settings be preventing a domain from loading? What should I check?

First distinguish a DNS resolution failure from a connection failure. Check the relevant request log and error message, then review DNS settings and related overrides in the active Config. If you recently changed DNS behavior, note the original values and test by restoring settings one at a time. Do not change the server and DNS settings simultaneously. Resolution may vary between networks, so test on the network you are currently using. Access to an IP address alone does not prove that a TLS connection to its domain will work.

Rules aren't matching as expected. How do I check their order?

Confirm that Global Routing is set to Config and that the edited Config is the one currently active. In the connection log, check the actual request domain, matched rule, and final policy. Then review the Config in order to see whether an earlier rule matched first. DOMAIN-SUFFIX matches domain suffixes, IP-CIDR matches address ranges, and FINAL is the fallback when no earlier rule matches. Before changing a REJECT rule, verify its scope so you do not also block necessary requests to the same domain.

How can I check On Demand and background activity if continuous connections use more battery?

Check system battery usage over the same period, then look for heavy background transfers, frequent reconnects, or continuous testing. On Demand triggers connections based on conditions; check whether those conditions are causing repeated connections rather than treating it as a battery-saving switch. Battery use depends on several factors, including network signal, traffic, protocol, and server response, so the protocol name alone is not enough to identify the cause. Keep usage conditions similar, change one setting at a time, and compare results.

See the technical reference for protocol parameters and selection