Official Guide · FAQ

Shadowrocket FAQ

First identify where the problem occurs, then open the relevant answer. Purchase history, app installation, subscription lists, and actual connectivity are separate steps. Checking them one at a time is more likely to reveal the cause than changing several settings at once.

Verify the App and Purchase

Check the App Store product and purchase account first, then troubleshoot downloading and restoring purchases.

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

Open Shadowrocket's App Store product page from the Getting the App guide instead of relying on search results alone. If the page says the app isn't available in your region, check the country or region of the Apple Account currently signed in to the App Store. Your device's language and region settings do not determine your store account's region. If you need to change it, go to Settings → Apple Account → Media & Purchases → View Account → Country/Region, and follow Apple's prompts to check your balance, subscriptions, and payment requirements. Availability depends on what the product page currently shows; repeatedly changing regions is not a substitute for troubleshooting.

How can I verify the genuine app, and does the purchase include connection service?

Check three details on the App Store product page: the name Shadowrocket, the official icon matching the one in this site's header, and the developer, Shadow Launch Technology Limited. Then verify that the product link contains app ID 932747118. Shadowrocket is a paid client. A one-time app purchase is not a connection plan; you'll need your own subscription or server details to use it. The US store price is around $2.99, but the current price, local currency, and payment terms depend on the App Store page. Buying the app and confirming that your configuration works are separate steps.

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

Sign in to the App Store with the Apple Account used for the original purchase, then look for Shadowrocket under Apps or your purchase history. The menu name may vary by system language and interface. Select the app and redownload it as shown in the store; don't pay again first. If a price still appears, check that your purchase history, store account, and current product page match. Restoring the app download doesn't restore subscriptions, servers, or Config automatically. Back up your existing configuration before switching devices, and keep your credentials secure. Check the App Store page for details on Family Sharing and purchases across devices.

Can I install Shadowrocket on iPad, and how do I use an existing purchase?

Open the same product page in the iPad App Store to check compatibility and whether the app is available to download. Check your purchase history using the Apple Account that made the purchase; system requirements and whether the purchase is universal are as listed on the App Store page. On iPad, landscape orientation, Split View, and window size can change how lists and details are arranged. Find controls by their names—Home, Config, Settings, and so on—rather than relying on their iPhone screen positions. Being able to download the app doesn't mean server configurations have synced. Before first use, check your existing subscription, selected server, and VPN configuration authorization.

Related steps: Verify the App · Restore a Purchase · Using Shadowrocket on iPad

Installation and First Launch

Distinguish system authorization, app controls, and connection results. Approval alone doesn't confirm network access.

How do I check system requirements and approve the VPN configuration the first time I open the app?

Before installing, check device compatibility and system requirements in the App Store's compatibility section; the App Store page is the source of truth. When you first open the app, make sure your existing server or subscription has been imported correctly. When you enable the connection, iOS may ask to add a VPN configuration and confirm with your device passcode or system authentication. This permission allows the client to create a system VPN configuration; it doesn't mean the server is reachable. If you canceled the prompt, return to Shadowrocket and try enabling the connection again. If the device is managed, check its management policies first. After granting permission, test actual access—authorization alone doesn't confirm a working connection.

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

First, make sure Home has a usable configuration and a server is selected, then check whether iOS is waiting for VPN configuration approval. Open Settings and see whether a VPN configuration exists, whether another connection is using it, and whether the device has management restrictions. Note what happens, then temporarily disable other VPN connections to compare. If the switch immediately turns off, check the relevant Shadowrocket logs for missing fields, configuration parsing errors, or permission prompts. Don't reset all settings or delete all servers as a first step. Before deleting and recreating the VPN configuration, back up the in-app configuration and make sure you can restore your existing connections.

The interface is in English. How can I use the guide to find the right controls?

This guide keeps interface labels in English so you can match them directly: Home shows servers and connection status, Add Server is for entering a single server, Config is for configuration files, and Settings is for app settings. Under Global Routing, Config, Proxy, and Direct are the three routing modes. To change the app's display language, check the app settings in system Settings for a Language option; available languages depend on what your device shows. Changing the interface language won't fix a subscription URL or server fields. If you can't find a control, check the page name first, then account for the current layout.

How do I update Shadowrocket, and what should I save first?

Update the app through the App Store. Check for available updates on your store account page, or use automatic updates in system settings. Before updating, save your active Config, manually added servers, and subscription group details, and make sure you can still access your subscription URL. App updates and subscription updates are separate: the former updates the client, while the latter refreshes your server list. Neither replaces the other. If something goes wrong, read the App Store release notes and record how to reproduce the issue. Don't delete the app straight away as a fix; redownloading it doesn't guarantee that locally saved configurations will be restored.

Follow these steps: See the First Connection Guide.

Subscriptions and Server Imports

Distinguish subscription URLs, individual server share links, and manually entered details, then choose the matching import option.

A subscription won't import. How can I tell whether the problem is the URL, network, or format?

