Official Manual · FAQ

Shadowrocket FAQ
Purchases, Imports & Connection Troubleshooting

Start by identifying which step is causing the issue, then check each item in turn. These instructions focus on iPhone and iPad and assume you already have your own subscription or server details.

Purchase & Restore

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

Can’t find Shadowrocket in the App Store? Check these things first

First, check the spelling, then check the country or region of your current App Store account. Availability depends on what the current storefront displays. Open the product page from this site’s App Store information page to verify it. To check your region settings, go to Settings → Apple Account → Media & Purchases → View Account → Country/Region. Labels may vary; follow what appears on your device. Before making changes, review Apple’s requirements for your balance, subscriptions, and payment method. Don’t switch regions just to troubleshoot search results.

How can I verify that I’m buying the genuine Shadowrocket app?

Check the developer name, Shadow Launch Technology Limited, the official app icon matching the one in this site’s header, and the product page URL containing id932747118. The app ID is 932747118; don’t rely on a similar name or search ranking alone. Before buying, also check the price and compatibility details in the current storefront. Refer to the App Store listing for system requirements. If anything doesn’t match, return to this site’s App Store information page and verify the listing before making a purchase.

Does a one-time purchase of the app include a service subscription?

A one-time purchase of the app is not a service subscription. It gives you the Shadowrocket client; to connect, you’ll need your own existing subscription or server details and must configure the corresponding settings. The US storefront lists the price as $2.99; the actual price and purchase terms depend on the current App Store listing, and other storefronts display local currency. This site covers app operation and configuration checks; it does not provide, sell, or recommend servers or subscriptions. Payment and a working configuration are separate things, so check them independently.

Do I need to buy Shadowrocket again after getting a new iPhone or reinstalling the app?

You can usually redownload the app with the account used for the original purchase; there’s no need to buy it again. Open your App Store account page and look for Shadowrocket in your purchased apps. The location or label may vary by system version. If a price still appears, first check that Media & Purchases is signed in with the original purchasing account, then review your purchase history, hidden purchases, and availability in the current storefront. Redownloading the app doesn’t restore all your configurations. Save your configuration data separately before changing devices, and keep sensitive information secure.

Can I install Shadowrocket on iPad, and where can I get it for Mac or Apple TV?

iPhone and iPad are the primary devices. Compatibility details for Mac, Apple TV, and Apple Vision are also listed on the same App Store product page; App Store is the only place to get the app. Refer to the listing for system requirements, device compatibility, and Universal Purchase availability. On iPad, check the app’s status while signed in with the original purchasing account. If prompted to pay again, verify the account and purchase history first. The steps in this manual focus on iPhone and iPad; interfaces on other devices may differ.

See how to verify the official App Store listing →

Setup & First Launch

Complete setup and system authorization, then verify access.

Shadowrocket asks to add a VPN configuration on first connection. What should I do?

This is a system authorization step that lets the app create a VPN configuration; it doesn’t mean a server is already connected. Confirm that the prompt was triggered by the Shadowrocket session you initiated, read the system message, then decide whether to allow it. You may need to enter your device passcode or authenticate. If you canceled earlier, return to the app and try connecting again. After authorization, select a server you already have and check Global Routing. System authorization alone does not confirm a successful connection.

What should I do if the connection switch won’t turn on or turns off immediately?

First, make sure you’ve added and selected a working server, then check that you’ve authorized the system VPN configuration. In Settings, check for device management restrictions or another active VPN connection. On a managed device, follow your organization’s requirements. Reopen the app and try connecting again; restart the device if needed. Don’t delete all configurations right away. Note the exact message and steps that led to the issue. If the switch stays on but a website won’t load, troubleshoot the connection and routing instead of repeating the authorization step.

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

This manual keeps interface labels in English so you can find them by name. Home is where you view and select servers; Add Server adds server details; Config manages configuration files; Global Routing controls the overall routing mode; and Settings is where you check settings. Display language depends on the app’s language support and your system language. Check the app’s settings in iOS to see whether a language option is available. Don’t identify a feature by button position alone. If the layout changes, use the label and the current screen context.

What’s the recommended order for setting up Shadowrocket for the first time?

First, prepare your existing subscription or server details. Add them in Home and check the resulting entries. Select a server, then check Global Routing: choose Config if you already have a working rule configuration, or Proxy to temporarily test the proxy route. Turn on the connection and follow the system authorization prompts. Finally, visit the intended destination and check the result in the logs. If the first attempt fails, don’t change the server, rules, and DNS all at once. Change one thing at a time to identify whether the issue is with the imported settings, routing, or current network.

Do I need to reimport all my configurations after updating the app?

Usually not. An app update alone doesn’t require you to reimport everything. First, check whether your existing servers, subscriptions, and Config are still there. App updates are delivered through the App Store; updating subscription content and rule configurations are separate actions and don’t replace each other. Before updating, save important configurations and custom rules. Afterward, check the selected server and Global Routing, then test an actual connection. If something behaves differently, review the App Store release notes and in-app settings one item at a time instead of overwriting all your configurations.

Follow the complete guide to make your first connection →

Subscription & Server Imports

Check links and protocol settings; keep the original configuration and error message.

