Official Shadowrocket Guide Genuine App Store app

Shadowrocket User Guide

A rule-based proxy client for iPhone / iPad. Start by importing an existing configuration, then learn how routing rules work and how to verify a connection. The app is a one-time purchase on the App Store; connection services are managed separately.

Apple platform app Available exclusively on the App Store One-time purchase Rule-based routing See the App Store listing for system requirements

CONFIGURATION / MATCH / POLICY

How subscriptions, rules, and policies work together

Start with connection details, then decide how requests should be routed. Subscribe manages existing server details, Config stores routing settings, and Rule determines which policy a request uses. Each has a distinct role: a successful import does not confirm that a connection works.

Subscription (Subscribe)

Import a subscription you already have. It updates server entries; it does not automatically replace a complete routing configuration.

Rule

Conditions are checked in order. Put more specific exceptions before broader rules that could match first.

Policy

PROXY routes a request through a proxy, DIRECT connects directly, and REJECT blocks a request. A policy cannot guarantee that a destination is reachable.

Distinguish server details from configuration files

Server details answer “which protocol, address, and authentication method should I use?” A configuration file answers “which requests should use a proxy or connect directly, and how should domains be resolved?” Existing subscriptions usually manage server entries in bulk. A filename alone does not tell you whether a file contains rules. After importing, check the selected server in Home and the active configuration in Config separately.

The rule workspace on the right is a text-matching illustration, not a ready-to-use configuration. For example, if a broad condition containing example appears first, a later exception for ad.example.com may never take effect. Before making changes, decide which policy you want, then check the scope and order of each condition. Avoid continually appending rules to the end of a file.

FUNCTION INDEX

Explore settings and their limitations

Select an item below to learn more. Code examples show partial syntax or fields for reference, using reserved domains and documentation addresses—not working connection details.

Global Routing: decide how requests are routed

Check Global Routing in Home. Config mode follows the active configuration and its routing rules. Proxy mode sends typical requests through the selected proxy, while Direct mode connects directly. For domain- or address-based routing, select Config first, then confirm which file is active in Config. Changing modes does not supply server authentication details or prove that a server is available. When troubleshooting, change one condition at a time and compare results for the same destination. Avoid changing the server, rules, and DNS all at once, or you may lose track of the cause. The snippet below illustrates routing intent when used in a compatible rule configuration.

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT

FIRST CONNECTION

First connection: import, choose a mode, and test

Before you begin, have an existing subscription link or server details ready. Purchasing the app provides the client; connecting also requires valid server parameters. For your first setup, make as few changes as possible. Confirm that one connection works before adding routing rules or automatic connection conditions.

Step 01 · Add Server

Add an existing server or subscription

Open the add action in Home. If you have a share link, copy the complete link and check the import result. For manual entry, select Type first, then verify Host, Port, and the authentication fields. Use a QR code only if it comes from information you already have, and review the parsed details after importing.

After importing a subscription, check that its group appears and its entries are complete, then select a server. Avoid enabling several advanced settings before verifying the parameters. If the import fails, first check whether the link was cut off by a line break or is empty, then determine whether its format is supported.

Step 02 · Global Routing

Choose Config, Proxy, or Direct

For rule-based routing, select Config and confirm which file is active in Config. Proxy and Direct can help compare how requests are routed, but they do not fix connection problems automatically. After changing modes, make the same request again and compare the result.

If one website works and another does not, first check whether they use different policies. Troubleshooting DNS, authentication, or rules only makes sense after confirming the intended server and configuration are in use. An entry appearing in Home alone does not prove that a configuration is active.

Step 03 · Connectivity Test

Connect and verify real-world access

When starting a connection, follow the system prompts to review and allow adding a VPN configuration. This permission only establishes a system network connection; verify server authentication for your existing subscription separately. Once connected, run Connectivity Test, then open the destination you actually need and confirm that it works as expected.

A system status of connected only indicates that the connection configuration is active; it does not prove that every destination is reachable. If a test fails, note the current network and mode, check the server parameters first, then review request routing. Change one thing at a time and keep a reproducible before-and-after comparison.

A step-by-step verification beats changing everything at once

If the first connection does not work as expected, keep a copy of the original details and check that the subscription or server parameters were entered correctly. Then verify that the intended entry is selected, Global Routing is set as expected, and the right Config is active. Once these basics are confirmed, inspect name resolution and the specific request records. A test timeout alone is not enough to determine whether the rules or server are at fault.

When switching networks, retest the same destination and note whether only some requests fail. This helps distinguish a change in the environment from a configuration change. If you need help, share the mode, what happened, and the steps you have tried. Do not disclose a full subscription link, password, or other authentication details.

Read the full guide →

DEVICES & APP STORE

Getting Shadowrocket on iPhone and iPad

The App Store is the only place to get Shadowrocket. Purchase eligibility for both devices, system requirements, and compatibility are as shown on the App Store listing. On a device where the app is already purchased, still check the account and connection configuration in use.

iPhone

Verify the App Store listing before purchasing and installing. When setting up your first connection, follow the system prompts to authorize it, then return to Home and select an existing server. Retest access after changing networks or configurations.

If Shadowrocket does not appear in store search, check the country or region associated with your account and the details on the product page. Do not confuse a search visibility issue with a client connection problem.

See the iPhone setup steps →

iPad

