Official Manual

Shadowrocket
Rules Guide and User Manual

A rule-based proxy client for iOS / iPadOS, purchased from the official App Store listing as a one-time purchase.

Rule Global Routing Config
Official Shadowrocket Home screenshot showing the connection switch, Global Routing and server list
Shadowrocket Home · Official screenshot; the current version may differ

Shadowrocket features and settingsTell rules, servers, and the connection switch apart

These six topics cover routing, automatic connections, protocol settings, existing subscriptions, configuration files, and testing. Choose the section that matches what you’re doing. Example domains illustrate formatting only; they are not working services.

Rules: Match targets in order

Rules determine which policy applies to a request; they do not provide servers. To use rule-based routing, choose Config under Global Routing on Home, then confirm that Config has the intended file enabled. Rules are checked from top to bottom, and the policy for the first match applies. Put specific domain exceptions before broad suffix rules. DOMAIN-SUFFIX matches by domain suffix, IP-CIDR matches an address range, and FINAL catches requests that did not match earlier rules. After making changes, check the results against your request logs. The connection switch alone cannot tell you whether the rules are correct.

[Rule]
DOMAIN,api.example.com,DIRECT
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY

Global Routing: What Config, Proxy, and Direct control

Config uses the selected configuration: requests follow its rules, which is useful when different destinations need different policies. Proxy sends requests through the selected proxy: use it to check how an existing server handles access. Direct uses a direct connection. These are routing modes, not protocol types; changing Global Routing does not change server settings. For everyday rule-based routing, check both that Config is selected and that the intended configuration file is active—having a file available is not enough.

During troubleshooting, treat routing mode as a separate variable. First check whether the server itself works, then see how a destination matches under Config. If access works under Proxy but fails under Config, check rule order and policies. If it fails in every mode, start with the network and server details. Change one setting at a time and record the result so a temporary network change is not mistaken for the effect of a rule.

Getting Shadowrocket on iPhone and iPadCheck purchase history, compatibility, and first-use authorization separately

iPhone

Check the product identity, price, and compatibility in the App Store, then follow the system prompts to complete your purchase. The first time you connect, the system may ask to add a VPN configuration. This authorization is required for the client to establish a system connection; it does not confirm that a server is available.

After installation, open Home and locate the connection switch, Global Routing, Connectivity Test, and SERVER. If SERVER does not yet contain your server details, import them before connecting. Check the App Store listing for system requirements. For the recommended first-time setup sequence, see the user guide.

See iPhone setup and authorization steps

iPad

You can use purchase history under the same Apple ID to get the app on iPhone and iPad. Check the App Store listing for purchase eligibility and compatibility. First confirm which account is being used for purchases in the App Store, then look for the app in your purchased items. Do not treat the status of another account on your device as proof of an App Store purchase.

On iPad, use interface sections such as Home, Config, and Settings to complete the same setup tasks. The layout may vary; follow what appears in the app. After restoring the app, check your servers, active configuration, and system authorization. Seeing the app icon does not mean connection settings from another device have all been transferred.

See iPad purchase history and user guide

Shadowrocket is also available on Mac and Apple TV through the same App Store. Check the App Store listing for system requirements and purchase eligibility.

On the App StoreGet Shadowrocket View setup steps →

Shadowrocket quick-start sequenceImport existing details, choose a mode, then test the connection

Step 01 · Add Server

Add a server or subscription

Have your existing server settings, subscription URL, or QR code ready. To enter details manually, choose a Type first, then fill in the corresponding fields. To scan a code, use Scan QR Code. After importing, check the name, protocol, and address under SERVER; entries with the same display name are not necessarily the same server.

A successful save means the entry was added. You still need to test it and verify access.
Step 02 · Global Routing

Choose a routing mode

For rule-based routing, choose Config and check the active configuration. To check a server’s access performance on its own, temporarily choose Proxy, then switch back to your original setting. Distinguish Direct from DIRECT in a rule: the former is a global mode, while the latter is the policy for an individual rule.

The server determines where the connection goes; the configuration determines how each request is handled.
Step 03 · Home

Connect and verify

Select a server, turn on the connection switch on Home, and follow the system prompts to authorize the VPN configuration. Then visit a specific destination and check whether the result is as expected. Use Connectivity Test as an additional check. If the switch is on but the destination is unreachable, check the settings and rules rather than rebuilding the entire configuration.

Connection status, test results, and actual access are three different kinds of evidence.

For your first setup, follow a clear path you can verify

Before you’ve verified a server, don’t import multiple configurations, change On Demand, and rewrite rules all at once. Start with one existing server. Check its Type and authentication fields, make a manual connection, then return to Config and verify how a destination is routed. If something goes wrong, you can tell whether the imported details are incomplete, the server is unreachable, or the active rules are applying a different policy.

