Official website and handbook · App Store purchase

Shadowrocket Connect your way

A rule-based proxy client for iPhone and iPad, with rule-based routing. The app is a one-time purchase on the App Store; get existing subscriptions from your service provider.

Global Routing On Demand Config
Available exclusively on the App Store One-time purchase Rule-based routing See the App Store listing for system requirements

Home, Config, and Settings feature index

First, identify the screen you’re on, then adjust the relevant setting. Server details, routing modes, and rule files serve different purposes. When troubleshooting, change one setting at a time.

Global Routing and rule-based routing

In Home, choose a mode under Global Routing: Config, Proxy, or Direct. Config routes requests according to the active configuration file’s rules. Proxy sends requests through the current proxy policy; Direct connects directly. To route by domain or address, first confirm the active file in Config, then check the order of the rules. Rules are matched from top to bottom; the first match applies. Put specific conditions before broader ones, and usually place FINAL at the end. The snippet below is for syntax instruction only and does not represent a usable service.

DOMAIN-SUFFIX,ad.example.com,REJECT
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY

On Demand

Find On Demand in Settings to configure automatic connections based on network conditions. It determines when a connection is established; it does not replace domain-based routing rules in Config. First, verify the server with the manual switch, then add conditions one at a time. If behavior changes unexpectedly after switching Wi-Fi networks, return here and check the SSID and network conditions instead of rewriting all your rules. After making changes, test on the target network and another network. An automatic connection does not guarantee that requests are routed through the proxy.

On Demand Wi-Fi → Check the SSID condition Cellular → Check connection behavior

Multiple protocols

In Home, tap Add Server, choose a Type, and fill in the corresponding fields. Parameters for Shadowsocks, VMess, VLESS, Trojan, Hysteria2, and WireGuard are not interchangeable based on the address alone. The port, authentication method, and transport settings must also match your existing server details. After scanning a QR code or importing a profile, check the entry’s Type and Host. The name is only a list label and does not identify the protocol. Get the required parameters from your service provider; don’t substitute values from another entry when fields are missing.

ShadowsocksVMessVLESSTrojanHysteria2WireGuard

Import a subscription with Subscribe

To add an existing subscription in Home, choose Subscribe and enter the link. Get subscriptions from your service provider. After importing, check the groups and server entries, then select the one you want to use. Updating a subscription refreshes its source list; it does not replace all the rules in the active Config. If you use multiple subscriptions, give each group a clear name and confirm its source before deleting it. Links may contain access credentials, so hide the full link in screenshots and troubleshooting records.

  • Subscribe: confirm the source
  • Home: check the group
  • Select a server before connecting

Config files

In Config, first confirm which file is active, then edit sections such as General and Rule. The server list determines where to connect; the configuration file determines how requests are handled. They are separate. Save a copy of the existing file before changing DNS or rules. Change one thing at a time and retest the same request. If Global Routing is set to Proxy or Direct, some rules may not apply as expected. Check both the mode and the file rather than only confirming that a rule appears in the editor.

[General]
loglevel = notify

[Rule]
FINAL,PROXY

Data and diagnostic tools

After connecting, run Connectivity Test in Home, then cross-check the result with an actual request from a website or app. Data traffic records show requests handled by the client; they should not be treated as a service-provider bill or remaining allowance. Diagnostics and related Log information in Settings can help distinguish DNS resolution failures, connection failures, and rule-matching issues. Results depend on the destination and network conditions. A single successful test or a low test value is no substitute for checking real-world use over time.

  • Connectivity Test
  • Real requests and Data
  • Diagnostics and Log

iCloud sync

To transfer settings between your own devices, first check the system iCloud status, then review the app’s sync options and confirm the results. App purchases and configuration data are managed separately. Reinstalling the client from the App Store does not automatically restore server details to Home. Keep the local configuration before syncing for the first time, and confirm the expected content appears on the destination device before making further changes. If the content doesn’t match, stop editing, check the account and sync status, and avoid overwriting the configuration currently in use.

App Store → Purchase history iCloud → Sync status Home / Config → Actual content

Rules and settings examples

These examples illustrate what each settings layer does; they are not default values. Rule policies must match your actual configuration. Set On Demand conditions in the app’s interface; the condition tree is not an importable configuration.

[Rule]
# Put specific subdomains before parent-domain rules
DOMAIN-SUFFIX,ad.example.com,REJECT
# Use PROXY for example.com and its other subdomains
DOMAIN-SUFFIX,example.com,PROXY
# Use DIRECT for the specified local network address range
IP-CIDR,192.168.0.0/16,DIRECT
# Use PROXY when no earlier rule matches
FINAL,PROXY

Getting Shadowrocket on iPhone and iPad

The App Store is the only place to get Shadowrocket. On the product page, check compatibility first, then confirm the purchasing account and price. Refer to the App Store listing for system requirements and whether Universal Purchase is available.

iPhone

