Official Guide · FAQs

Shadowrocket FAQ

First identify whether the issue occurs during purchase, installation, import, or connection. Open the relevant question and check each item in order. Change only one setting at a time, then repeat the same test.

  • 4 question categories
  • 20 troubleshooting checklists
  • Interface labels kept in English

App Store & Purchase

Check the store listing and purchase history before deciding what to do next. Shadowrocket is a paid app for Apple platforms and is available exclusively through the App Store.

How can I verify that the app in the store is Shadowrocket?

Check that the developer is Shadow Launch Technology Limited, the official icon matches the one in this site's header, and the product page URL contains app ID 932747118. Don't rely on the name or search ranking alone. On the product page, review compatibility, pricing, and purchase details; system requirements are as listed on the App Store page. If details don't match after opening a result, return to this site's App Store verification guide and open the page from there.

Does the one-time app purchase include connection service?

A one-time app purchase is not a service plan. It grants the right to use the Shadowrocket app; users must already have their own subscription or server details for connections. The US storefront price is approximately $2.99; the actual price, currency, and purchase terms are shown on the App Store page. This site does not provide, sell, or recommend servers or subscriptions; it explains how to import and use configurations you already have. Check the app purchase status and any existing service's validity separately.

Do I have to buy it again after changing or restoring my device?

In most cases, you can redownload the app from your App Store purchase history or app list using the Apple Account used for the original purchase, without buying it again. First confirm that the original account is signed in under Media & Purchases; the Apple Account shown at the top of the device isn't enough. If a price still appears, don't proceed with payment. Check your purchase history, store region, and app ID. Restoring the app does not restore all local configurations, so save existing subscription links, server details, and Config before changing devices.

What if payment fails or the app won't download after purchase?

Check the App Store payment notice and purchase history to see whether the transaction is complete, pending, or failed; don't repeatedly submit the payment. Then check your network, available device storage, and account payment details. If the system reports an outstanding balance, follow the instructions on your account page. If the purchase is confirmed but the app won't download, reopen the App Store and find it in your purchase history. Handle payment disputes and refund requests through Apple's purchase history and support processes.

See how to verify the App Store listing →

Installation & First Launch

Check app installation, system VPN authorization, and server connectivity as separate steps. They are distinct processes; the status of a single switch can't confirm them all.

What should I prepare before connecting for the first time on iPhone?

After installing from the App Store, make sure the device's current network can open websites you commonly use, then have your own subscription or server details ready. Import them from Home or enter the details through Add Server. Check the selected entry before trying to connect. The first time you connect, the system may ask to add a VPN configuration; read the prompt and confirm it was triggered by Shadowrocket before authorizing. System requirements are as listed on the App Store page. An enabled connection switch does not guarantee that the server is available.

Can I install it on iPad, and what should I do after purchase?

Open the same Shadowrocket product page in the iPad App Store. Compatibility and system requirements are as listed on the App Store page. If you use the Apple Account that made the purchase, find the app in your purchase history or app list and download it. The iPad layout may vary with screen size and app settings, but you can still locate features by interface labels such as Home, Config, and Settings. After installation, check whether you need to import your configurations again; don't assume local data has synced from another device.

How do I verify the system prompt to add a VPN configuration?

Make sure the prompt appears immediately after you initiate a connection in Shadowrocket, then read the app name and configuration details shown by the system. After you approve, the system may ask for your device passcode or authentication; this is part of saving the VPN configuration. If you declined earlier, return to the app and try connecting again. If it still fails, search for VPN in Settings and check for conflicting or managed configurations. For a device managed by your workplace or school, check its management policy first; don't remove unknown configurations yourself.

The interface is in English. Which labels should I look for?

This guide keeps interface labels in English so you can match them to the app: Home shows server and subscription entries; Add Server is for adding details; Config manages configuration files; and Settings contains app settings. Under Global Routing, Config, Proxy, and Direct select configuration-based, proxy, and direct routing, respectively. If the app has a separate language option, check the app settings in system Settings. Available options depend on what the device and app display.

What if the connection switch won't turn on or turns off immediately?

First check that a valid server is selected, initial VPN configuration permission has been granted, and no other VPN connection is active. Disconnect other VPNs, then try again in Shadowrocket. If it still switches off immediately, note the system message, check for device management restrictions, and restart the device. If you need to recreate the VPN configuration, save your existing app information first and confirm that the configuration you remove belongs to Shadowrocket. A server timeout and a failure to establish a system VPN configuration are different issues.

Browse interface labels and settings terminology →

Subscriptions & Server Imports

The steps below assume you already have your own subscription or server details. Check what you enter, then verify the network and response. After a successful import, you still need to select a server and test the connection.

How do I import an existing subscription link?

