Official Shadowrocket Guide

Shadowrocket Desktop
Shadowrocket Setup Guide

All-platform rule-based proxy client with rule-based routing. iPhone / iPad: $2.99 one-time on the App Store; Mac, Windows, Android and Linux versions are free.

Current version v2.2.92 · Mac, Windows, Android and Linux versions are free

First-time setup: import a subscription and connect →

2 ways to get it Config / Subscribe iPhone / iPad $2.99 one-time · free on other platforms

Get Shadowrocket / Choose your device

Shadowrocket for every platform

Get Shadowrocket for iPhone / iPad from the App Store for a one-time $2.99 purchase. Mac (Apple Silicon / Intel), Windows, Android and Linux versions are free. Check your device and chip, then choose the matching option on the download page. Desktop and Android installers are provided on this site at /dl/shadowrocket/.

iPhone / iPad

App Store: $2.99 one-time; free on other platforms. Purchases can be restored on either device using the same account. Check the App Store listing for system requirements. Before downloading, verify the developer, app ID and official icon; do not rely on the name shown in search results alone.

Mac

Free · Apple Silicon / Intel. Open About This Mac and choose the installer based on the “Chip” or “Processor” entry; do not infer it from the computer's appearance. If you see a developer verification warning on first launch, verify the source, then follow the download page instructions under “Privacy & Security → Open Anyway.”

Windows

Free · 64-bit installer. Save the installer before running it. If SmartScreen appears, confirm the file came from this site, then choose “More info → Run anyway.” Check your existing network settings before connecting to avoid confusion caused by multiple proxy settings taking control at once.

Android

Free · arm64 apk. If Android asks for installation permission, enable “Allow from this source” only for the browser used to download the file; you can turn it off afterward. If you cannot save the file in WeChat, open this site's download page in a system browser instead. Avoid repeated taps that create multiple download tasks.

Linux

Free · deb / rpm / AppImage. Choose a format compatible with your distribution's package manager; AppImage files need execute permission before running. The download page lists installation commands and steps to allow execution. Before running a command, check the terminal's current directory and the actual file name so you do not mistake an example name for a local file.

Installing the client is only the first step. Get your subscription URL or server details from your service provider. Check that the information is complete before importing it, and save a recoverable copy. Interface locations can vary by platform; follow the English labels shown in your current app.

See all platforms →

Features / Reference

Rules, connections and configuration

First distinguish the roles of server details, rule files and the connection switch: server details determine the connection destination, Config determines how traffic matches rules, and Global Routing determines the routing mode. Find instructions below by task; there is no need to change every setting at once.

DOMAIN-SUFFIX,example.com,PROXY
GEOIP,CN,DIRECT
FINAL,PROXY

Rule-based routing and Global Routing

Rule-based routing selects where a connection goes based on conditions such as domains and addresses. In Home → Global Routing, Config matches traffic against the selected configuration, Proxy uses a proxy connection, and Direct connects directly. For everyday rule-based routing, first confirm that Config is selected, then check the rule order: specific conditions should come before fallback rules. PROXY still requires a working server; rules do not provide connection resources. After making changes, test both proxy and direct destinations. The switch state alone does not confirm that the rules are working.

Home / Global Routing / Config / Proxy / Direct

Read about rule-based routing →

First setup: connect first, then refine rules

Start by importing one of your subscriptions or adding a server, then make a manual connection. Once it works, switch to Config and review routing. This helps distinguish server setting errors from rule errors. If you change the protocol, DNS settings, rule file and automatic connection conditions all at once, it is difficult to tell which change caused a failure. Keep the previous working state before each change, check the result, then continue.

An “connected” status means the system's connection state has changed; it does not mean every destination is reachable. Test the destinations you actually need and check Connectivity Test alongside the rules. Traffic shown in Data only indicates that data is passing through; it does not confirm that a subscription is complete or a specific rule matched. For English interface labels, check the glossary first, then return to the app.

Genuine app / Purchase and usage

App verification and download details

Shadowrocket is a closed-source commercial app. This is the official Shadowrocket site and guide, with client downloads and configuration instructions. Verify the app using information you can check, and distinguish the client license, server connection details and rule configuration; they are not the same service.

Developer: Shadow Launch Technology Limited App ID 932747118 2 ways to get it

Verify the icon, developer and app ID