Where do I import an existing subscription link?

First, make sure you have a subscription URL for Shadowrocket, not a service website URL. In Home, open Add Server and choose Subscribe. Enter the full subscription URL in the appropriate address field, add an optional label to identify it, then save and fetch the content. Check that server entries were created, then select one to test. Subscription URLs may contain access credentials; don’t post them in public Q&A, screenshots, or chat logs. If you need help, share only the error message and hide the full URL and authentication details.

How do I troubleshoot a failed subscription import or an empty list?

Check that the URL is complete and contains no extra spaces, line breaks, or punctuation. Then confirm that your current network can reach it. If you see an authentication error or get no content, ask your existing service provider to check the URL’s validity, access permissions, and supported format. A URL opening in a browser doesn’t mean it returns an importable subscription; it may only show a login page. Keep the original subscription entry, note the error, and then test again. Avoid adding multiple copies of the same entry, and never post the full subscription URL publicly when asking for help.

How do I update a subscription, and what happens to its entries?

Find the subscription in Home and use its update action; the exact location depends on the current app interface. After the update, check for errors, review the server list and current selection, then test the connection. An update may add, remove, or change entries, so don’t rely on local edits within a subscription as permanent changes. Back up important manual configurations separately. If an update fails, first confirm that your current network can fetch the subscription content, then check the URL. Repeatedly tapping Update won’t fix an expired URL.

Scan QR Code recognizes content, so why can’t I connect?

A successful scan only means the content was recognized; it doesn’t confirm that the server settings are correct or that the service is still available. After importing with Scan QR Code, open the entry and check the protocol, server address, port, authentication method, and TLS settings against the details you already have. If the QR code contains an ordinary webpage URL, confirm what it’s for before proceeding; don’t treat a webpage URL as server configuration. After importing, select the entry, turn on the connection, and verify it by visiting the intended destination. QR codes may contain sensitive credentials, so keep them secure.

What’s the difference between a server entry and a Config file?

A server entry mainly stores the connection destination and protocol settings. A Config file can contain rules, DNS settings, and other connection behavior. Seeing servers after importing a subscription doesn’t mean you also have a complete rule configuration suited to your needs. Likewise, importing a Config doesn’t mean the proxy policies it references have usable servers. Check both separately, then review the active configuration and Global Routing. Back up the original file before merging rules. Pay close attention to policy names and the position of FINAL to avoid overwriting settings that already work.

See how to import an existing subscription →

Rules & Routing Troubleshooting

Check the network and server first, then review rules, DNS, and on-demand connections.

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

Choose Config to route traffic according to the rules in your current configuration, Proxy to send connections handled by the app through the proxy route, or Direct to connect directly. These three modes control overall routing; they don’t fix incorrect server settings. Config is usually appropriate when you already have a working configuration. For troubleshooting, temporarily compare the same destination using Proxy and Direct, then restore your original setting. Access through Direct doesn’t prove the proxy works, and access through Proxy doesn’t prove the rules in Config are ordered correctly.

Shadowrocket says connected, but websites won’t load. What should I check first?

First, turn off the connection and confirm that your current network can access a site that normally works without a proxy. Turn the connection back on, then check the selected server, Global Routing, and active Config. Test whether the server is reachable and review the logs for connection errors, DNS resolution, and policy matches. A latency test result doesn’t guarantee that a particular site will work. Compare Proxy and Config using the same destination: if Proxy works but Config doesn’t, check the rules and DNS first. Change one setting at a time and record the results so you can isolate the cause.

A server keeps timing out. Should I change the rules first?

Don’t start by changing the rules. Check your current network, then verify the server address, port, protocol, authentication details, and TLS settings. Make sure your device’s date and time are correct. When using an in-app test, consider what that test actually measures: no response to one type of probe doesn’t necessarily mean a real proxy connection will fail. Check the connection logs and try an actual connection. If the same entry fails across different networks, ask your existing service provider to check the server status. For certificate errors, check the domain name and system time; disabling verification isn’t a general fix.

Why isn’t traffic using PROXY when I’ve added a DOMAIN-SUFFIX rule?

First, confirm that Global Routing is set to Config and that you’re using the configuration file you edited. Check that DOMAIN-SUFFIX,example.com,PROXY appears before FINAL, isn’t being matched by an earlier rule, and points to a working server. A webpage may request resources from other domains, so a rule for the main domain alone might not cover everything. Use the logs to check the requested domains and matched policies, then add rules only where needed. FINAL,DIRECT is a fallback when no earlier rule matches; don’t place it before specific matching rules.

Battery use increased after turning on Shadowrocket. What should I check?

Compare battery usage in Settings for similar periods of use and data transfer. Consider whether the drain is caused by ongoing traffic, a weak network signal, or repeated reconnections. Check whether frequent tests, detailed logging, or debugging features are enabled unnecessarily, and whether On Demand suits your connection needs. Make adjustments as needed and observe similar usage for a while; don’t draw conclusions from one battery drop. On Demand triggers connections based on conditions and doesn’t guarantee lower battery use. If the logs show repeated failures, fix the server or network issue first to reduce unnecessary retries.

Learn more about rule types and matching order →

Download Shadowrocket from the App Store