Shadowrocket Official Manual

ShadowrocketSetup & User Guide

Rule-based proxy client for all platforms. Get the version for your device, then import an existing subscription and configure rule-based routing. iPhone / iPad: $2.99 one-time purchase on the App Store. Mac, Windows, Android, and Linux versions are free.

Current version Loading · Mac, Windows, Android, and Linux versions are free

Already have the app? See the quick-start guide →
SubscribeConfigGlobal Routing
iPhone iPad Mac Windows Android Linux iPhone / iPad $2.99 one-time · Free on other platforms
Official Shadowrocket Home screenshot showing the connection switch, Global Routing and server group

Subscription import and rule-based routing

Prepare your own subscription or server details first, then check the configuration and connection method. The manual links below follow the actual workflow. Each section has two tabs explaining what the options do, where to set them, and what to check.

View the quick-start guide

Route requests by rule match order

Rule-based routing determines which path each request takes. In Config, check the active Rule section: DOMAIN-SUFFIX matches domain suffixes, GEOIP matches the region associated with a destination IP, and FINAL catches requests that do not match earlier rules. PROXY, DIRECT, and REJECT send requests through a proxy, connect directly, or reject them. Rules are evaluated from top to bottom, so put more specific conditions before broader ones. Keep a copy of the original configuration before editing and test one destination at a time. The example on the right shows syntax; it is not a complete configuration for every network.

Having a rule in the file does not mean it is active. Return to Home and check that Global Routing is set to Config, and that this is the configuration file currently in use. If a destination still takes the wrong path, first check whether an earlier rule matches it; do not keep adding duplicate entries at the end of the file.

Read about rules and proxy modes →
DOMAIN-SUFFIX,example.com,PROXY
GEOIP,CN,DIRECT
FINAL,PROXY
  • Config Check the active file ›
  • Rule Check match order ›
  • Global Routing Config ›

Add an existing subscription in Home

Get the subscription link from your service provider. In Home, tap + in the top-right corner, open Add Server, set Type to Subscribe, paste the complete link, and save. After importing, check that servers appear under SERVER, then select one and test the connection. Subscribe updates the server list; it does not automatically configure all routing rules. A link may contain access credentials, so keep all of its parameters intact but do not share it in public comments or screenshots. If an update fails, first check the copied text, your current network, and the subscription status provided by your service provider.

For details about a single server, enter them in Add Server according to its protocol instead of treating the server address as a subscription link. The list may change after a subscription update, so confirm the selected server again before testing. You can share the error text needed to explain the issue without sharing the complete link. There is no need to delete all configurations while troubleshooting.

See how to import a Subscribe link →
Home → +
Add Server
Type → Subscribe
Paste the link from your service provider
  • Type Subscribe ›
  • SERVER Check imported servers ›
  • Connectivity Test Run a test ›

Test manually before setting up On Demand

On Demand triggers connections when specified conditions are met. First make a manual connection from Home and verify that you can access the destination. Then check the conditions under On Demand in Settings so automatic triggers do not mask server or rule issues. If a connection starts again after you turn off the switch, first check whether On Demand conditions are still being met rather than immediately deleting the app. Test on both Wi-Fi and mobile networks after changing conditions. On Demand controls when a connection starts; Global Routing still determines how requests are handled.

Support for multiple protocols does not mean you can choose any Type at random. Shadowsocks, VMess, VLESS, Trojan, Hysteria2, and WireGuard use different parameter formats. Select the protocol and enter the fields according to the information from your service provider. If a field is unclear, confirm its source instead of guessing with parameters from another protocol or relying on the server name.

See On Demand and connection checks →
Test the connection manually
Then configure On Demand
Retest after switching networks
Finally, check the trigger conditions
  • Settings On Demand ›
  • Home Connection switch ›
  • Global Routing Check the current selection ›
ShadowsocksVMessVLESSTrojanHysteria2WireGuard
2 ways to get it

Choose Shadowrocket for your device

iPhone / iPad: $2.99 one-time purchase on the App Store. Mac (Apple Silicon and Intel), Windows, Android, and Linux versions are free. Desktop and Android packages are available from this site's download page; files are served from /dl/shadowrocket/ on this site.

Check your device and system first, then choose the matching download. Device-aware buttons help you find the right option; if you are using a remote browser or downloading for another device, choose from all platforms. Do not change a file extension or use a package built for a different processor.

iPhone / iPad

App Store: $2.99 one-time; free on other platforms.

On the store listing, check the developer, official icon, and app ID, then purchase with your own Apple Account. The same purchasing account can redownload the app on eligible iPhone and iPad devices. Check the App Store page for system requirements.

See App Store instructions

Mac

Free · Apple Silicon / Intel; iPhone / iPad: $2.99 one-time on the App Store.

Open About This Mac to check your chip or processor, then choose the matching version. If you see a developer verification warning on first launch, confirm the download came from this site, then follow the download page instructions to check “Open Anyway” under Privacy & Security.

Choose a Mac installer

Windows

Free; iPhone / iPad: $2.99 one-time on the App Store.

Get the Windows installer from this site's download page. If SmartScreen appears on first launch, confirm the file came from this site, then check “More info” and “Run anyway.” On managed devices, follow your administrator's settings.

See Windows download instructions

Android

Free; iPhone / iPad: $2.99 one-time on the App Store.

The download page provides an arm64 apk. After downloading, follow the system prompt to allow “Install unknown apps” for the browser or file manager you are using; you can revoke the permission afterward. If tapping the link in WeChat does nothing, open the download page in your system browser.

See Android download instructions

Linux

Free · deb / rpm / AppImage; iPhone / iPad: $2.99 one-time on the App Store.

