First verify the official App Store listing, then import your own server details or subscription into the iPhone / iPad app. This guide covers rule-based routing in order: getting the app, configuring it, connecting, and troubleshooting. Shadowrocket is a one-time purchase; you must provide your own connection details.
Choose how requests should be routed first, then consider On Demand, subscription maintenance, and testing. The sections below explain features and show sample rules; example domains are for illustrating syntax only.
Global Routing: Choose an overall mode
Find Global Routing on Home and identify the three options: Config, Proxy, and Direct. Config processes requests according to the active configuration's Rule; Proxy routes requests through the selected server; Direct connects without a proxy. When checking whether rules are working, note the current selection and test the same destination again to avoid confusing server connectivity with rule matching. For different handling by domain, start by checking Config. After changing the option, compare the Connectivity Test results.
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
On Demand: Connect based on network conditions
On Demand is in Settings and manages connections according to configured network conditions. It serves a different purpose from Global Routing: On Demand determines when to connect, while Global Routing determines how requests are handled once connected. Before setting it up, decide which network environments should trigger an automatic connection, then review the available conditions in the app. To test, switch to a network that meets the conditions and check the connection status on Home. If it does not trigger as expected, review the conditions in Settings before changing any Rule.
On Demand → Connection conditions
Global Routing → Config
Subscribe: Manage an existing subscription
If you already have your own subscription URL, add it through Shadowrocket's subscription option. If you have details for a single server, enter them in the corresponding Add Server fields instead; the two methods are not interchangeable. Updating a subscription rereads the configuration at its URL—it does not repair an invalid or expired address. After importing, check that the entry appears and the right server is selected, then test the connection. The address below is a format example only and cannot establish a connection; use your own details.
https://example.com/sub?token=xxxx
Config: Review your configuration
Config is the starting point for understanding routing results. First check which configuration is active, then review its Rule entries and the final fallback, FINAL. The server name shown on Home alone does not tell you where a request will go in Config mode; rule matching also determines the result. Keep a copy of the original content before editing, make one change at a time, and verify the outcome. Rule syntax, order, and available editing options depend on the current in-app interface. The example domains demonstrate how conditions and policies work together; they are not ready-made rules for every request.
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
Rule: Set a policy for matching conditions
A Rule pairs a matching condition with an action on the same line. DOMAIN-SUFFIX matches domain suffixes; GEOIP matches based on IP address location. PROXY, DIRECT, and REJECT mean route through a proxy, connect directly, and deny the request. When troubleshooting, check more specific rules first, then the FINAL fallback. Changing FINAL alone will not help if an earlier rule already matches. After adding a rule, test a clearly defined destination and compare the result before and after the change. These examples illustrate syntax only.
Connectivity Test: Troubleshoot connections in stages
Connectivity Test on Home lets you review test results, but one test cannot diagnose every issue. First confirm that Home shows a connection, then check the selected server and Global Routing. If only certain destinations fail, review the relevant Rule in Config. If the server entry itself is unavailable, first check whether your own server details or subscription are still valid. The rules below are examples for checking routing; they are not test results and do not guarantee that any destination will connect.
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
Protocols and server fields
In Add Server, choose the Type that matches your existing server details, then enter Host, Port, and any other fields required for that type. Shadowsocks, VMess, VLESS, Trojan, WireGuard, and Hysteria2 are different configuration types; their fields are not interchangeable. Before copying a share link, check whether it contains details for one server or is a subscription URL for updating multiple configurations. Refer to the app for currently supported types and fields.
Data and iCloud
Data shows traffic recorded by the app. Use it to help determine whether data has passed recently, but do not infer the route of every request from a single figure. To keep your configurations, check the iCloud options shown in the app and your current Apple Account status. After switching devices, first check whether your configurations appear in the app, then select a server, review the rules, and test the connection. Restoring an app purchase and restoring configuration data are separate processes.
DEVICE
App Store steps by device
Verify the product on its App Store page, then follow the steps for your device. Check the App Store listing for system requirements.
Three steps to get started with your existing configuration
These steps assume you already have your own server details or subscription URL. First establish a connection you can verify, then adjust the rules as needed.
ADD SERVER / SUBSCRIBE
Add your existing details
Open Home and go to Add Server. For a single server, enter the details in the fields for its Type. For a subscription URL, use Subscribe to import it. Check that Host, Port, and other entries match your own details. A successful import only means the configuration was added to the app; it does not verify the connection. Avoid changing several settings before confirming that the entry is present.
GLOBAL ROUTING
Choose a routing mode
Review Config, Proxy, and Direct under Global Routing on Home. To route requests according to Rule, choose Config and check the active configuration and FINAL. To compare overall routing behavior, test the other options as needed. Decide which mode you want to test, then keep the server unchanged so you can compare results.
CONNECTIVITY TEST
Connect and verify
Turn on the connection switch on Home. The first time you connect, read the system prompt for VPN configuration permission. Once the connection status changes, run Connectivity Test and check the destinations you need to reach. If the results are unexpected, review your imported details, selected server, Global Routing, and Rule in that order. Narrowing down the cause this way is easier than changing the subscription, configuration, and connection conditions all at once.
The full guide also covers permission prompts, choosing rules, and checking common failure points one by one. Read the full guide →
VERIFY
Verify the listing and understand the purchase
This is an official manual. Check the App Store product page and the app itself for product information.
What to check on the App Store listing
After searching for Shadowrocket on the App Store, do not assume that a similar name identifies the same app. Open the product page and check that the developer is Shadow Launch Technology Limited. Then compare the official app icon shown on the listing and confirm that the app ID in the product page URL is 932747118. These are details you can verify on the page. The icon used in this site's header comes from the product's official artwork; always check the listing itself when verifying the app.
If the product page does not appear in your search results, use the App Store verification guide on this site to open the specified App Store product page, then check what is shown for your current storefront. Prices, compatibility, and system requirements may vary by storefront or device. Rely on the App Store listing before purchasing, and do not use someone else's screenshot to infer what will appear for your account.
Keep purchase history and configuration data separate
Shadowrocket is a paid commercial app. The US storefront lists it at around $2.99 as a one-time purchase; prices in other storefronts are shown in local currency and may differ. To check purchase status on an iPhone or iPad, use the Apple Account that made the original purchase and refer to the status shown on the App Store page. After switching devices or reinstalling, first check your App Store purchases, then check whether your existing in-app configurations need to be imported again. Restoring a purchase does not automatically restore server details or subscription content.
Keep track of where each part comes from: App Store handles app updates; whether an existing subscription can still be read depends on the URL you have; and Rule behavior should be verified against the active Config and Global Routing settings. When something goes wrong, identify whether the issue is with getting the app, importing a configuration, establishing a connection, or routing a destination, then consult the relevant guide. This helps avoid trying to fix a configuration issue by purchasing the app again, or trying to fix an account purchase issue by repeatedly changing rules.
APP STORE RECORD
App name
Shadowrocket
Developer
Shadow Launch Technology Limited
App ID
932747118
Available from
App Store product page
Verification order: developer name → official icon → app ID. Once all three match, check the price, compatibility, and system requirements for your storefront. This guide does not replace the live information on the product page.
CHECK
Quick answers to common questions
Why can't I connect after importing?
First check the selected server and your own server details, then confirm the connection status on Home. Importing adds a configuration; Connectivity Test and testing the actual destination are what verify the connection. Follow the step-by-step guide to check each item—changing several fields at once makes the cause harder to find.
What's the difference between Config and Proxy?
Config routes requests according to the active Rule, while Proxy uses the selected server. If the difference appears only for certain destinations, check rule matching and FINAL rather than relying on the connection switch alone. See the glossary for explanations of interface terms.
What do the numbers in Data tell me?
Data shows traffic recorded in the app and can help you observe changes after connecting. It cannot, by itself, show which Rule matched each request. To troubleshoot a specific destination, also check Global Routing, the active Config, and the test results.
What should I restore first when I switch devices?
First check your App Store purchase using the original purchasing account, then check whether your configurations are present in the app. Purchase history and configuration data are handled separately. If you need to import a configuration again, use your own saved server details or subscription URL. See the glossary for more interface terms.
NOTES
Recent technical notes
Read notes on specific topics: first launch, the difference between share links and subscriptions, and where to get the values for WireGuard fields.