Use the same Apple ID to check your purchase history; purchase eligibility is determined by the store listing. On iPad, still verify the imported configuration, selected server, and Global Routing mode. A connection working on another device does not verify this device.

The larger display makes configuration files easier to read, but screen size does not change rule-matching logic. After restoring an existing configuration, check that its contents are complete, then connect and verify how requests are routed.

See the iPad setup steps →

Shadowrocket is also available on Mac / Apple TV through the same App Store; see the listing for compatibility details.

See how to get the app →
On the App StoreView Shadowrocket

PRODUCT IDENTITY & PURCHASE

Verify the app and understand the one-time purchase

This is the official Shadowrocket website and guide. When purchasing, verify the product name Shadowrocket, developer, official icon, and app ID together. Do not rely on the search result title alone.

Official Shadowrocket app icon: a rocket outlined in blue and purple on a white background

Shadowrocket

Shadow Launch Technology Limited App ID 932747118 Closed-source commercial app

Compare the icon, developer, and ID in the product page URL; all three should match.

Verify three details on the product page

Open the App Store product page. Check the app name and icon, then confirm the developer is Shadow Launch Technology Limited. The id932747118 in the product page URL corresponds to the app ID. A similar icon is not enough to verify the app, and neither an identical nor a similar name replaces these two text checks.

If you arrived from a search result, verify the details again on the product page. The official icon shown here can help you compare the appearance, but the App Store listing is the source for current pricing, compatibility, and purchase information. App updates are also managed through the App Store; to see what changed, read the update notes there rather than guessing from how an app looks in a tutorial.

Pricing, the app purchase, and connection services are separate

Shadowrocket is a paid app. The US storefront reference price is $2.99 as a one-time purchase; other storefronts show local pricing, and the final price is displayed at checkout. Buying the app provides the client, not a guarantee of server connectivity, service duration, or access quality.

A one-time app purchase is not a service plan. This site does not provide, sell, or recommend servers or subscriptions. To use the connection features, prepare a subscription or server details you already have. The validity period, address changes, and authentication details for an existing service depend on your existing service arrangements; reinstalling the app will not restore or extend them automatically.

Store availability and account region

The App Store displays products based on the country or region associated with an account, so search results and purchase availability can vary. If Shadowrocket does not appear in search, check the current storefront in your account settings, then open the product page linked on this site. Missing search results do not mean the app name has changed or that an existing purchase is invalid.

When checking your account, distinguish the account signed in to the device from the account used for App Store purchases. Follow account settings and store prompts for any regional, payment, or purchase restrictions. Do not repeatedly change purchase settings to troubleshoot a client connection issue: getting the app from the store and connecting to a network are separate processes, and the former cannot fix authentication errors for an existing server.

Restore on a new device and use the purchase on both devices

When switching devices or reinstalling, use the original purchase account to check App Store purchase history, then verify the Shadowrocket product page. The purchase eligibility for iPhone and iPad, as well as compatibility with other devices and Family Sharing conditions, is determined by the App Store listing. If prompted to pay again, check the account and purchase history before buying again.

Restore the app and restore its configuration separately. Purchase history helps you retrieve the app; server details and configuration files must be restored from your own backup or existing synced data. After restoring, check the selected server, Config, and Global Routing, then connect as prompted by the system on this device. Authorization and test results from another device do not replace checks on this one.

Routine maintenance: keep a copy and make small changes

Once your setup is stable, manage server details, routing configuration, and automatic connection conditions separately. After updating a subscription, check what changed in its entries; after editing rules, verify which rule matches; after changing On Demand, test network switching. Keeping these operations separate makes it easier to identify the cause of a problem. Keep a recoverable copy of important configurations and protect any authentication details they contain.

When troubleshooting a Shadowrocket connection problem, record the current network, selected entry, Global Routing mode, and specific symptoms. This is more useful than a screenshot showing only that a switch is on. Before sharing logs, check for full subscription links, server passwords, or personal browsing records. The goal is to identify a reproducible failure point, not to keep changing every setting to chase a particular test result.

Frequently asked questions

Why do I still need to select a server after importing?

Importing only saves information in the client. You still need to select an entry in Home, check Global Routing and the active configuration, then connect. An entry being present, a test passing, and the intended destination being reachable are separate results; verify them in order. See the import and connection steps →

Why is access still unstable when latency is low?

A latency test measures connection or round-trip time using a particular method. It does not cover throughput, packet loss, sustained connections, or how quickly the destination responds. Keep the same server and mode, retest the actual destination, and then check whether the issue changes with the network. See verification and troubleshooting steps →

Why did adding a rule not change how a request is routed?

First check that Global Routing is set to Config and that the edited file is active. Then check rule order and the domain used by the actual request. A new rule cannot determine the policy if an earlier, broader condition matches first. After confirming these details, make the request again and compare. Read the routing rules guide →

Will reinstalling the app restore all server details?

Check purchase history and configuration data separately. Retrieve the purchased app from the App Store, then restore configuration from your own backup, an existing subscription, or sync data supported by the client. After restoring, check that the information is complete and test again. Read how to restore a previous purchase →

TECHNICAL NOTES

Technical notes: how it works and what to expect

Go beyond the setup steps with notes on specific questions. These articles explain the scope of rule-based blocking, how store listings relate to account regions, and what latency tests can tell you. First identify whether your issue concerns purchasing, configuration, or connectivity.