Official Guide / FAQ

Shadowrocket FAQ

First identify where the issue occurs: App Store purchase, first-time setup, importing details, or accessing content after connecting. The questions below are organized by these four stages; expand any item to read the answer.

Before troubleshooting, note the error message, current network, and recent changes. Change one condition at a time. App installed, subscription imported, and system shows connected are separate stages; none implies the others are complete.

App Store

Verify and purchase

Verify the product first, then check your account and purchase history. Account region, device compatibility, and network service status are separate issues.

Can't find Shadowrocket in the App Store? Start here

Open Shadowrocket’s App Store product page from the download guide to tell whether it’s missing from search results or unavailable in your current storefront. The “us” in a web link doesn’t mean your account uses that storefront; purchases are tied to the storefront for your signed-in account. On your device, open Settings, tap your Apple Account, then go to Media & Purchases and check Country/Region. Menu names may vary. If you need to change your region, review Apple’s requirements for your balance, existing subscriptions, and payment method through those official settings before proceeding. Don’t switch regions repeatedly to troubleshoot an ordinary network issue.

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

On the product page, check the app name, Shadowrocket, the developer, Shadow Launch Technology Limited, and the product link’s id932747118. Compare the app icon with the official icon in this site’s header; don’t rely on the name or position in search results alone. Verify all three details—the developer, official icon, and app ID—and recheck the product page if any don’t match. Shadowrocket is a closed-source commercial app, available only through the App Store. Check the App Store listing for pricing, compatibility, and purchase eligibility.

What does the one-time app purchase include? Can I connect right away?

A one-time app purchase is not a network service plan. It gives you access to the Shadowrocket app; it does not provide server details needed to connect. The US storefront price is about $2.99; prices appear in local currency in other storefronts, and the final amount is shown at App Store checkout. Before connecting, you’ll need your own subscription or server details and should verify the service status and settings. This site does not provide, sell, or recommend servers or subscriptions. If you have connection problems, check separately that the app is installed, the imported details are valid, and your current network can reach the server.

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

Sign in to the App Store with the account used for the original purchase. Find Shadowrocket under Apps or your purchase history, then use the download option shown on the page; menu names may vary by system version. If a price still appears, check which account is signed in to Media & Purchases and confirm the original purchase before paying again. Purchase history and in-app data are separate: restoring the app does not restore subscriptions, rules, or custom settings. Before changing devices, save your own configuration details securely and check them one by one after restoring. Check the App Store listing for purchase eligibility.

Is Family Sharing available, and where can I check compatibility with other Apple devices?

Check the Family Sharing details and compatibility section on the same App Store product page, then review purchase sharing settings for your family group. Eligibility depends on the listing, the purchase, and account status; joining a family group alone doesn’t guarantee you can restore the app. For compatibility, system requirements, and purchase eligibility on Mac, Apple TV, and Apple Vision—as well as iPhone and iPad—refer to the App Store listing. Sharing an app purchase doesn’t share subscription details or server access; check which devices and connection conditions your existing service allows.

Read more about storefront regions and app availability →

Installation / Home

Install and first launch

First distinguish App Store download issues from connection problems, then check system permissions. Authorization and server setup are separate steps.

iPhone download is stuck or a purchase won’t complete. What should I do?

Note the full error message from the App Store and determine whether the issue is an incomplete payment, a pending download, or device compatibility. Check available storage, your network, and whether your App Store account needs payment verification or acceptance of updated terms. If the download is pending, pause it and try again on a stable network. If the purchase status is unclear, check your purchase history before confirming payment again. Check the App Store listing for system requirements. If other apps won’t download either, troubleshoot your App Store account or network first. If only Shadowrocket is affected, check the product page for availability and compatibility.

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