Choose a format based on your distribution and package manager. Use the appropriate package manager for deb and rpm files; AppImage requires execute permission. The download page lists commands. If you encounter a dependency or execution error, keep the original terminal output for troubleshooting.

Choose a Linux installer
See all platforms →
Setup sequence

Three steps to your first connection

The examples below use the iPhone / iPad interface. Get your subscription or server details from your service provider before starting; the client does not include ready-to-use connections. Start with the minimum configuration, then add rules or automatic connection conditions one at a time to make issues easier to identify.

  1. Add a server or Subscribe

    In Home, tap + and open Add Server. For a subscription link, select Subscribe. For a single server, fill in Type, Host, Port, and other fields according to the provided protocol. Save, return to SERVER, confirm that an entry appears, and select the server to test. Successful import only means the details were recognized; it does not mean the server is reachable.

    If you use Scan QR Code, check the protocol and address after scanning; a displayed name does not confirm that the parameters are correct. When copying a link, check for leading or trailing spaces and line breaks, especially if copying text split across messages. Ask the original provider to clarify missing parameters instead of guessing.

  2. Check Global Routing

    Choose Config to use rules and check the active file in Config. Proxy and Direct can be used for a deliberate comparison. Confirm that the selected server matches the policy referenced by the configuration before moving on. A subscription updates the server list; after importing, you still need to check that the routing configuration meets your needs.

    For an initial test, avoid changing DNS, rules, and transport parameters at the same time. Keep the original settings, change one item at a time, and note the results before and after. If a direct connection works but a proxy connection fails, the checks differ from those for a failure in both modes; record the results separately.

  3. Turn on the connection and test access

    Turn on the connection switch in Home. When the system first requests permission to add a VPN configuration, review the prompt and confirm. Then run Connectivity Test and visit the destination you need. A test response does not mean every destination works, and a connected status does not mean every request passes through a proxy; the result also depends on the rules and selected mode.

    If the connection fails, first check the device's basic network access, then check the server status, parameters, Global Routing, and rules in order. Switching between Wi-Fi and mobile networks can help determine whether the current network is involved. Avoid changing the server and configuration at the same time, or it will be difficult to tell what affected the result.

Read the complete guide →
App verification & purchases

Verify the source, then manage purchases and restores

Shadowrocket is a closed-source commercial app. Shadowrocket Support is the official website and manual for Shadowrocket: verify the app on its App Store product page for iPhone / iPad, and get installers for other platforms from this site's download page. Check verifiable identifiers when confirming a source rather than relying on a name in search results.

Official Shadowrocket icon: blue-purple outlined rocket on a white background

Check three details on the App Store listing

Open the product page and confirm that the name is Shadowrocket. Then check that the developer is Shadow Launch Technology Limited and compare the official icon shown on this page. Finally, check that the app ID in the product page URL is 932747118. A similar name is no substitute for checking the developer and app ID, and search result ranking is not a verification method.

iPhone / iPad: $2.99 one-time purchase on the App Store. Mac, Windows, Android, and Linux versions are free; the store displays the local currency for its storefront. If an app with the same name has a different icon, developer, or ID, return to the specified product page and check again instead of following that listing's setup instructions. For desktop and Android, go to the relevant platform on this site's download page rather than choosing a package from a search result with a similar name.

Read how to verify the official app →

If the app does not appear, check your storefront region

App Store availability depends on the storefront region of your Apple Account; the app is not available in the mainland China storefront. Device language, device location, and storefront region are separate settings. Changing the interface language does not change the storefront. Check the account region under “Media & Purchases” before determining whether the product is available in your current storefront.

If you need to change your region, use the official process in Apple Account settings and first check requirements such as account balance, active subscriptions, and payment methods. Another person's ability to find the app does not mean your device has a problem. Check the App Store page for system requirements. If the product page opens but the app will not download, check the system version, available storage, and account alerts.

See how to check the storefront region →

One-time purchase and restoring an app

The iPhone / iPad one-time purchase is tied to the Apple Account used to buy the app, and can be used on eligible iPhone and iPad devices. After changing devices or reinstalling, make sure “Media & Purchases” uses the original purchasing account, then find Shadowrocket in the App Store's purchased apps and download it again. The US App Store price for iPhone / iPad is $2.99 one-time; Mac, Windows, Android, and Linux versions are free.

If the app is missing from your purchased list, check the purchasing account, hidden purchases, and storefront region. Redownloading the app and restoring your existing server configuration are separate tasks: after installation, check that your subscriptions, Config, and synced content are present. Check the product page and family account settings for the availability and status of Family Sharing; signing in to another account does not count as your own purchase record.

Read how to restore a purchased app →

Manage the client and connection service separately

Buying the client does not include a connection service. iPhone / iPad: $2.99 one-time purchase on the App Store. Mac, Windows, Android, and Linux versions are free. These prices refer to getting the client and do not include a server or subscription. This site does not provide, sell, or recommend nodes or subscriptions; get subscription links from your service provider.

If the client opens but a subscription has expired, server details are incomplete, or the server rejects the connection, check the status of your existing service separately. A purchase record does not replace server parameters, and updating the app does not extend a subscription. Keeping these matters separate avoids repeatedly changing network settings when resolving a purchase restore issue, or repeatedly searching store orders when troubleshooting a server.

See the two ways to get it and pricing →
Guides by topic

Installation and protocol guides

Continue with the topic you need: choosing a Linux package format, downloading on Android, or understanding protocol differences in Add Server. These articles explain client operations and parameter meanings, not subscription sources. Have your own server details ready before you begin.

See all articles →