Verify the App Store listing
Check the developer, official app icon, and app ID in the App Store, then review the current price and compatibility information shown there.
Genuine App Store app · Official manual
A paid client for iPhone and iPad. Verify the App Store listing, import an existing configuration, and set up rule-based routing. The app is available as a one-time purchase.
Check the developer, official app icon, and app ID in the App Store, then review the current price and compatibility information shown there.
Have your existing subscription or server details ready. The app purchase and network service are separate; check that your information is complete before importing it.
Check Global Routing, the selected server, and Config. Test with an actual request and review diagnostics to confirm that the routing behaves as expected.
Distinguish server details, configuration files, and connection methods before changing settings. The rule snippets below illustrate syntax only; example.com is a sample domain, not a working service.
Rules determine how requests are handled. Before you begin, select Config under Global Routing on Home, then open Config to check which file is active. Rules are generally evaluated in order, so place specific domains before broader conditions. DOMAIN-SUFFIX matches a domain suffix, while IP-CIDR matches an address range. PROXY, DIRECT, and REJECT specify different actions; FINAL handles requests that did not match earlier rules. After making changes, verify the results with actual requests and logs. Server latency alone cannot confirm that routing is correct.
Config applies the rules in the active file. Proxy and Direct are useful for comparison when troubleshooting. When testing is complete, check whether you need to switch back to Config so a temporary test mode does not become your long-term setting.
01[Rule]02DOMAIN-SUFFIX,example.com,PROXY03IP-CIDR,192.168.0.0/16,DIRECT04FINAL,PROXY
On Demand manages connections according to conditions you set; find it in Settings. First, use the manual switch to establish a normal connection and confirm that your existing server and Config work. Then review the On Demand conditions. Distinguish between Wi-Fi, cellular, and specific network conditions, and do not confuse connection triggers with request-routing rules. If the connection starts again after you turn it off, check the On Demand conditions and the VPN status in system settings. Test network changes and reopening the app separately. Change one setting at a time so you can identify the cause.
On Demand controls when to connect; Rules control how requests are handled after connection. The rule example on the right routes local network addresses through DIRECT. It does not mean automatic connection has been configured for a particular Wi-Fi network.
01[Rule]02IP-CIDR,192.168.0.0/16,DIRECT03IP-CIDR,10.0.0.0/8,DIRECT04FINAL,PROXY
Shadowrocket supports protocols including Shadowsocks, VMess, VLESS, Trojan, and WireGuard. To add a server manually, start with Type under Add Server, then check the address, port, authentication details, and transport settings against your existing server information. Fields are not interchangeable across protocols. If TLS is enabled, make sure the server name matches your details. If a connection fails, first confirm that the fields match the selected protocol, then review the connection logs. Changing only the protocol name will not make incompatible details work. Available options may vary by app version; PROXY in a rule does not specify a particular protocol.
A protocol describes how the client connects to a server; a policy determines where a request goes. First make sure the server details work, then check whether the request matches PROXY. Changing DIRECT to PROXY will not fill in missing authentication details.
01[Rule]02DOMAIN,example.com,PROXY03DOMAIN-SUFFIX,example.org,DIRECT04FINAL,PROXY
Use Subscribe to manage subscription details you already have. Before importing, make sure the link comes from your own service provider and copy it in full. Do not use the URL of an information page as a subscription link. After importing, review the groups and server entries, then select one to test. Updating a subscription fetches its contents again; it does not necessarily update the rules in the active Config. Give multiple subscriptions clear names. Before removing duplicate entries, verify where they came from, and keep a separate backup of any details you saved manually. Subscription links may contain personal credentials, so redact the full URL and authentication details when reporting a problem.
After updating server entries, confirm which one is selected. Config controls rules and related settings. The example on the right shows rule file contents, not a subscription link, and cannot be used to generate server details.
01[Rule]02DOMAIN-SUFFIX,example.net,PROXY03DOMAIN,example.com,DIRECT04FINAL,PROXY
Config manages rules and related settings. First check which file is active, then open the editor and review sections such as General and Rule. Keep a copy of the original before making changes so you can restore working settings. If you use iCloud sync, check your iCloud status and the app's sync settings, then verify that the content actually appears on another device. Sync does not guarantee a successful connection. Server details, configuration files, and purchase records are separate; restoring one does not restore the others. To isolate a problem, return to a known-working configuration and add changes one at a time.
After editing, confirm that the changes were saved, then return and check which Config is selected. A file appearing in the list does not mean it is handling current requests; also make sure Global Routing is set to Config.
01[General]02ipv6 = false03[Rule]04FINAL,PROXY
Connectivity Test checks how a server connection performs. Diagnostics in Settings can help pinpoint problems, and Data shows traffic recorded by the app. A successful test does not mean every website request will work; check DNS, rule matches, and the destination connection separately. Note the network, Global Routing mode, and selected server when a problem occurs, then reproduce the request. Keep other conditions consistent when comparing logs. Data's reporting scope is described in the app and should not be treated as a substitute for your service provider's usage records. Remove personal domains, addresses, and credentials before sharing logs.
First check the device's network, then review server fields, DNS, and rules. The snippet on the right illustrates the difference between a specific domain and the final policy. Do not overwrite your existing configuration before identifying the problem.
01[Rule]02DOMAIN,example.com,DIRECT03DOMAIN-SUFFIX,example.net,PROXY04FINAL,PROXY
Shadowrocket is available exclusively on the App Store. Open the product page to check whether it is available in your storefront, then review device compatibility. See the App Store listing for system requirements and purchase availability.
After purchasing and installing from the App Store, prepare your existing server details. The first time you connect, the system will ask you to approve adding a VPN configuration. This authorization is required to establish a connection; it does not confirm that the service is working. Make sure the prompt follows an action you initiated, then approve it as directed by the system.
If the product page shows Purchased or a redownload option, check which Apple ID was used for the purchase. Do not buy the app again just because no server entry appears on Home; server details must be imported separately.
Read the iPhone guide →Shadowrocket supports use on iPhone and iPad. Check Purchased in the App Store with the same Apple ID to find the redownload option; see the App Store listing for purchase availability across devices. Screen layouts may differ, so look for settings by their interface labels, such as Home, Config, and Settings.
Check purchase records and app configuration separately. Even if you have connected successfully on iPhone, check the subscription, selected server, rule file, and system authorization on iPad. If you use iCloud, verify that the content has actually synced.
Read the iPad guide →Shadowrocket is also available on Mac and Apple TV through the same App Store. See the App Store listing for system requirements, device compatibility, and purchase availability.
View setup steps →These steps assume you already have your own subscription or server details. Keep the initial setup simple: establish a connection you can verify, then add rules and On Demand conditions one at a time.
To add a server manually, select Type first, then enter the address, port, and corresponding authentication details. If using an existing subscription, make sure you copy the complete Subscribe link. To import a QR code, open Scan QR Code and check the source before scanning. After import, review the SERVER group, confirm that the expected entry appears, and select a server. A QR code or link only carries information; it does not verify that the server itself works.
If import fails, compare the content with the original details. Check for truncated text, extra spaces, or a Type that does not match the information. Avoid repeatedly importing the same content to fix the issue; that can create duplicate entries and make servers harder to identify and update.
For rule-based routing, select Config and confirm which file is active on the Config page. Proxy and Direct can help compare results, but they handle traffic differently from Config. Note the current mode before troubleshooting. If only one domain fails, check which rule it matches instead of replacing all your server details.
When reading a configuration, distinguish match conditions from policies: DOMAIN-SUFFIX defines what matches, PROXY or DIRECT defines how to handle it, and FINAL specifies the fallback. Do not infer a file's purpose from its name alone; the actual contents and whether it is enabled determine the result.
Return to Home and turn on the connection, then approve the VPN configuration as prompted by the system. Run Connectivity Test and visit the destination you need to check. A connected status only indicates that the connection process reached a certain state. Whether a webpage loads also depends on the destination, DNS, server, and active rules. Note what happens when a request fails, then look for related information in Diagnostics.
If the latency test returns a result but a webpage will not load, first check that your regular network works. Then determine whether the issue is DNS resolution, a connection timeout, or incorrect routing. Change one setting at a time and keep a configuration you can restore. This makes it easier to tell whether a change helped instead of letting multiple changes mask one another.
Shadowrocket Home is the official Shadowrocket guide. This page covers app verification, purchasing, and configuration recovery separately so they are not confused during setup.
Developer Shadow Launch Technology Limited
App ID 932747118
The icon matches the official one shown on the left
Open the product page in the App Store. Confirm the product name is Shadowrocket and the developer is Shadow Launch Technology Limited. The icon should match the official icon shown on this site, and the app ID in the product page URL should be 932747118. Search results may include apps with similar names; the name or colors alone are not enough to identify the right app. Verify all three details. Check the purchase button, price, and compatibility on the same product page, and rely on the current App Store listing rather than information from elsewhere.
If you cannot find the app, first check which storefront is associated with the Apple ID used for the App Store. Device language and network location do not determine this. Open the direct product page and review the availability message shown by the storefront. Storefront settings can affect payment methods and purchase history, so avoid changing them repeatedly just to troubleshoot a search. To check your account's region, use the Media & Purchases section in system settings; the exact path depends on your device.
If the product page is available but you cannot complete the purchase, check your payment status, account restrictions, and any messages from the storefront. Being able to open the product page does not guarantee that your device meets the installation requirements. See the App Store listing for system requirements and compatibility. For more checks, read the App Store guide.
Shadowrocket is a closed-source commercial app sold as a one-time purchase. The US reference price is $2.99; other storefronts show local currency, and the current App Store listing determines the actual price. App Store manages installation and updates after purchase. This price applies to the client app, not to any server or network service, and does not indicate how long an existing subscription remains valid.
When using iPhone and iPad with the same Apple ID, check Purchased in the App Store for a redownload option. See the App Store listing for purchase availability. If the page shows a price again, check the purchasing Apple ID and purchase history before paying again. To see whether Family Sharing applies, review the product page and your Family Sharing settings; one family member having the app installed does not mean everyone has the same purchase rights.
After changing devices or reinstalling, restore the app first, then check your configuration files and server details. Purchased items help you find the app; they do not confirm that a subscription is still valid. If you use iCloud, check the relevant settings, account, and actual sync results. Verify the contents and source of any backed-up configuration before enabling it. After restoring, select Global Routing, check the current server, and test an actual request.
Check the app's update history in the App Store and manage updates through your device settings. See the App Store listing for update details and system requirements; this site does not pin a specific version on its homepage. Before changing complex rules, save a copy of a working configuration. Updating the app and updating a subscription are separate actions: one updates the client, the other refreshes subscription content. If a problem occurs, check these actions separately to narrow down the cause.
Continue with answers to common purchase and subscription management questions. Each article focuses on a specific task. Interface labels and rule keywords remain in English so you can compare them with the app.
Find out where to check the App Store price, what the one-time purchase covers, and why app purchase history and the validity of an existing network service must be checked separately.
Read the purchase guide →Start by checking your current storefront. Learn how search results, product page availability, and purchase eligibility differ, and how to check purchase history and payment details.
Read the App Store guide →For users who already have multiple Subscribe links, organize groups and identify their sources. Learn how updating differs from deleting, and reduce duplicate entries that can make server selection harder.
Read the management guide →