Open the Shadowrocket App Store product page on your iPad and check compatibility and system requirements; refer to the listing for current details. If you’ve already purchased the app, check your purchase history using the original account and download it through the App Store. Any universal purchase eligibility is also determined by the listing. The iPad layout may differ from the iPhone layout, but look for the same interface labels, such as Home, Config, and Settings. After installation, check your subscriptions, server settings, and active configuration separately. Restoring the app download doesn’t mean your in-app data has migrated.

What does the prompt to add a VPN configuration mean when I connect for the first time?

This is a system authorization prompt for setting up the app’s network connection. It is not a purchase confirmation and won’t fill in server details automatically. Confirm that you installed the genuine Shadowrocket app and checked the imported details, then start a connection and follow the system prompts to grant permission and verify your device. If you previously canceled, return to the app and try again. If the prompt persists, check the VPN configuration status in system settings. Organization-managed devices may restrict new configurations; contact your device administrator if so. Authorization only permits a connection to be established. Whether it works depends on the server, configuration, and current network.

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

First, confirm that you’ve imported and selected a valid server. When you turn on the switch, note whether a system authorization prompt or error appears, or whether the connection briefly starts and then stops. If system authorization is incomplete, resolve the VPN configuration permission first. If another VPN configuration is active, disconnect it before testing. Don’t delete all system configurations just to troubleshoot, especially on an organization-managed device. Then check required server settings, service status, and your current network. Keep the error message, then restart the app or device if needed. Change one thing at a time so you can identify what resolves the issue.

The interface is in English. How can I find settings while following a guide?

This guide uses the interface’s original English labels. Find features by name rather than relying on their exact position in a screenshot. Home shows connection controls and the server list; Add Server adds connection details; Config contains configuration files; and Settings contains other options. Global Routing controls how traffic is routed. To check whether you can change the app’s language, open Shadowrocket’s settings in system Settings and look for a Language option; available choices depend on your device. If there isn’t one, use the English labels. Layouts may vary by device, so confirm which page you’re on before looking for a feature by name.

See the iPhone download and first-launch guide →

Add Server / Subscribe

Subscriptions and server imports

This section covers details you already have. Identify the type of information first, then distinguish request failures, parsing errors, and connection problems.

An existing subscription won’t import. What should I check first?

Make sure you copied the complete subscription link from a service you already use, not an account page, help page, or single-server share link. Check for spaces or line breaks at either end and make sure no parameters are missing; confirm the service is still active. In Add Server, choose Subscribe, enter the link, save it, and check the result. If the request fails, check whether your current network can reach the service. If parsing fails, check whether the returned content uses a supported subscription format. When contacting the service provider, share the error message only. Don’t expose a full link, QR code, or configuration file that contains a personal token.

What’s the difference between a single-server link, a QR code, and Subscribe?

A single-server link usually contains the protocol and settings needed for one connection. A QR code is one way to share that information, though it may also contain a subscription address. Subscribe retrieves and maintains a group of server details provided by a source. Identify the content before importing: enter existing server details in Add Server using the matching protocol, scan a QR code with Scan QR Code, or use Subscribe for an existing subscription. A successful scan doesn’t guarantee valid settings; after saving, check the address, port, authentication, and transport settings. Don’t enter a subscription address in a server address field or guess the protocol based on a similar name.

A subscription imported, but the list is empty or has fewer entries. Why?

Check that you’re viewing the newly imported subscription group, not another group or a filtered list. Then check the update result: did the source return no content, or did the last update fail? The number of entries can change because of service status, account permissions, format support, or changes at the source. Entry counts alone don’t indicate an app problem. Keep the existing details and ask the source what it should currently return; don’t repeatedly delete and re-add the same address. If entries are present but unusable, check the individual server settings and connectivity. A populated list and a working connection are separate stages.

How do I update an existing subscription, and what should I check first?

In Home, find the relevant subscription group and use its update option, then check the result. The exact option may vary in the current app interface. Before updating, note which server you’re using and any local changes you’ve made to entries. An update uses data returned by the source, so it may overwrite local changes or replace or remove existing entries. After updating, make sure your selected server is still there and test the connection. If the update fails, keep the current list and check the address, service status, and network. Avoid importing the same link repeatedly, which can create duplicate groups and make troubleshooting harder.