Copy your existing subscription URL in full and check for leading or trailing spaces, line breaks, and truncated query parameters. Don't use an account management page URL in place of a subscription URL. Then narrow down the issue: if the connection fails or times out, check whether your current network can reach the URL; if authentication fails or the link has expired, check your subscription status; if the content downloads but isn't recognized, check whether the response uses a format the client supports. Subscription URLs often contain credentials, so don't share the full URL or its QR code while troubleshooting. Keep the original group and error message, identify the cause, and then try again to avoid duplicate imports.

You have details for one server. Should you use Add Server, QR scanning, or the clipboard?

If you have a complete share link, use the app's clipboard import option. If you have a QR code, choose Scan QR Code and allow camera access when prompted. If you only have individual fields, open Add Server, select the protocol used by the original configuration, then enter the address, port, and required authentication details. Fields for Shadowsocks, VMess, VLESS, Trojan, and other protocols aren't interchangeable. Enter TLS, Server Name, and transport settings as specified in the original configuration. Save, reopen the details to verify them, and then test the connection. Don't guess missing parameters from how a link looks, and don't enter a subscription URL in the single-server address field.

How do I refresh a subscription, and should I reimport it if automatic updates fail?

Find the relevant Subscribe group in Home and use its update action. Check the update time, server list, and any error message; the exact controls depend on the current app interface. To enable automatic updates, check the available options under subscription settings in Settings, such as updating when the app opens. This doesn't mean updates run on a fixed schedule in the background. If an update fails, first check the URL, network access, and response format; you usually don't need to delete the group right away. Before reimporting, save the original URL and any custom notes so you don't lose useful troubleshooting details. After a successful update, confirm which server is selected.

A subscription update removed servers, added duplicates, or changed their order. Did the import fail?

Not necessarily. A subscription update refreshes the server list based on the returned content, so existing entries may be removed, renamed, or reordered. Manually added entries and entries in different subscription groups may also have the same name. Check each entry's actual address, port, and protocol within its group rather than judging by name alone. After confirming the update succeeded, check whether the previously selected server is still there. Before reorganizing, save manually entered fields and notes so you don't have to reconstruct them from memory if you delete something by mistake. Latency sorting reflects only that test; it doesn't predict access speeds for every destination. Verify connections and group membership before bulk cleanup.

Fields, groups, and backups: Subscription and Server Management Guide.

Routing Rules and Troubleshooting

Use the same network and destination to compare basic network access, server connections, and rule selection.

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

Choose Config to route traffic according to rules, and check which configuration is active and the order of its rules. Choose Proxy to test connections that would normally use a proxy through the selected server. Choose Direct to compare with a direct connection. The interface labels are Config, Proxy, and Direct. In Config mode, policies such as DIRECT and PROXY depend on the matching rule; selecting a server in Home alone doesn't determine the route. When troubleshooting, keep the same network and destination, and change only one mode at a time. If Direct works but Proxy fails, check the server connection first rather than rewriting the entire ruleset.

The app says it's connected, but I can't access the internet. What should I check, and in what order?

Connected usually means only that the system VPN tunnel is established; it doesn't guarantee that the selected server, DNS, or destination is working. Pause the connection and confirm that your basic network access works. Reconnect, check the selected server, then test the same destination in Direct and Proxy. If Proxy also fails, check server authentication, address, port, and network reachability. If Proxy works but Config doesn't, check the active configuration, matching rules, and DNS settings. If only some apps fail, note the destination domain and error. Change one setting at a time and keep its original value so you can identify the cause instead of changing servers, rules, and DNS all at once.

High battery use in the background: should I use On Demand?

Check Shadowrocket's foreground and background activity and the reporting period on the battery page in system Settings, then compare with your device's overall battery use rather than looking only at percentages. Continuous traffic, weak signal, and frequent reconnects can all increase battery use. Check whether On Demand repeatedly activates because of Wi-Fi, cellular network, or domain conditions. Keep the original settings, temporarily disable the relevant conditions, and compare over similar periods of use. On-demand connections aren't always more efficient; frequent triggers can add connection activity. Choose always-on or on-demand behavior based on how you use the app, and track reconnects, network conditions, and battery changes separately.

Connectivity Test succeeds, but access still fails. What should I include when sharing logs?

A successful Connectivity Test only shows that the test target met the test conditions at that time. It doesn't confirm access to every website, app, or protocol. Record the test method, current Global Routing mode, selected server, and failing destination. Reproduce the issue and check the corresponding logs, distinguishing DNS resolution, connection timeouts, authentication failures, and rule policies. When sharing troubleshooting details, include only the necessary error lines in order, and redact subscription URLs, passwords, authentication identifiers, and QR codes. Full URLs in logs may also contain credentials. Don't send only a screenshot of a successful test; explain exactly which step fails and what comparisons you've already made.

To check the connection process from the beginning, return to the user guide and review the steps in order: import, select a routing mode, connect, and test.