Let rules determine the route
Check the match first, then the policy.
Apple platform client for setting up rule-based routing with existing connection details. The app is a one-time purchase on the App Store; connection services are separate.
Check the App Store page for device compatibility, system requirements, and purchase availability.
Check the match first, then the policy.
Icon, developer, and app ID.
Check purchase history and local configuration separately.
RULES / GLOBAL ROUTING
Choose Global Routing first, then check which rule matches a specific request. These settings address different things: the former sets the overall handling mode; the latter selects a policy for requests under Config.
Rule-based routing sends different requests to different policies. In Config, check the active configuration, review the order of rules, then verify match conditions such as DOMAIN-SUFFIX, GEOIP, and IP-CIDR. Rules are evaluated in order; a broad condition placed too early can prevent a more specific rule from matching. FINAL usually belongs at the end to catch requests that did not match earlier rules. Keep a copy of the original configuration, change one thing at a time, and retest the same destination so you can identify the cause of any change.
Open Global Routing from Home and check how the Config, Proxy, and Direct modes correspond to the current configuration, proxy routing, and direct routing. Config handles requests according to the active configuration; Proxy routes through a proxy; Direct connects directly. Choose a mode based on what you are troubleshooting rather than treating one as the default answer. For rule-based routing, make sure Config matches the active configuration file. After temporarily switching modes for comparison, restore the original setting. Turning on the connection does not mean every request uses the same policy.
If the connection is established but a destination still will not load, distinguish a server connection failure from an unexpected rule selection. For the former, check the connection details and current network. For the latter, review rule order, the final policy, and the selected server. The connection toggle alone does not tell you which is wrong.
See Global Routing and settings →ON DEMAND / DIAGNOSTICS
Configure automatic connection conditions separately from troubleshooting. First confirm that a manual connection works with the basic setup, then decide whether to enable On Demand. This reduces variables during diagnosis.
On Demand starts connections when specified conditions are met; it does not fix an unavailable server. Before changing the related options in Settings, decide which network conditions should trigger a connection and when it should pause. For first-time use, establish a manual connection and verify access before enabling conditions one at a time. If the connection drops and then starts again, check both On Demand and the system VPN status. To investigate battery use, consider system battery activity, actual data transfer, and network changes together. An app name appearing in the background alone does not indicate a problem.
Connectivity Test, Diagnostics, and Data provide access to connection tests, diagnostic details, and traffic monitoring. First confirm that the current network works, then test the same server and compare the result with actual access. A latency result reflects the conditions at the time of the test; it does not predict performance for every destination. Data can show whether traffic is being transferred, but local statistics may not match a provider's billing measurements. Before sharing diagnostics, hide server addresses, subscription links, and authentication details. Include only what is needed to identify the issue.
The first time you connect, the system may ask to add a VPN configuration. This permission allows the system network connection to be established; it does not fill in server details. Make sure the request comes from the Shadowrocket app you are using, then follow the system prompts. If you tapped Don't Allow by mistake, return to the app to start the connection again and check system settings.
Connect and verify, step by step →CONFIG / SUBSCRIBE
Server details are used to connect; configuration files define how traffic is handled. Identify what you have before choosing an import option, and don't confuse subscription data with rule files.
Before getting started, you need your own subscription or server details. When entering information with Add Server, set Type to the protocol specified by your provider, then check Host, Port, and authentication fields. Fields for protocols such as Shadowsocks, VMess, VLESS, and Trojan are not interchangeable. If you have a supported QR code, use Scan QR Code. After updating a subscription, check whether the SERVER list changed and confirm the selected server. If an update fails, check that the URL is complete, you have access, and the network is working. Avoid deleting everything and starting over.
Configuration files in Config can organize settings such as General, Rule, and Host. After importing a file, make sure it is present, the correct configuration is active, and its referenced policies correspond to your existing servers. Rule names cannot be copied in isolation from the configuration they belong to. If you use iCloud sync, check the sync status and active configuration on each device; syncing does not mean the configuration has automatically taken effect. Keep a usable copy before making changes. If something goes wrong, restore the last known-good configuration, then inspect changes section by section.
Subscription links may contain access credentials and should be treated as sensitive information. When asking for help, describe the import option, error message, and steps you took; do not share the full link. A successful QR code scan only means the details were recognized. Check the fields, select a server, and verify the connection.
Read the complete guide, from getting the app to ongoing maintenance →DEVICES / APP STORE
Shadowrocket is available only on the App Store. First check the Apple Account used for the purchase and the product page, then confirm compatibility with your device. App purchase history, system VPN permission, and existing connection details are separate items to check when switching devices.
Buy the app or restore a previous purchase from its product page. When you first open it, import your existing details, then follow the system prompts for VPN configuration permission. Check the App Store page for system requirements.
See the iPhone setup steps →Use the Apple Account that made the original purchase to check your purchased items. See the App Store page for purchase availability. A wider screen does not change the order for checking connection details, selecting a server, and verifying the connection.
See the iPad setup steps →Shadowrocket is also available on the same App Store for Mac and Apple TV; check the store listing for compatibility.
If a new device shows a purchase button, first make sure the App Store is signed in with the original purchasing account, then check the purchase history. Being signed in to iCloud does not necessarily mean the App Store is using the same account. If the app restores but the SERVER list or Config differs from the old device, check local data and sync settings as well. Restoring the app does not automatically restore all connection details.
VERIFY / PURCHASE / RESTORE
Shadowrocket is a closed-source commercial app. Verify it using information on the App Store product page, not search result rankings, nicknames, or similar-looking artwork. Check all three details below.
Open the App Store product page and verify the name Shadowrocket and the developer Shadow Launch Technology Limited, then compare the icon with the official one used on this site. The id932747118 in the product URL is the app ID. A similar name alone does not confirm that it is the same app. If you open the listing from search results, check the developer and product details again. Options in the app may vary; refer to the labels in your installed version rather than assuming a setting has disappeared because it is in a different place than in an older guide.
Check the App Store page directly to see whether the product is available in your current storefront, which currency is shown, and what purchase conditions apply. This site provides a single product link; availability in one storefront does not mean every account sees the same listing. If you cannot open or find the product, check the App Store account, storefront, and device compatibility. System requirements are always as listed on the App Store page; do not infer current device compatibility from an article's publication date.
A one-time purchase refers to how the app itself is bought. On iPhone and iPad, use the original purchasing Apple Account to check purchase history; see the App Store page for availability on your device. When changing or resetting devices, first locate the purchase record, then restore or reimport your own configuration. Check the App Store information and account settings to see whether Family Sharing applies; do not assume purchase access based only on being in the same family. Keep usable copies of your server details and configuration, and store any authentication information securely.
App updates are delivered through the App Store. Before updating, you can review the store's release notes and note your current routing mode and configuration. If behavior changes after an update, first check the active settings and connection status rather than rewriting all your rules. A purchase record confirms app ownership, but does not show whether a connection service is still active.
Buying Shadowrocket gives you the right to use the client; it does not include a server or subscription. This site does not provide, sell, or recommend servers or subscriptions. It explains how to use your own existing subscription or server details. Check with your original provider about connection details, expiration, authentication, and service coverage. The app price and connection service fees are separate.
A successful import, an enabled connection, and access to a destination are three different checks. Importing only confirms that the details were read. Establishing a connection also depends on the fields, permissions, and network conditions. Access is further affected by Global Routing and rule policies. Troubleshoot in these three stages to preserve useful clues, rather than buying the app again or repeatedly clearing your configuration.
READING / PRACTICAL NOTES
Continue with the three latest articles: learn what configuration files do, then review automatic connections and the steps for first launch. Each article focuses on settings you can check in the app; test results are not guaranteed outcomes.
Learn what each configuration section does: global settings, rule matching, local mappings, and rewrites. Before checking Rule order and FINAL, make sure the referenced policies match your current configuration. Copying a snippet without its context can cause problems.
Check system battery usage, actual data transfer, and automatic connection conditions together. Learn how manual connections differ from On Demand, and how to pause automatic triggers while keeping the basic configuration intact so you can observe any changes.
Start with the system prompt shown on your first connection, then learn the Home screen's Not Connected, Global Routing, Connectivity Test, and SERVER sections. Understand what each option does before importing details and verifying the connection.