Verify the developer, Shadow Launch Technology Limited, the official app icon, and the app ID on the App Store listing.
Verify these three detailsGenuine App Store app · One-time purchase
Shadowrocket User Guide ShadowrocketApp Store verificationand subscription setup
A rule-based routing client for iPhone and iPad, available as a one-time purchase. Check the App Store listing for system requirements.
- Shadowsocks
- VMess
- VLESS
- Trojan
- Hysteria2
- WireGuard
Buy once from the same App Store listing for iPhone and iPad. Install the app or restore your purchase through the App Store.
Get it on the App StoreThe app purchase is separate from a service plan. Get subscriptions from your service provider.
- Available exclusively on the App Store
- App ID
932747118 - One-time purchase
- Rule-based routing
- For iPhone and iPad
Getting Shadowrocket on iPhone and iPad
Check your App Store account and purchase history before installing. Buying the app and getting connection details are separate steps.
iPhone
Verify the app on its App Store product page before buying or restoring it. The first time you connect, iOS will ask to add a VPN configuration. Allow it after confirming Shadowrocket initiated the request, then follow the system prompts to authenticate. Installing the app does not provide a server; you still need to import your own connection details.
Read the guideiPad
Use the same Apple ID you used to buy Shadowrocket, then look for it in your App Store purchase history. The iPad layout may move controls in landscape or on a larger screen, but the main sections remain Home, Config, Data, and Settings. Check the selected server and configuration before connecting.
Read the guideShadowrocket is also available on Mac and Apple TV from the same App Store listing. Check the listing for compatibility and system requirements.
Before switching devices, distinguish the app purchase from app data. The App Store restores your eligibility to get the app, while subscriptions, server details, and configuration files must be checked separately. If you use iCloud sync, check the relevant in-app settings and confirm what has synced. Restoring a purchase does not restore every setting or file.
See how to get the app →How modes, subscriptions, and configurations work
First distinguish where the connection goes from which requests use it. Then configure automatic connections or troubleshooting options.
Global Routing
Check Global Routing in Home to distinguish the Config, Proxy, and Direct modes. Config applies the policies in the selected configuration; Proxy sends applicable traffic through the selected proxy; Direct connects without a proxy. For everyday rule-based routing, select a configuration first, then choose Config. When troubleshooting, note the original mode, change one setting at a time, and restore it after testing. Changing modes does not fix server details or update a subscription.
Global Routing
Config
Proxy
Direct
On Demand
On Demand starts connections when specified conditions are met. Set it up only after confirming that a manual connection works. Review the On Demand options in Settings and enable them for the network conditions you actually use. When enabled, iOS may reconnect automatically based on those conditions, so turning off the Home connection switch may not stop On Demand behavior. Check those settings if you need to pause automatic connections. If connections keep starting, review network changes and trigger conditions before assuming the server is at fault. Avoid changing several settings at once.
Settings
On Demand
Subscribe
Subscriptions import and update server details. Get the link from your service provider. To add one, choose the Subscribe type and enter the link you already have, then check that the expected entries appear. Updating a subscription changes server details; it does not update the app or guarantee that every entry will connect. Keep the original link before updating. If an update fails, check that the link is complete and still valid, and that your current network can reach it. Subscription links may contain personal credentials, so hide the full address in screenshots, logs, and support requests. Do not share it publicly.
Add Server
Type
Subscribe
Config
Config manages configuration files, and rules determine how matching requests are handled. When reading rules in order, check specific domain or address conditions first, then look at the final FINAL rule. The snippet below shows rule syntax, not a complete configuration file; these three lines alone are not enough to configure everything. Keep a working copy before making changes. After editing, select the intended configuration and choose Config under Global Routing. If a request is handled unexpectedly, check which rule and policy it matched instead of simply switching servers.
DOMAIN-SUFFIX,example.com,PROXY
GEOIP,CN,DIRECT
FINAL,PROXY
Check protocol settings
Shadowrocket supports protocols including Shadowsocks, VMess, VLESS, Trojan, Hysteria2, and WireGuard. When adding a server, select the matching type under Type, then verify the address, port, and authentication details. Fields differ between protocols; settings for TLS, transport, and keys must also match the server. A protocol name describes the connection method, not the quality of the service. If an imported entry will not connect, first check that all parameters are present, then test connectivity and actual requests.
Shadowsocks
VMess
VLESS
Trojan
Hysteria2
WireGuard
Diagnostics and Data
Use Connectivity Test in Home for an initial connection check, Data to observe traffic changes, and Diagnostics in Settings for further troubleshooting. Test results and real-world access measure different things: passing a test does not guarantee that every request will succeed. When troubleshooting, note the network, selected server, Global Routing mode, and symptoms, then compare them with traffic and diagnostic information. Interpret Data readings in the context of their reporting range. They are not a service provider's billing balance, and one number alone cannot confirm the status of every connection.
Connectivity Test
Data
Settings
Diagnostics
Check servers, rules, and the connection switch separately
A server entry specifies the connection endpoint; Config determines how requests are routed; the Home connection switch controls the current connection. These settings are related but not interchangeable. After importing a subscription, confirm which entry is selected. After choosing a configuration, check Global Routing. Even when the system shows a connection, test real requests to confirm the result. Checking in this order avoids changing the subscription, configuration, and mode all at once, which would make it harder to identify the cause of a problem.
To understand keywords such as DOMAIN-SUFFIX, GEOIP, FINAL, or PROXY, start with the glossary → before editing an existing configuration. example.com in the rule examples is for syntax illustration only.
Import a subscription and test the connection
These steps assume Shadowrocket is installed and you already have your own subscription or server details.
-
Add Server: enter existing details
Go to Add Server from Home. For an individual server, enter the details for its protocol. For a subscription, choose Subscribe and enter the link from your service provider. Save, return to the list, and confirm that the entry appears with the expected name and group. Before scanning a QR code, verify the source and type of the details. Successful import only means the app recognized the information; it does not verify authentication details, validity, or server status.
If the list is empty, check whether the entry was saved, the link is complete, and the update reported an error. Do not add the same link repeatedly as a substitute for troubleshooting. If you already have a working configuration, keep it and test newly imported details separately so you can return to the previous state if something fails.
-
Global Routing: choose a handling mode
Select the server you want to use, then check Global Routing. To handle requests according to configuration rules, choose Config and verify the selected configuration file. Proxy and Direct represent different ways of handling traffic; do not confuse them with a server entry's name. Note the original setting before changing modes, and compare results on the same network with the same server to isolate the effect of routing.
Rule-based routing depends on rule order and the specified policy. If a domain is not handled as expected, check whether an earlier rule matched and which policy was ultimately applied before editing the configuration. A failure on one website does not mean every server is unavailable.
-
Home: connect and test real requests
Turn on the connection switch. The first time, read the system prompt to authorize the VPN configuration, confirm it, and complete any required verification. Then run Connectivity Test and try a known destination. The connection indicator shows the system connection state; it does not by itself confirm that DNS, authentication, rule matching, or the destination response is working. Consider test results together with actual requests.
If the connection fails, check the current network, selected entry, subscription validity, server details, and Global Routing in that order. Keep the key wording from any error message, but hide subscription links and authentication details. If the connection starts automatically after you turn off the switch, also check the On Demand trigger conditions. Restore your usual settings after testing.
Authenticity, purchases, and restoration
Shadowrocket is a closed-source commercial app. Checking the App Store listing is more reliable than relying on a name in search results alone.
Developer, icon, and app ID
Open the App Store product page. Confirm the app is named Shadowrocket and the developer is Shadow Launch Technology Limited. The app icon should match the official icon in this site's header. Also check that the product page URL includes id932747118. Verify all three details; do not rely on the nickname “Little Rocket” or a similar-looking icon.
If search results show apps with similar names, open the product page and check each detail rather than buying based on search ranking. Check the App Store listing for system requirements, compatible devices, and update history. This site does not list specific OS or app versions, which can become outdated.
See how to verify all three details →App Store availability and account region
App Store search results depend on the storefront associated with your account. Your device's location, system language, and App Store region are separate settings; changing one does not change the others. If you cannot find the app, first check the Apple ID used for Media & Purchases, then check the account's country or region and any messages shown on the product page.
If the product page says the app is unavailable in your current storefront, follow that notice when reviewing your account and store settings. Repeatedly changing search terms will not confirm whether you already own the app, and one failed search does not mean your purchase history is missing. Check the purchase history under the account you originally used.
Read the App Store verification guide →What the one-time purchase covers
The US storefront lists the price at about $2.99, paid once. Other storefronts show local currency; check the App Store page for the current price and purchase terms. The app purchase is separate from a service plan. Buying the app grants access to the client but does not provide a server or replace a subscription's validity period, data allowance, or authentication requirements.
This site does not provide servers or subscriptions. Get subscriptions from your service provider; enter existing server details according to the relevant protocol. App updates are handled through the App Store, while subscription updates happen in the client. These update different things and cannot replace one another.
See pricing and purchase details →New devices, reinstalling, and restoring purchases
Use the purchase history for the same Apple ID to get Shadowrocket on iPhone and iPad. When switching devices or reinstalling, first make sure the App Store is signed in to the account used for the purchase, then look for the app in the account's apps or purchased items. The exact menu names depend on your system version. If the store shows a price again, check the account and purchase history before buying again.
Check the App Store listing and Family Sharing settings to see whether sharing is available. After restoring the app, check separately whether subscriptions, servers, and configurations are present. If you use iCloud sync, verify the sync status and the resulting data. Confirm purchase history, synced data, and connection status separately.
See how to restore purchases →Common questions before connecting
First identify the step you're troubleshooting: getting the app, importing details, choosing routing rules, or testing a connection. Each requires different checks.
Why check the selected server after a subscription update?
A subscription update may change entry names, groups, or the entries themselves. After updating, return to Home to check the current selection, then run a test. The entry that worked before may not be the one selected afterward. If the update failed, check the link and network first; do not assume the old list contains the newly updated details.
See subscription FAQs →Are Config and Config in Global Routing the same?
The Config screen manages configuration files; Config in Global Routing is a mode that handles requests according to a configuration. Check that the right file is selected and the mode is set correctly. Editing a file while using another mode may not produce the expected behavior.
See interface terms and routing rules →The connection switch is on. What should I check next?
Run Connectivity Test, then test a real request and check whether Data shows a corresponding change. If only some requests fail, check the rules and destination response first. If everything fails, troubleshoot the network, server details, and authentication in that order. Change one thing at a time and record what differs before and after.
See connection testing steps →Interface and usage guides
Explore specific topics: interpreting traffic statistics, verifying App Store details, and differences when getting or using the app on iPad.
Understanding Shadowrocket Data traffic statistics: readings by server and app
Explains the reporting scope of the Data screen, what the different views show, and common reasons for resets or discrepancies. Before comparing client statistics with other readings, check the time range and what is being measured.
Read the guide →Can't find Shadowrocket in the mainland China App Store? Apple ID region and storefront availability explained
Explains how app availability relates to your account's storefront and how to check your account details in Settings and the App Store. Start by confirming your current storefront, then follow the product page prompts.
Read the guide →Using Shadowrocket on iPad: find your purchases with the same Apple ID and navigate the landscape layout
Learn how to find purchased apps with the same account and what to check when controls move in the larger, landscape layout. After restoring the app, check servers, configuration files, and connection settings separately.
Read the guide →For your first connection, follow the three steps on this page. For purchase and restoration details, see the App Store verification guide. If you encounter a specific error, start with the relevant section in the FAQs. Interface terms stay in English so you can match them to the app.
Browse all articles →