Get and configure the client for your platform: import your existing server details first, then set up Global Routing and rule routing. The iPhone / iPad app is a one-time $2.99 purchase; Mac, Windows, Android, and Linux versions are free.
First distinguish server details from configuration files: the former describe where to connect; the latter determine how requests are handled. The sections below follow the app’s capabilities. Interface terms and rule keywords remain in English.
Select Config first, then check the rules
On each platform, confirm the active configuration before checking how rules are interpreted. On iPhone / iPad, select Config under Global Routing on Home to route by configuration. Proxy and Direct are used to check overall proxying and overall direct connections, respectively. Rules are matched from top to bottom, and the specified policy applies at the first match, so specific targets should come before broad conditions. The example uses example.com for teaching; the local network range is set to DIRECT, and FINAL is the fallback. After editing, send the request again and check the matching rule in the logs. An enabled switch alone does not confirm that a rule is working.
Verify manual connections before setting conditions
On iPhone / iPad, On Demand starts connections when configured conditions are met; it does not replace server configuration. First connect manually from Home, then open Settings to check On Demand and network conditions. This helps distinguish an unavailable server from an automatic connection issue. After setup, test Wi-Fi and mobile networks separately and observe the connection state as you switch between them. If the connection resumes after you disconnect manually, check whether the conditions are still met instead of repeatedly deleting configurations. Temporarily disable On Demand while troubleshooting, confirm manual connections work, then restore conditions one at a time. On other platforms, check the settings available there.
Match protocols with their complete parameter sets
When adding an existing server on any platform, choose the protocol from the original details. Do not change Type while leaving the other fields unchanged. On iPhone / iPad, use Add Server to check Host, Port, and authentication details, then verify the transport and TLS parameters for the selected protocol. Formats such as Shadowsocks, VMess, VLESS, and Trojan are not interchangeable based on their names alone; the same address may also require a different port or authentication method. After importing, check that all fields are present before testing the connection. If it fails, compare each field with the original details. Before sharing a screenshot, hide passwords, identifiers, and personal credentials in subscription addresses.
Import subscriptions and individual servers separately
Before importing on any platform, confirm whether you have a subscription address or details for a single server. This site explains how to use information you already have. On iPhone / iPad, select Subscribe or Add Server according to the link type; you can also use Scan QR Code to read the corresponding content. Successful import only means the content was recognized. Check the SERVER list, select a server, and test it. Back up manually added items before updating a subscription so they can be restored if accidentally removed. If an update fails, check whether the link is complete or expired and whether your current network can access it. A successful subscription update does not mean every server in the list is available.
Configuration files on every platform store general options and handling rules; they do not replace server authentication details. On iPhone / iPad, check the active item in Config and save a restorable copy before editing. Then make changes section by section, such as under General and Rule. Adjust one type of setting at a time and test the same target after saving to identify what changed. When using iCloud sync in the app, check the relevant Apple account and sync status first, then verify the result on another device. Syncing does not transfer purchase records or system permissions. Keep sensitive configurations somewhere you control, and do not share complete files publicly.
Assess test results separately from actual requests
On every platform, start diagnostics by checking the current network and server details, then review routing and DNS. On iPhone / iPad, Connectivity Test can help compare server responses, but passing one test does not mean every target request will succeed. If only some websites fail, note the test target, Global Routing, and the matched policy in the logs, then test again on the same network. Data helps track traffic changes but cannot replace real access results and should not be treated as a provider’s bill. Diagnostics under Settings can provide additional clues. Before reporting an issue, remove subscription addresses, authentication fields, and information that could identify personal browsing activity.
The iPhone / iPad app is a one-time $2.99 purchase on the App Store. Mac, Windows, Android, and Linux versions are free. Installers are available from this site’s download page via its /dl/ paths. Each link below is for the Shadowrocket version for that platform.
App Store $2.99 one-time · Free on other platforms
Both devices share a purchase record. Before getting the app, verify the developer, app icon, and app ID in the store. System requirements are as listed on the App Store page. If you cannot find the app, check the current store region first; do not assume a similarly named search result is the same product.
When connecting for the first time, review the system’s VPN configuration request. Allowing it does not replace importing your own server details. The switch indicates connection status, not whether a usable connection is available. See the guide for the complete steps.
Open About This Mac and choose the Apple Silicon or Intel version based on the chip or processor shown. The installers are for different hardware. The order of download buttons does not indicate which version to use, and the browser name cannot identify your chip.
If you see a warning that the developer cannot be verified the first time you open the app, confirm that the file came from this site, then check for Open Anyway under System Settings → Privacy & Security. If macOS says the app is damaged, follow the specific steps on the download page; do not disable system security globally.
Get the 64-bit Windows installer from the download page. Before opening it, confirm that the download came from this site’s /dl/ path and keep a backup of your existing configuration. If SmartScreen displays a warning, confirm the file source, expand More info, and then select Run anyway. On managed devices, follow your administrator’s requirements.
Installation does not provide a connection configuration. Next, import a subscription or server details you already have, then check server availability and the active rules separately. Avoid changing several settings at once so you can troubleshoot effectively.
Get the arm64 installer from this site’s download page. If Android requires permission to install unknown apps, enable it only for the browser used to download the file. After installation, you can turn off this permission based on your needs; there is no need to extend it to other apps.
If a download will not start inside WeChat, use its menu to open this site in the system browser, then try again. Installation and connecting to a server are separate steps. If a later connection fails, check your own server details, network, and configuration one by one.
Confirm your distribution and hardware architecture before choosing a format. Debian-based distributions typically use deb; Fedora-based distributions typically use rpm. For a directly runnable file, see AppImage. Changing an installer’s extension does not change its internal structure or dependencies.
AppImage needs execute permission. Use the corresponding package manager to handle dependencies for deb and rpm. The download page lists installation commands and permission details. Before running a command, check the local file name and directory, then proceed with importing your own configuration.
Check purchase records, servers, and rules separately
Shadowrocket is a closed-source commercial app. This is the official site and manual, with information on getting and configuring the client. It does not provide, sell, or recommend servers or subscriptions; the instructions assume you already have your own subscription or server details.
iPhone / iPad: verify three product details
Before getting Shadowrocket from the App Store on iPhone / iPad, verify the developer name, official icon, and app ID together. The developer should be Shadow Launch Technology Limited, the app ID is 932747118, and the icon should match the official icon in this site’s header. Names can be similar and search result order can change, so a translated nickname or search position alone is not enough to verify the app. Open the product page and check each detail rather than relying on the search summary.
Open the App Store product page from this site’s access page and confirm it is for Shadowrocket.
Check the developer details and verify that the product link contains app ID 932747118.
Review device compatibility and the information shown by your current store. System requirements are as listed on the App Store page.
Desktop and Android installers are verified differently: get the Mac, Windows, Android, and Linux versions from this site’s download page, which uses this site’s /dl/ paths. Do not use a mobile store purchase record to determine the desktop installer version. If you are unsure of your device’s architecture, return to the platform information and choose the right version before downloading.
iPhone / iPad: check store region separately from sign-in status
If Shadowrocket does not appear in search on iPhone / iPad, check the Apple Account currently used for the App Store and its country or region. The app is not available in the mainland China App Store, but not finding it in search does not mean the device is unsupported. Check the account region, then confirm that the product page and current store match. Repeatedly changing the system language will not change the store region.
If you need to change your account region, use the Apple Account settings in the system and review the conditions on the country or region page before proceeding. Factors such as account balance, existing subscriptions, and payment methods may affect the change. This manual explains how to check what is needed to get the app; it does not replace account management requirements. Visiting a product page in another storefront does not automatically change your account region. See the store and account region guide for details.
All platforms: the two prices do not include server services
The iPhone / iPad version costs $2.99 as a one-time purchase on the US App Store; other storefronts display local currency. The Mac, Windows, Android, and Linux versions are free. These two pricing options apply to getting the client, not connection duration, server traffic, or the validity of any connection. iPhone and iPad can use the same purchase record. When reinstalling, first check the account used for the purchase.
Before importing on any platform, distinguish three types of content: individual server details specify connection parameters, a subscription address retrieves or updates a server list, and a configuration file stores rules and related options. Successfully importing a configuration file does not mean a server has been imported. A subscription update does not mean every server in the list can connect. Following this order helps keep separate issues from being treated as one.
iPhone / iPad: check purchase records before changing devices or reinstalling
When moving to a new iPhone / iPad or reinstalling, use the original purchase account to view App Store purchases and download Shadowrocket again. The one-time $2.99 iPhone / iPad purchase and free Mac, Windows, Android, and Linux versions do not become a recurring server charge after reinstalling. If the product page still asks you to pay, stop and check the account, storefront, and purchase record rather than paying again immediately.
Restoring a purchase record and restoring configuration are separate tasks. After downloading the app again, check the server list, active configuration, and system VPN permission. Do not assume information stored only on the old device has been transferred. When using iCloud sync in the app, verify each result on the new device. Keep a backup you can access and safely store your existing server details before removing content from the old device. Reinstalling should not be the first response to every connection issue.
All platforms: keep a restorable configuration copy before updating
App updates for iPhone / iPad are managed through the App Store; get Mac, Windows, Android, and Linux installers from this site’s download page. Before updating, save the current configuration and manually added server details, and note the active Global Routing mode and configuration name. Version information is based on the dynamically loaded page data or what the device displays. Do not use screenshots in old guides to decide whether you need an update.
If an issue appears after an update, test again on the same network, with the same server and target. Then check whether permissions changed, the configuration is still selected, and On Demand conditions affect the connection. Restore or adjust one setting at a time to identify what changed the result. Follow the download page instructions for first-launch system prompts on desktop. For restrictions on managed devices, ask the device administrator rather than disabling security protections globally.
All platforms: narrow down connection failures using evidence
When troubleshooting on any platform, first distinguish between “the app cannot connect,” “the server test fails,” and “only some destinations are inaccessible.” Confirm that the current network works, then check the address, port, authentication, and protocol fields for your existing server. Next, verify the active configuration and matched rule. If only some requests fail, keep the test target the same and compare DNS and policy selection. Do not change the server, rules, and DNS all at once without recording the results.
On iPhone / iPad, start with the connection status on Home and the SERVER list, then use Connectivity Test as an additional check. Diagnostics and Data under Settings provide different clues. Test responses, actual request results, and traffic statistics are separate metrics and should be reviewed together. If reporting an issue, note the network, steps taken, a reproducible target, and any error message; hide subscription addresses, passwords, and personal identifiers. Continue with the symptom sections in the troubleshooting manual, or look for a concise solution in Troubleshooting.
Technical notes
Find steps for your current task
These three articles cover first launch, Linux installation, and importing an existing subscription. Choose the step you are working on and follow the article in order. Do not combine system permissions, server authentication, and rule selection into a single issue.