If Connectivity Test shows timeout, first check that your current network can reach basic services. Then verify Host, Port, protocol settings, and system time. If the test gets a response but the destination still won’t load, check actual access and the current routing mode; a test response alone does not prove the connection works end to end. For step-by-step instructions on entering settings, authorizing the VPN, and checking failure points, see the tutorial page.

Read the full guide →

Verify the App Store listing and purchase detailsConfirm the product identity, then distinguish the app purchase from connection services

  • DeveloperShadow Launch Technology Limited
  • App ID932747118
  • One-time purchase

Verify the app using three details: developer, official icon, and app ID

To verify Shadowrocket, use its full product name and App Store listing. Open the App Store product page linked from the verification guide. Confirm that the developer is Shadow Launch Technology Limited, compare the product icon with the official icon in this site’s header, then check for id932747118 in the product page URL. The app name or a search result thumbnail alone is not enough to verify all three details.

The app ID identifies the specific product, the developer name identifies its publisher, and the official icon provides a visual reference. Check all three rather than relying on just one. If search results show similar names, return to the exact product page before reviewing its price, compatibility, and purchase details. Shadowrocket is a closed-source commercial app; get and update it through the App Store.

App Store availability: Check your current storefront

Whether the product appears in search results depends on your current App Store storefront. The region of a product page opened in a browser may differ from the storefront used by the purchasing account on your device. If the page is visible but you cannot complete the purchase, check the country or region of your App Store account, purchase prompts, and device compatibility. A region code in a web address does not mean your account settings have changed.

Use your own Apple ID to check your account status in Settings and the App Store. Changes to your storefront region may depend on your account’s purchase conditions; follow the system prompts and avoid changing settings repeatedly just to search again. If you can’t find the app, check the product name, whether it’s hidden in your purchased items, and any device restrictions. For details on storefront availability, purchase conditions, and common prompts, see the App Store guide.

What a one-time purchase covers: The app and connection services are separate

The US storefront lists the app at about $2.99 as a one-time purchase; other storefronts show local currency. The actual amount is shown on the App Store product page and purchase confirmation. A one-time purchase applies to the client app; you do not buy it again each time you connect. Check the price, system requirements, and compatibility again before buying, as App Store terms can change.

If SERVER is empty when you first open the app, use Add Server or import your existing subscription details. Completing a purchase does not automatically populate the server list. The client’s protocols, rules, and diagnostic tools work with connections that have already been configured. Check the status of your existing subscription, server address, and authentication details against your own information source. Keeping these steps separate helps determine whether an issue is about restoring a purchase or configuring a connection.

Purchases and recovery: Restore the app, then check your settings

You can use purchase history under the same Apple ID to get Shadowrocket on iPhone and iPad. Check the App Store listing for purchase eligibility. When switching devices or reinstalling, first make sure the App Store is signed in with the account that made the original purchase, then find the app in your purchased items and restore it. If the app still shows a price, pause and check the account, storefront, purchase history, and hidden items. Seeing a price again does not automatically mean you need to pay again.

Restoring the app and restoring your setup are separate processes. After reopening it, check SERVER, the active Config, Global Routing, and VPN authorization one by one. Even if iCloud syncing is enabled, verify the result on the target device rather than assuming every setting has transferred. Family Sharing eligibility and purchase restrictions depend on the App Store product page and system prompts. For more details, see Restore a previous purchase.

Updates and records: Know which of the three actions you took

An App Store update changes the app itself. A subscription refresh retrieves the server list from an existing subscription. Editing or updating a file in Config changes rules and configuration. These actions affect different things. If a connection stops working, first identify which action you recently took, then check the relevant content. If entries change after a subscription refresh, check the selected server. If a destination takes a different route after a configuration change, check rule order and policies.

Traffic statistics in Data can be useful, but they cannot replace testing access to a destination and are not proof of an app purchase. When troubleshooting, note your current network, selected Type, Global Routing mode, test method, and what happened at the destination. Hide passwords and sensitive subscription details before sharing screenshots or text publicly. A clear description of the settings is more useful than simply saying “can’t connect.”

Three common checks for first-time setup

Why check Config if the Home switch is on?

The switch shows connection status; it does not confirm that a destination is using the intended policy. With Config selected under Global Routing, also check the active file, rule order, and matching policy. First see whether an earlier entry matches the destination, then make changes. For detailed steps, see the user guide.

What should I check after importing a subscription?

First, check that the expected entries appear under SERVER, then verify the selected server and its Type. A server import URL and a configuration file URL serve different purposes and cannot be used interchangeably. If the list is empty, check that the URL is complete and that your existing subscription is active rather than repeatedly toggling the connection switch. Review the import steps to check your setup.

The connection starts again after I turn it off. Where should I start?

In Settings, check whether On Demand is enabled and review its conditions. See whether the current situation matches the automatic connection criteria. Automatic triggering and server availability are separate issues, so test them separately. After making a change, check again on the network you actually use. Follow the connection and verification guide, changing one thing at a time.

Shadowrocket setup and troubleshooting logFocus on specific fields, matching targets, and failure points