Check the Shadowrocket product page on the App Store before purchasing. The first time you connect, iOS may ask permission to add a VPN configuration. This authorizes the client to handle the relevant network requests; it does not confirm that the server is connected. Return to Home, select a server, and test the connection.

iPhone setup guide →

iPad

If you’re using the same Apple ID, first check your purchased items to see whether you can redownload the app. Refer to the App Store listing for Universal Purchase availability on iPhone and iPad. A larger display doesn’t change the roles of subscriptions and rules. After restoring your purchase, separately check Home entries, the Config file, and sync results.

iPad setup guide →

Three steps to your first connection

These steps assume you already have a subscription or server details. First establish a manual connection, then configure automatic connections, DNS, or more complex rules. This makes it easier to identify the effect of each change.

  1. 01 · Home

    Add a server or existing subscription

    In Home, open Add Server, choose a Type based on your server details, and fill in the fields. For an existing subscription, choose Subscribe and get the link from your service provider. After using Scan QR Code, check that the imported entry is complete. Return to the list and tap the circle next to the server you want to use. Adding an entry to the list does not select or connect to it.

  2. 02 · Global Routing

    Choose a routing mode

    To route traffic according to your configuration, choose Config and confirm which file is active on the Config screen. Proxy and Direct apply to the overall routing mode; don’t confuse them with the PROXY and DIRECT policies inside Rule, which operate at a different level. Note the current mode when testing. If a request is routed unexpectedly, check the mode first, then the rule order and matching conditions.

  3. 03 · Connectivity Test

    Connect and test a request

    Turn on the connection switch at the top of Home and allow the VPN configuration when prompted. Then run Connectivity Test and try the content you actually need to access. The system’s connection indicator only means the configuration is active; it does not guarantee that every destination is reachable. If a test fails, check the local network, selected server, authentication fields, and configuration rules in order. Change one thing at a time and repeat the same test.

View the full tutorial → Covers QR code imports, routing modes, first-time authorization, and connection troubleshooting.

How to verify the genuine app and understand what you’re buying

Shadowrocket is a closed-source commercial app. Before purchasing, verify the product details in the store and keep your purchase records. This is the official website and handbook, with instructions for using the interface and configuring the app.

DEVELOPER Shadow Launch Technology Limited Verify the developer shown on the product page
OFFICIAL ICON White background with a blue-purple outline; compare with the product page
APPLICATION ID 932747118 id932747118 in the product page URL

How to verify the search result and product page

Shadowrocket may appear in search results under different names, so don’t rely on name similarity alone. Open the product page and verify the developer, Shadow Launch Technology Limited, the official icon, and the app ID 932747118. You can also confirm the app ID in the product page URL. All three details should point to the same product. Then check the price, compatibility, and purchase prompts.

What you see and the currency displayed may vary by storefront. If Shadowrocket doesn’t appear in search, first check your App Store account’s region and the actual message on the product page. A missing search result doesn’t necessarily mean your device has a problem. Refer to the App Store listing for system requirements, compatibility, and purchase availability.

One-time purchase and existing service details

The US storefront lists the app at about $2.99 as a one-time purchase. Prices are shown in local currency in other storefronts; the amount shown at checkout is the final price. The app purchase does not include a proxy service. Buying the app gives you the right to use the client; it does not add a connectable server automatically, and a purchase receipt cannot replace a subscription link.

This site does not provide, sell, or recommend servers or subscriptions. Get existing subscriptions from your service provider, and check connection parameters, expiration status, and server availability with them. App and service fees are separate. When troubleshooting, first determine whether the issue is with restoring a purchase, importing details, or connecting to the service.

Restore purchases and use on two devices

When switching devices or reinstalling the app, use the original purchasing Apple ID to check your App Store purchase history and see whether a redownload option is available. For use on both iPhone and iPad and Universal Purchase eligibility, refer to the product page and your account records. If you see a price again, check the purchasing account before paying a second time.

Purchase history only covers getting the app. Check sync or backups separately to see whether your Home servers, subscription groups, and Config files have been restored. After restoring, select a server, verify the routing mode, and test the connection before resuming normal use. Having the app installed does not mean all your previous settings have been restored.

Check app updates and configuration maintenance separately

Manage app updates through the App Store. Depending on your system settings, you can use automatic updates or check for updates in the store. Subscription updates happen in the app and refresh entries from their original source. Editing rules in Config is a separate task. These three processes are not interchangeable, and updating a subscription won’t fix settings entered incorrectly.

If a connection that used to work fails after a change, review whether you last modified an app setting, server details, or a configuration file. Keep a copy of your configuration so you can revert changes. After each edit, test the same destination and note the Global Routing mode. For field explanations, see the Settings handbook and check each item individually instead of enabling everything at once.

Articles on app verification and rule troubleshooting

Continue with the article that matches your question: verify the app’s store listing, select an existing server, or check a specific rule. The instructions build on the Home and Config basics covered above.

View all articles →