Official Manual · Help Index

Shadowrocket FAQ

Find answers by when the issue occurs. Check the current state first, then follow the relevant steps. Change one setting at a time and keep the original configuration so you can restore it.

If you haven’t installed Shadowrocket yet, start with App Store verification and purchase. For a step-by-step walkthrough, see the setup guide.

App Store Verification and Purchase

Check the purchase source, purchase history, and device compatibility separately. An app purchase doesn’t confirm that a server or subscription is active.

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

Check all three: the app name is Shadowrocket, the developer is Shadow Launch Technology Limited, and the product page URL contains id932747118. You can also compare the app icon with the official icon in this site’s header. The app ID is 932747118; don’t rely on the name or a similar-looking icon alone. If search results show lookalike apps, return to the official purchase guide and reopen the specified product page. Check pricing, compatibility, and update history on that page. Confirm your account and payment details before purchase; install the app through the App Store.

Can I connect as soon as I buy Shadowrocket?

A purchase alone doesn’t establish a connection. A one-time purchase of the client is not a service plan: Shadowrocket is the app, and connecting also requires your existing subscription or server details. The US App Store price is $2.99; other storefronts show local currency, and the actual price is listed on the App Store page. Before getting started, have the address, port, authentication, and protocol details for your existing service, then import them using Subscribe or Add Server. This guide covers configuration and use; it does not provide, sell, or recommend servers or subscriptions. Check the app purchase and your existing service separately.

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

Using the original purchasing account, look for the app in your App Store account’s purchase history, then open the Shadowrocket product page to check for a redownload option. If a price still appears, check the account used for Media & Purchases, your purchase history, and the current storefront before paying again. If your purchase history and device compatibility qualify, you can redownload the app from your purchases; follow the App Store’s information. App purchase history and in-app configuration are separate. Save any configuration you need before reinstalling, and check that your existing subscription and server details are intact after switching devices.

Can I install Shadowrocket on iPad? How do I check compatibility with other Apple devices?

Shadowrocket is primarily used on iPhone and iPad. On iPad, open the same App Store product page with the original purchasing account and check your purchase status and compatibility, then install as shown in the store. Check the compatibility section on that page for Mac, Apple TV, and Apple Vision as well. System requirements and availability as a universal purchase are determined by the App Store listing. Don’t assume a purchase on one device automatically covers every device. The iPad layout may vary with screen size and display mode; use interface labels such as Home, Config, and Settings to find your way around.

See how to verify the app →

Setup and First Launch

Confirm authorization and the default server first, then check the connection. System VPN status, server reachability, and actual access are separate checks.

What should I do when Shadowrocket first asks to add a VPN configuration?

This is a system authorization request to create a VPN configuration. Confirm that it was triggered by the Shadowrocket app you just opened, and check the app name in the system prompt before allowing it and completing device authentication. Authorization doesn’t mean the server is ready, and it doesn’t import a subscription or server details. If you canceled earlier, return to the app and try connecting again to prompt the request. Also check the VPN configuration status in Settings. Managed devices may restrict configuration changes; ask your device administrator about permissions rather than repeatedly deleting other configurations in use.

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

First, make sure SERVER contains a valid server and that it’s selected as the default. Then check that you’ve approved the initial VPN configuration request. If another VPN connection is running, stop it and try again to avoid changing multiple network settings at once. If the switch turns off immediately, note any app message, check that the selected server’s protocol and required fields are complete, and verify that the system isn’t restricting VPN configurations. Quit and reopen the app, then test the connection again. Deleting and recreating the system configuration should be a later step; save existing configurations and subscription details first. Repeatedly toggling the switch usually won’t identify the cause.

The interface is in English. Where should I start?

This guide keeps interface labels in English so you can match them directly. Use Home to select a server, set Global Routing, and control the connection; Config to manage rule configurations; Data to review traffic records; and Settings to adjust app preferences. Look for Add Server to add an individual server and Subscribe to import an existing subscription. The location of controls can vary by device and display mode, so look for labels rather than relying on fixed button positions. To get started, import your details, select a default server, connect, and verify the connection. Explore other settings as needed.

How do I select a default server and verify my first connection?

After importing your existing configuration, find the server you want in the SERVER list on Home. Tap the dot to its left and confirm the default selection has changed. Check Global Routing, turn on the connection, and follow the system prompts to authorize it. Once connected, run Connectivity Test and open the site or app you want to use. Test results only apply to the conditions tested; they don’t guarantee access to every destination. If the result is blank or times out, check that your device’s network is working, then review the server details and service status. A server name appearing in the list doesn’t mean you’re connected.

The buttons are in different places on iPad. How should I follow the guide?

Match interface labels to the action you want to take instead of tapping where a button appears on iPhone. For server selection, look for Home and SERVER; for rule configurations, Config; and for app preferences, Settings. On wider screens, a list and its details may appear side by side. Check which item is selected before editing so you don’t change a neighboring configuration by mistake. The first-use steps are the same: import your existing details, select a default server, check Global Routing, connect, and verify. If the store says your device isn’t compatible, check compatibility on the product page. System requirements are listed in the App Store.

Review first-launch permissions and Home →

Subscriptions and Server Import

These steps assume you already have your own subscription or server details. Identify the type of information first, then import, update, and verify it. Don’t confuse a subscription with a rule configuration.

How do I import an existing subscription?

