Shadowrocket
Frequently Asked Questions
First identify the step where the issue occurs, then open the relevant answer. For purchases and restores, check the App Store. For imports, verify the information you already have. For connection issues, check the server, Global Routing, DNS, and rules in order.
Verify and purchase
Verify the app and purchase account first, then check storefront, device, and redownload options.
Can't find Shadowrocket in the App Store? Start with these checks.
First, check that the name is spelled Shadowrocket. Open its App Store product page from this site to tell whether it is missing from search results or unavailable in your current storefront. Then check the country or region of the account signed in to the App Store, its payment status, and the content age restrictions in Screen Time. To check your region, open the Apple Account in system Settings, then go to Media & Purchases, View Account, and Country/Region. Before making changes, review Apple's information about your balance, subscriptions, and payment requirements. Avoid repeatedly switching regions.
How can I verify the official Shadowrocket app in the App Store?
Check the developer, Shadow Launch Technology Limited, the official app icon shown on this site, and the app ID 932747118 in the product page URL. Similar names do not replace these checks, and search result position is not proof of authenticity. Once all three match, review the price, compatibility, and purchase details in your storefront. Shadowrocket is a paid commercial app available exclusively through the App Store. Check the App Store listing for system requirements.
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 in your account's apps or purchase history, then use the redownload option shown by the store. The Apple Account signed in to the device may differ from the account used for Media & Purchases, so check the actual purchase record. If the product page still shows a price, review your purchase history and current storefront before paying again. Redownloading the app does not restore your Config, server details, or local records; check your backups separately.
Does the one-time Shadowrocket purchase include server access?
A one-time app purchase is not a server subscription. Buying Shadowrocket gives you a license to use the app; it does not provide a server or subscription to connect to. The US storefront price is $2.99; prices in other storefronts are shown in local currency. Check the App Store product page for the current price. You need your own subscription or server details to use the app, and should check their validity, data allowance, and availability separately. This site does not provide, sell, or recommend servers or subscriptions; it explains how to import and configure them in the app.
Can I install Shadowrocket on iPad? How do I check whether my iPhone purchase applies?
Shadowrocket supports iPhone and iPad. On your iPad, check the same App Store product page and make sure you are using the account that made the purchase. If you have a purchase record, look for the redownload option, then review the compatibility listed by the store. The layout on iPad may vary by device and how the app is displayed; look for interface labels such as Add Server, Config, and Settings. Check the App Store listing for system requirements, device compatibility, and purchase eligibility.
Install and first launch
Check system permissions, server details, and app settings separately. Reinstalling is not a substitute for troubleshooting.
Why does Shadowrocket ask to add a VPN configuration the first time I open it?
To establish a system network connection, Shadowrocket needs your permission to add a VPN configuration. Confirm that the request was initiated by the Shadowrocket app you are using, then read the system prompt and authenticate your device. Do not enter your server password into the device authentication prompt. This permission covers the system connection configuration; it does not create server details. Once authorized, return to the app, check the selected server and Global Routing, then turn on the connection. A VPN status indicator does not confirm that traffic is working, so test access as well.
What should I do if the connection switch won't turn on or turns off right away?
Make sure you have added and selected your own server, completed all required fields, and authorized the system VPN configuration. Check the error shown in the app, and see whether another VPN configuration is active or device management restrictions apply. Try stopping the connection, reopening the app, and connecting again. If system authorization failed, check the VPN configuration status in system Settings. Save any essential configuration and server details before reinstalling; reinstalling should not be your first troubleshooting step.
The interface is in English. Which sections should I start with?
Use the interface labels to find what you need; you do not have to change settings one by one. Home shows servers and connection status; Add Server is for adding details; Config manages configuration files; Settings contains app settings. Global Routing controls the overall routing mode and is especially important when troubleshooting. This guide keeps interface labels in English so you can match them to the screen. Locations may differ between devices or app layouts, so follow the labels shown on your screen.
How do I update Shadowrocket, and what should I check first?
Check for updates in your App Store account's update list or on the Shadowrocket product page. You can also use the system's automatic app update settings. Before updating, note the active Config and make sure important settings have a restorable backup. Store backups containing server passwords or subscription URLs securely. Updating the app and updating a Subscribe entry are different: the former updates the client, while the latter fetches the contents of an existing subscription again. Check the App Store listing and the app's own notices for feature changes and system requirements.
For a first-time setup, should I prepare a subscription or individual server details?
Choose based on the information you already have. A complete subscription URL fetches multiple server entries; for an individual server, enter its details in Add Server using the matching type. Before importing, confirm the information is valid and includes the protocol type and all required fields. A regular webpage URL is not necessarily a subscription URL. After saving, check the entries in the list, then select a server and set Global Routing. A successful import only means the information was added to the app; you still need to verify authorization, connection status, and access.
Import subscriptions and servers
The steps below assume you already have your own subscription or server details. Check your information first, then confirm whether the import or update succeeded.
How do I troubleshoot a failed subscription import or an empty list?
Check that the URL was copied in full and remove any spaces or line breaks at either end. Make sure it is a subscription URL, not an account or information page. Then check the subscription status, validity period, and output format with your provider. In Shadowrocket, review the subscription type and update result. If the current network cannot retrieve the subscription contents, no entries may appear. Avoid repeatedly deleting and recreating the entry; keep the original and its error message while troubleshooting. Hide identifying parameters in the URL before sharing details with anyone.
When should I update Subscribe, and what does an update change?
Update a subscription when its server entries have changed or the provider says its contents have been updated. The app fetches the entries available at that URL; names, parameters, and available entries may change based on the response. After updating, check that the currently selected entry is still there. An update does not renew a subscription or restore server availability. If automatic updates are enabled, review the conditions and frequency based on how you use the app. Repeatedly refreshing is not a substitute for troubleshooting.
Scan QR Code doesn't add a usable entry. What should I check?
Make sure the QR code contains server or subscription details that Shadowrocket can read, not a login page, payment page, or plain text. Check camera permission, image clarity, and that the entire code is visible. If scanning opens a confirmation screen, verify the type, address, port, and other fields before saving. If the format is unrecognized, use the information you already have to enter the details manually through Add Server. Do not guess missing fields. QR codes may contain passwords, so do not share the original image while troubleshooting.
Add Server saved successfully, but the connection fails. Could a field be wrong?
Possibly, but saving an entry does not prove that the server is valid. Check that Type matches the protocol in your information, then verify the address, port, authentication details, and encryption method. For TLS, check any required server name and other parameters; do not substitute values arbitrarily. Then check that the server itself is available and reachable on your current network. Use the protocol guide to understand field names, but get the actual values from your own server configuration. A latency test does not replace a full connection check.
Routing rules and troubleshooting
Connection status, rule matches, and actual access are separate checkpoints. Repeat the same request to see which change made a difference.
How do I choose Config, Proxy, or Direct in Global Routing?
Config uses the rules in the selected configuration file to decide how requests are handled. Proxy sends applicable traffic through the selected proxy policy. Direct sends traffic directly. For rule-based routing, first check that the correct Config is selected. While troubleshooting, you can briefly switch modes to compare results if you understand the effects, then restore the original setting. Global Routing is not a speed setting, and changing it will not fix an invalid server. App settings and system network conditions may also affect traffic.
Shadowrocket says it's connected, but I can't access the internet. What should I check first?
Stop the connection and check whether your current network can access the internet without it. Then verify that the selected server and its authentication details are valid. Check Global Routing and the active Config to determine whether all access is failing or only specific domains. Review DNS settings and request logs to confirm the resolved address and the policy that matched. Look for unintended REJECT rules, overly broad domain rules, or an unsuitable FINAL rule. Change one setting at a time and repeat the same access test. A VPN status icon alone does not prove the connection is working.
If routing rules aren't working as expected, should I check their order first?
Make sure Global Routing is set to Config and that the active file is the one you edited. Then check rule matching order from top to bottom. A broad DOMAIN-SUFFIX or IP-CIDR rule may match first, preventing a more specific rule below it from taking effect. FINAL is the fallback policy when no earlier rule matches. Use request logs to check the actual domain, destination address, and matching rule instead of inferring from a webpage's name. Back up the original configuration before editing, then retest with the same request.
Why is browsing still slow when Connectivity Test shows low latency?
Connectivity Test results depend on the selected test method and target. They reflect one connection or request at that moment, not sustained transfer speed, and do not guarantee access to every website. Real-world performance can also depend on server load, the destination, DNS, packet loss, and your current wireless network. Repeat the test to the same target on the same network and compare it with actual page loading. Do not change protocols based on a single latency result, or assume a failed test means all traffic is blocked.
Shadowrocket is using more battery than expected. Which settings should I check?
Start with the system's battery usage page: check the reporting period and foreground and background activity, then consider how much data was transferred. Large downloads, extended video streaming, and weak or unstable signals can all increase battery use. In the app, check whether detailed logging is left on, tests or subscription updates are running frequently, or the connection is repeatedly reconnecting. Restore your usual settings after troubleshooting and compare usage over a similar period on a similar network. Protocol choice is only one factor; there is no single battery-saving setting that works for every server and network.
Could On Demand be reconnecting after I turn the connection off manually?
It could. On Demand can start a connection when configured conditions are met, and turning the connection off manually may not change those conditions. Check whether On Demand is enabled in the app and review its rules. Also check the system for other automatic connection settings. For troubleshooting, temporarily disable the relevant conditions, switch networks, and see whether it still reconnects. Note the original settings before changing them, then decide whether to restore them once you know the cause. Repeatedly toggling the connection switch makes it harder to tell a trigger from an unexpected reconnect.