Make sure you have the subscription link for a service you already use, not a link to an account dashboard or information page. Open the add option in Home, choose Subscribe or the subscription type shown in your interface, paste the complete link, and save it; then update it. Check that entries were created and that their protocols and names match the original configuration. Links may contain access credentials, so don't post them publicly. Adding a label to a subscription doesn't change its contents or replace the update step.

What if a subscription import fails, returns an empty list, or shows a parsing error?

Check for spaces, line breaks, or quotation marks added when pasting, then confirm the link is still valid and is a subscription URL. An empty list may mean the response contains no server entries. A parsing error may indicate a login page, an error page, or an unsupported data format was returned. Change only one condition at a time and retry on your current network and another available network. When checking the link's status or format with your service provider, share only the necessary error details and redact credentials in the link.

How do I update a subscription, and do I need to select a server again afterward?

Find the existing subscription in Home, open its action menu, and update it. Check for any error message. If your version offers an update-on-open option, enable it in the subscription settings if that option appears in your interface; automatic updates still require a network connection and a valid link. After updating, check whether the selected server is still available. If its name or entry has changed, select it again and test the connection. Refreshing a subscription does not update Config; check for rule file updates separately in the relevant configuration section.

Which settings should I check if a manually added server times out?

Compare the details with your own server information and check the type, address, port, and authentication fields in Add Server. Watch for capitalization and spaces introduced when copying. For VMess, VLESS, or Trojan configurations, also check the required transport, TLS, server name, and path; fields vary by type and are not interchangeable. Save the entry, select it, and then test. Don't disable certificate verification just to clear an error; first confirm the server parameters and certificate configuration.

A QR code import does nothing. How can I find the cause?

When using Scan QR Code, check camera permissions, image clarity, and whether the entire code is visible. If the code is recognized but no entry is created, confirm it contains server or subscription details rather than a regular webpage URL. If it came from a service you already use, check the fields against the text details provided by that service to avoid duplicate entries from repeated scans. QR codes may contain passwords or subscription credentials. Don't share the original image publicly or paste the full decoded contents into a public discussion.

Follow the tutorial to import and verify your setup →

Routing Rules & Troubleshooting

Keep the current Config and record the original settings before testing. Isolate underlying network, server, DNS, and rule-matching issues; changing several things at once makes it harder to identify the cause.

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

Config routes connections according to the rules in the active configuration. Proxy sends traffic through the proxy route, while Direct uses a direct route. For everyday use with an existing routing configuration, choose Config and confirm the intended file is active on the Config page. For troubleshooting, temporarily switch to Proxy or Direct and test the same destination to help distinguish a rule issue from a routing-path issue. Restore the original mode when finished. Switching modes won't fix incorrect server credentials.

Connected but can't access the internet? What should I check, and in what order?

Disconnect first and confirm the underlying network works. Then check the selected server and whether your existing service is valid; use Connectivity Test as a reference. Next, check Global Routing by comparing Config and Proxy against the same destination to see whether rules are involved. Finally, review DNS settings and connection logs to distinguish a DNS resolution failure, connection timeout, or unexpected rule match. Change one thing at a time and repeat the same test. The connection switch and VPN indicator show tunnel status only; they don't confirm that every route is working.

Only some websites won't open. Is it DNS or a routing rule?

Note the affected domains and error types, then check the connection log for resolved addresses, matched rules, and applied policies. If a destination works in Proxy but not Config, focus on rule order, the destination domain, and where FINAL sends traffic. If both modes show resolution failures, check DNS settings and the current network. DOMAIN-SUFFIX and GEOIP, for example, match on different criteria. Don't use one domain rule to explain every request or replace the entire configuration to hide the cause.

Battery drain or device heat increases after connecting. What should I check first?

Check the relevant period in the battery section of Settings and consider actual data transfer, signal strength, and background activity; don't assume the app is responsible based only on its battery percentage. Heavy data transfer, frequent reconnects, repeated testing, and keeping detailed diagnostic logs for a long time can all add to the workload. Stop unnecessary repeated tests, check for recurring disconnects, and compare under similar network conditions. If you're using On Demand, check whether its triggers cause frequent connections. If the issue persists, save the necessary details and investigate one factor at a time.

What if behavior changes after an app update or enabling On Demand?

Record the Global Routing mode, active Config, and selected server before and after the change. Check whether a subscription update changed the entries. If you suspect On Demand, temporarily disable it and connect manually, then repeat the test on the same network. If things return to normal, check the trigger conditions one by one. App updates are delivered through the App Store; check the store page for relevant notes. Don't delete all configurations. Save your current information first, then use reversible, one-at-a-time changes to identify whether the issue is due to settings, the network, or the server.