Get the complete subscription URL for your existing service from your provider. Make sure it’s a subscription link, not an account dashboard, help page, or individual server share. Go to Add Server, choose Subscribe under Type, and enter the subscription URL and a recognizable name. Save it, follow the prompts to update, and check the SERVER list. After a successful update, select a default server manually, then connect and verify. Subscription links may contain account credentials, so save them only on a trusted device. If you ask for help troubleshooting, redact the full URL and authentication details; never include them in public screenshots or messages.

How do I troubleshoot a subscription parse error or an empty server list?

Check that the URL is complete, with no spaces or line breaks added during copying and no missing query parameters. Confirm that the address actually returns subscription data. Then check whether your device’s current network can reach it, and ask your existing service provider to confirm that the subscription is valid and returns a format compatible with Shadowrocket. Keep any working entries before trying the update again; don’t clear the list before you know the cause. If the list was working and suddenly became empty, note the error, update time, and network conditions to distinguish a failed request from expired authentication or a parsing issue.

How do I update a subscription, and what should I check afterward?

Update the existing Subscribe entry using its update control; the exact location depends on the app interface. Check that your network is working first, and save any custom content you want to keep. Entries managed by a subscription may change based on the content returned by the server. After updating, check that your servers are still listed, the correct default server is selected, and your usual connections work. Updating a subscription and updating the app in the App Store are different: the first refreshes existing service details, while the second updates the client. If an update fails, don’t retry repeatedly in quick succession. Read the error and check that the link is still valid.

I have details for just one server. What should I know before using Add Server?

Choose the Type that matches the protocol provided for your server, then enter its address, port, and authentication details. Protocols such as Trojan, VMess, and VLESS require different fields; don’t just replace the server address while keeping settings for another protocol. Check any TLS, transport, or server-name details in your provider’s information as well. You can use Scan QR Code to read an existing share, but check the fields before saving. After import, return to SERVER, select the entry, and run Connectivity Test and a real-world access test. Don’t include authentication details in public troubleshooting records.

What’s the difference between a subscription and a Config file?

Subscribe is generally used to retrieve and maintain a list of servers. A configuration file in Config organizes rules, DNS, and other connection settings. The two aren’t interchangeable just because their names sound similar. A server appearing in the SERVER list doesn’t mean a routing rule exists for a particular site; likewise, importing a rule configuration may not add server authentication details. When troubleshooting, check the default server, the active Config, and the Global Routing selection separately. Keep a recoverable copy before editing, and change one type of setting at a time to identify whether the cause is the subscription or the rules.

See the subscription parsing and empty-list checklist →

Routing and Troubleshooting

Start with your device’s network, then check the server, routing mode, rules, and DNS in order. Test the same destination each time and record the result before making the next change.

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

Config applies the rules in the active configuration to determine how connections are handled. Proxy routes connections through the proxy, while Direct handles them as direct connections. For everyday use with an existing routing configuration, select Config and check that the rules behave as expected. To troubleshoot, choose a specific test destination and temporarily switch to Proxy or Direct to compare results for the same destination. Restore the original setting when done. Direct doesn’t turn off the VPN switch, and Proxy doesn’t guarantee that a server is working. Check server status, rule matches, and actual access results together.

Shadowrocket says it’s connected, but websites and apps still won’t load. What should I do?

Turn off the connection and confirm that your device’s regular network can access the internet. Reconnect, then check the default server and run Connectivity Test. A system message indicating a connection only confirms the local VPN state; it doesn’t prove that the remote server, DNS, or destination service is working. If every destination fails, first check that the server is valid and its protocol details are correct. If only some destinations fail, review Global Routing, rules, and DNS. Record the results for the same destination under different settings and change one variable at a time. Updating a subscription, replacing a configuration, and changing DNS all at once makes it hard to find the cause.

Only one website is using the wrong policy in Config. What should I check first?

Confirm that Global Routing is set to Config and that the expected configuration file is active. Then check the relevant request record for the destination and matched policy. Rule order matters: an earlier match may prevent a later DOMAIN-SUFFIX or IP-CIDR rule from taking effect. Check the fallback policy in FINAL as well. Domain and IP rules match different kinds of targets, so don’t add a broad condition just because two URLs look similar. Save the original configuration, make the smallest possible rule change, then retry the request and verify the result. The example.com address in this guide is for illustrating syntax only, not a real service address.

How can I check whether DNS is causing the problem?

First distinguish DNS lookup failures from connection timeouts and errors returned by the destination service; not every site that won’t load has a DNS problem. Review the DNS-related settings in the active Config and save the original values. Then test one specific setting—for example, check whether dns-server under [General] matches your expectations. If you use DNS over HTTPS, confirm that the resolver address is reachable under your current network and routing conditions. Don’t stack multiple unfamiliar settings. After each change, retry the same destination and use the app’s records to check whether resolution and the subsequent connection each succeeded.

Does staying connected use a lot of battery? How should I check On Demand and Data?

Compare the relevant time period in your system’s battery usage, then check Data traffic records for ongoing transfers. VPN-related battery use may also be affected by background app activity, a weak signal, or frequent reconnects, so connection duration alone doesn’t tell the whole story. If the connection keeps restarting, first verify that a manual connection is stable, then check whether On Demand triggers match how you use the network. Avoid unnecessary repeated tests; note the network conditions, connection state, and traffic changes separately. Data is for observing traffic, not a billing statement for your existing service. Check your actual usage allowance with your provider.

Read the DNS settings comparison →

Go to the App Store