Official manual / FAQ index
Shadowrocket FAQ
Browse by purchase, setup, importing, or connection issues. Identify which step the problem occurs at, then check one thing at a time instead of changing several settings at once.
Verify and purchase
Check the product page before reviewing account region, purchase history, or device compatibility. A name in search results alone is not enough to verify an app.
See how to verify the app →Can’t find Shadowrocket in the App Store? What should you check first?
Check the spelling, then open the product page from this site’s App Store link instead of relying on search results. If the app is unavailable in your region, check the country or region set for your App Store account. Your device language, physical location, and store region are separate settings. To change your region, follow Apple’s steps under Settings → Apple Account → Media & Purchases → View Account → Country/Region. Check any balance, active subscriptions, and payment method requirements first. Changing your region does not guarantee the app will be available for purchase; the App Store listing is the final reference.
How can I verify that the app in the App Store is the genuine Shadowrocket?
Check the developer name, Shadow Launch Technology Limited, the app ID 932747118, and that the icon matches the official icon shown in this site’s header. You can verify the app ID in the product page URL, which contains id932747118. Don’t rely only on whether the name includes Shadowrocket. If the icon, developer, or app ID does not match, stop and reopen the correct product page before buying. Check the price, compatibility, and purchase details on that same page rather than relying on a search result snippet.
Does buying Shadowrocket also give me a working connection configuration?
No. A one-time app purchase is not a connectivity plan; buying the app and obtaining a connection service are separate. Shadowrocket is a paid, closed-source app for using your own server details or subscription configuration. You still need to import and check those settings after purchase. The US App Store price is $2.99 as a one-time purchase; the actual price and currency depend on the App Store listing. This site does not provide, sell, or recommend servers or subscriptions. The steps below assume you already have your own subscription or server details.
Do I need to buy Shadowrocket again after changing or restoring my device?
Sign in to the App Store with the Apple Account used for the original purchase. Find Shadowrocket in your account’s purchased items or app list, then open its product page to redownload it. Redownload availability depends on your purchase history, current App Store status, and device compatibility; check the App Store listing. If you see a price, verify the account and purchase history before paying again. Restoring the app does not automatically restore your servers or Config, so back up your configuration separately before changing devices.
Can I use Shadowrocket on iPad or other Apple devices after buying it on iPhone?
On iPad, sign in with the account used for the original purchase and check the same App Store product page for download availability. Refer to the listing for system requirements and whether the purchase is available across devices. Check its compatibility section for Mac, Apple TV, and Apple Vision support; don’t assume every feature works identically on every device. Family Sharing availability depends on the App Store listing and account settings. The app purchase and connection configuration on each device are managed separately, so check that your existing configuration has been imported after installation.
Setup and first launch
Check system permissions, server settings, and connection status separately. Restoring a purchase doesn’t restore the configuration or permissions on this device.
See first connection instructions →What is the VPN configuration permission shown on first launch, and what should I do?
When Shadowrocket sets up a system connection, iOS asks you to approve adding a VPN configuration. First make sure you’re using the genuine app and have selected your own server, then follow the system prompt. Approval takes place in the device’s system interface. This permission is not a server account and does not replace subscription details. If you cancel, return to the app and try connecting again. If the request remains blocked, check the device’s VPN and device management settings. On a managed device, follow your organization’s requirements; don’t repeatedly delete configurations used for other purposes.
The connection switch on Home won’t turn on or switches off immediately. What should I check?
Check that Home has a server and that one is selected, then confirm you’ve approved the system prompt shown on the first connection. If the switch immediately turns off, note the error message and check for another active VPN connection, device management restrictions, or an incomplete approval in the system VPN settings. Turn the connection off, quit and reopen the app, then try again, changing just one condition at a time. A switch that stays on only means the connection process has started; test access separately. Repeatedly tapping the switch is not a troubleshooting method.
After installing Shadowrocket on iPad, do I need to enter all my settings again?
Check whether Home already lists your own servers and whether the required configuration is present and enabled in Config. Don’t assume an iPhone purchase transfers this information. If the list is empty, reimport your saved subscription URL or use Add Server with your original server details. The iPad layout may differ with screen size, so look for the interface labels rather than relying on button positions. You’ll still need to approve the system prompt on this device. Check the App Store listing for compatibility.
The interface is in English. How do I follow the guide?
This guide keeps interface labels such as Home, Config, Settings, Add Server, and Subscribe in English so you can find them directly. To change the display language, check the Shadowrocket app language option in system Settings; use it only if your system offers the option. Language availability depends on what the app and system display. Don’t change protocol fields or rule keywords to account for a language difference; they are part of the configuration syntax. If the layout differs, match the interface labels and functions rather than tapping based on screenshot coordinates.
What’s the difference between updating Shadowrocket and updating a subscription?
App updates are managed in the App Store and can be checked in your account’s updates list; automatic updates depend on system settings. A subscription update rereads the server list from a subscription you already have in Shadowrocket. The two are separate. When troubleshooting, specify whether you updated the app or used Subscribe so server setting changes aren’t mistaken for an installation issue. Back up important configurations before updating the app. Before updating a subscription, check that its URL still works and note the selected server; afterward, confirm it’s still listed.
Import subscriptions and servers
These steps assume you already have your own subscription or server details. Check that the original information is complete before troubleshooting loading, saving, or selection.
See the server management guide →Where do I import a subscription I already have?
On Home, open the add option, choose Add Server, then select Subscribe. Enter your existing subscription URL, save, and wait for it to load. When the import finishes, return to Home, expand the relevant group, and check that servers appear. Select one to test it. A subscription URL may contain access credentials, so paste it only into the intended field; don’t include it in public screenshots, chat logs, or support requests. A name is just a local label and cannot replace the URL. Make sure you copied the full link, not the address of an informational page.
Subscribe import failed or the list is empty. What should I check, and in what order?
First check for spaces, line breaks, or punctuation accidentally included at the start or end of the URL, then make sure the link is complete and still valid. Check whether your current internet connection can reach the subscription address, and ask the provider of your existing configuration to confirm the subscription status and format. A page loading in a browser doesn’t mean its response is a parseable subscription; a sign-in page, notice, or empty response can leave the list blank. Keep any working groups, retry once separately, and note the error. Don’t delete all your servers in succession or share the full subscription URL publicly.
When adding a server manually with Add Server, which fields must match the original details?
Choose Type based on the details you already have, then enter the server address, port, and authentication information. Fields vary by protocol, so don’t reuse one set of settings for a different Type. Match the Shadowsocks encryption method and any transport or TLS settings to the original server details. A remark can help you identify the entry, but it won’t fix incorrect connection settings. After saving, return to Home, select the entry, and test it. If information is missing, check the original configuration instead of guessing passwords, ports, or certificate settings.
Importing with Scan QR Code or from the clipboard did nothing. What should I do?
Make sure the content is server sharing information or subscription information you already have and can import—not an ordinary QR code for a webpage. For Scan QR Code, check camera permission, image clarity, and that the whole code is visible. For clipboard imports, make sure you copied the complete text and follow the system prompt for paste permission. A successful scan doesn’t guarantee the settings are correct; check Type, address, and authentication details after saving. If the content isn’t recognized, check its format against the original source. Don’t upload sharing information that includes a password to a public QR-code reader.
How often should I update subscriptions, and how do I organize multiple Subscribe entries?
Set your update schedule according to how often your existing subscription changes; there’s no need to refresh repeatedly because of latency fluctuations. If the app offers automatic updates, check the interval and trigger conditions before choosing settings for your needs. After a manual update, check the list, selected entry, and connection status. Give each Subscribe entry a name that identifies its purpose, and check its URL to avoid adding the same subscription twice. Confirm the new group loads before removing the old one. Back up any servers you edited yourself, as a subscription update may replace those entries.
Advanced Rules and Troubleshooting
Separate underlying network, server, routing mode, and destination issues. Latency, switch state, and actual access are different measures.
See feature and settings instructions →How should I choose Config, Proxy, or Direct in Global Routing?
The three modes are Config, Proxy, and Direct. Config processes requests using the rules and policies in the currently enabled configuration, which suits everyday use when you have specific routing requirements. Proxy sends applicable traffic through the selected proxy policy; Direct uses a direct connection. For troubleshooting, you can switch modes temporarily and compare results for the same destination, but first check the selected server and Config. Switching to Proxy won’t fix incorrect server settings, and switching to Config won’t add missing rules. Restore your preferred mode when testing is done.
It says connected, but I can’t access the internet. Should I check the server or the rules first?
Turn off the connection and confirm the underlying internet connection works. Then connect again and note whether all websites fail or only specific destinations. Use Connectivity Test to check the selected server, and verify its settings and the status of your existing service. A successful test doesn’t mean every request will work. If access works in Proxy but not Config, check the matching rules, policies, and DNS handling. If both fail, focus on the server and network path. Change one setting per test and retest the same destination. Keep the error details; don’t rewrite rules and replace every server at the same time.
I only want certain websites to use PROXY. Why isn’t my rule working?
Make sure Global Routing is set to Config and the configuration you edited is enabled. Rules are generally matched in order, so put specific DOMAIN or DOMAIN-SUFFIX entries before broader rules and FINAL, then check that the selected policy is valid. To route only some websites through a proxy, use DOMAIN-SUFFIX,example.com,PROXY with FINAL,DIRECT at the end to understand the matching logic; example.com is only a syntax example. A website may also request other domains. Check request logs to identify them instead of repeatedly adding duplicate rules based only on the address bar.
My latency test shows a very low number. Why do webpages still load slowly?
Latency measures response time under specific test conditions; it isn’t the same as a webpage’s full loading time. DNS lookups, TLS handshakes, server load, the destination’s response time, and resource size all affect the experience. Test the same destination on the same underlying network and at the same time, using the same server and routing mode, then compare Connectivity Test with actual browsing. Don’t draw conclusions from a region name or a single test result. If only one site is slow, first check its requests and matching rules rather than changing the entire configuration.
Shadowrocket is using a lot of battery in the background. How should I troubleshoot On Demand?
Check Shadowrocket’s active periods in system Settings under battery usage, and consider what you were doing online at the time rather than treating one percentage as proof of a problem. On Demand starts connections when its configured conditions are met; frequent network changes or repeated reconnects can affect battery use. Note your current conditions, then compare results across similar usage periods before and after a change. Also check for ongoing downloads or repeated failed attempts. On Demand is not a fixed battery-saving switch and doesn’t guarantee a continuous connection. Set conditions to suit your needs and restore the required configuration after testing.