What should I hide when sharing information about an error?

Keep the time of the error, the steps you took, the protocol, the error message, and whether you were on Wi-Fi or cellular; these details can help identify the issue. Hide personal tokens in full subscription links, authentication passwords, private keys, and QR codes that can be imported directly. Check configuration files for the same information before sharing them. Hiding your account name alone isn’t enough: link parameters and logs may still reveal access credentials. If sensitive information has been exposed, use the account management options provided by the original service to replace it, then update the relevant details in the app. This site explains import and maintenance procedures and does not collect users’ full access credentials.

Follow the setup guide to check the import steps →

Global Routing / Connectivity Test

Rules, routing, and troubleshooting

Keep the test destination fixed and check each layer: local network, server, routing, and configuration. Treat connection status and test results as indicators, then verify with an actual connection.

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

Config applies routing policies according to the rules in the active configuration, so use it after checking those rules. Proxy sends app-handled connections through the selected proxy route, which is useful for testing the server. Direct sends app-handled connections directly, which lets you compare how your local network performs. These options change routing; they don’t fix incorrect server settings or guarantee that a destination is reachable. For everyday routing, make sure Config is using the intended file. To troubleshoot, keep the destination the same, change only the routing option, and retry the connection. Don’t change the server and rules at the same time, or you’ll lose a useful comparison.

It says connected, but webpages won’t load. How do I troubleshoot this step by step?

A connected status usually means the system connection configuration has started; it doesn’t mean the destination is reachable. Disconnect and check whether your local network can access pages that normally work. Reconnect, use Connectivity Test to check the selected server, and verify authentication, port, and service status. The test only covers its specified destination, so also try opening the page you need. If Proxy works but Config doesn’t, check the active configuration’s rules, final policy, and DNS. If neither works, compare Wi-Fi and cellular. Retry the request after each change and note what happens; don’t change several settings at once.

I added a rule to Config, but the result hasn’t changed. Why?

Check these in order: Global Routing is set to Config, the edited file is saved and enabled, and the rules are ordered as intended. Rules generally match from top to bottom, so a broad rule near the top can take precedence over a more specific rule below it. FINAL handles connections that don’t match earlier rules. Check that each rule matches the right type of target: DOMAIN-SUFFIX matches domain suffixes, while IP-CIDR matches address ranges; they aren’t interchangeable. Re-establish the target connection after making changes, as existing connections may keep their previous route. If the result is still unexpected, check the app’s connection records for the actual domain, address, and matching policy, then investigate the specific rule.

On Demand reconnects automatically. How can I change its behavior?

On Demand starts a connection when its configured conditions are met; it doesn’t check whether a server works and fix problems automatically. If the connection comes back after you turn it off manually, check whether On Demand is enabled and review its conditions for the current network. To troubleshoot manually, temporarily disable On Demand, keep the server and routing option fixed, and test again. Restore On Demand afterward if needed. Note the existing conditions before changing them so you can restore them, and avoid changing multiple settings at once. Automatic connection doesn’t mean traffic is routed through a proxy; the route depends on Global Routing and the active configuration. Check the actual route after confirming the switch status.

Battery use has increased or speeds are slower. How can I find the cause?

Compare under similar network conditions, usage times, and browsing activity. Video streaming, cloud syncing, or a weak cellular signal can increase battery use independently of the app. Check system battery usage and look for repeated reconnects, continuous testing, or detailed logs left on for long periods. For speed issues, check your local network first, then the selected server and service status. Verify protocol settings against the information from your source rather than changing them at random. Change only one factor at a time—network, server, or configuration—and stop any tests or detailed logging you no longer need. A single battery percentage or speed test can’t pinpoint which layer is causing a problem.

Read about Config and related settings →