On the iPhone / iPad App Store product page, first confirm the name is Shadowrocket, then check the official icon and developer, Shadow Launch Technology Limited. Finally, verify app ID 932747118 in the product link. Expand the full developer information if the name is long; do not rely only on truncated text in search results. Similar names do not mean the apps are the same.

Verifying the app and troubleshooting a connection are separate tasks. After installing the correct client, you still need your own server details. A temporarily unavailable server does not mean the app came from the wrong source. Get desktop and Android versions from this site's download page, confirm the installer URL is under /dl/shadowrocket/, and select the platform and format as instructed.

App Store / Region and system

If it does not appear in search, check the storefront region

App Store availability depends on the storefront associated with your account. If the app is unavailable in the mainland China storefront, searching the name repeatedly will not change the result. First check the account and region used for Media & Purchases in your system account settings, then follow the options available in your account to manage the region. Review requirements for balances, subscriptions and payment details before making changes; do not make changes blindly just to run one search.

For iPhone / iPad, check the App Store listing for system requirements. Check separately whether your device meets the requirements, the product page is available and your account has a purchase record. For details on the store listing, account region and restoring purchases, see the App Store download guide.

License / Two price tiers

Purchase history and restoring on a new device

The iPhone / iPad version costs $2.99 as a one-time purchase on the US App Store; other storefronts show local currency. Mac, Windows, Android and Linux versions are free. iPhone and iPad can use the same account's purchase history. When changing devices or reinstalling, check your purchases first and make sure you are signed in with the original purchasing account before restoring the download. Changing devices does not mean you need to purchase again.

Restoring the app does not automatically restore all connection details. Before changing devices, check configuration files, your subscription URL and manually entered server details separately. If you use iCloud sync, confirm it has completed and keep a separate exported copy. After restoring, verify your details before testing the connection to avoid importing duplicate entries multiple times.

Resources / What you need

A one-time client purchase is not a connection plan

The client provides configuration and connection features. The connection destination, authentication details and validity period depend on the service you already use. This site does not provide, sell or recommend servers or subscriptions. Before first use, get your own subscription URL or server details from your service provider and learn how to update them. Installing the app alone will not create a working server list.

If a subscription will not update, first check that the URL is complete, its authorization is still valid and the device is online. Do not post links containing authentication details in comments, screenshots or logs. If you need help troubleshooting, specify whether the failure occurs during download, import, update or connection, and share only error messages with sensitive details hidden.

Handle app updates and subscription updates separately

Update the iPhone / iPad version through the App Store. Mac, Windows, Android and Linux users can get the latest installer from this site's download page. App updates change the client, Subscribe updates refresh server details, and Config updates modify rules and settings; none replaces the others. Before updating, note the working configuration and server selection. Afterward, test a basic connection before restoring personal settings.

If the system blocks the first launch on a desktop or Android device, confirm the file source and platform, then see the installation permission guide and follow the prompt shown by your current system. Do not ignore the warning or repeatedly run the installer, and do not mistake an installation permission issue for a server failure. If installation succeeds but the connection fails, troubleshoot the subscription, protocol settings and routing mode next.

Common questions before getting started

Which should I choose: Config, Proxy or Direct?

Use Config for rule-based routing, and confirm the selected configuration is valid. Proxy uses a proxy connection; Direct connects directly. A mode cannot fix incorrect server settings. First confirm the server connects successfully, then choose a mode for your purpose. See the Global Routing glossary for details.

What should I do after importing a subscription?

Check the group and server list, select a server to test, then review Global Routing and the current Config. A subscription provides server details; a rule file handles routing. Do not confuse the two. See the server management guide for specific steps, or the setup guide for your first connection.

Why does the connection still fail after a successful latency test?

Results depend on Test Method, the network path and the destination service; they do not guarantee that every connection will work. First identify the scope of the failure, then check protocol settings, system time and rules. Do not repeatedly change configurations based on a single latency result. Change one setting at a time and record whether it resolves the issue.

Articles / Task guides

Subscription management, connection troubleshooting and migration

Once the basic connection works, read the guide for the specific issue you encounter. When organizing multiple subscriptions, first identify their groups; for timeouts, determine the scope of the failure; before migrating to a new device, prepare a recovery copy. Avoid combining unrelated issues into a full reset.

Browse all articles →