App Store verified · Official guide

Shadowrocket setup guide and rule configuration

A rule-based routing client for iPhone / iPad, available as a one-time purchase. Verify the App Store listing, then import your existing subscription or server details.

Shadowsocks VLESS On Demand

Shadowrocket features and settings

For your first setup, prepare your connection details, choose a routing mode, allow the system connection, then verify the results. Home shows servers and connection status; Config lets you select and edit configuration files; Data shows traffic records; Settings contains app preferences. Learn where these controls are before changing individual options so you can see what each change affects.

The three Global Routing modes—Config, Proxy, and Direct—correspond to the Config, Proxy, and Direct options. Config follows the rules in the current configuration file to route requests; Proxy sends applicable traffic through the selected proxy; Direct connects without a proxy. To handle traffic differently by domain or address, select Config and review rule order and policy targets rather than simply switching servers.

DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY
Match specific rules first; use a fallback last

In Config, open the current configuration file and review the Rule section. Return to Home, set Global Routing to Config, then connect. Rules are matched from top to bottom, and the first matching entry determines the policy for a request. This example sends specified domains to PROXY, local network addresses to DIRECT, and uses FINAL for all other requests. Save a copy of the original configuration before editing, and avoid placing broad rules ahead of specific ones. To verify the result, check the request log and confirm that the matched rule is the one you expected.

View configuration fields →

Getting Shadowrocket on iPhone and iPad through the App Store

Shadowrocket is purchased and installed exclusively through the App Store. Check the product page for compatibility, price, and purchase status before installing it on your device. System requirements are as listed on the App Store page. Whether the app appears in the store also depends on your account’s storefront and the product’s availability there—not on your local configuration file.

iPhone

After installation, import your existing connection details in Home, then turn on the connection. The first time you connect, the system may ask permission to add a VPN configuration. Confirm the request was triggered by Shadowrocket, which you just opened, and follow the system prompts to authorize it.

Return to the app and check the connection status, then verify that your traffic works as expected. A VPN indicator in the system only confirms that a related connection has been established; it does not prove that the server, DNS, and all rules are working as intended.

View the instructions →

iPad

Use the same Apple ID you used to purchase the app. Check your App Store purchase history, then download it. iPhone and iPad share the purchase, subject to the terms shown on the App Store page; you’ll still need to authorize the first connection separately on each device.

A larger display may change how lists and editing controls are arranged. Find settings by their names: Home, Config, Data, and Settings. After syncing existing files, check the active configuration and selected server again.

View the instructions →

Also available for Mac / Apple TV from the same App Store; see the product page for compatibility.

See how to get it →

Verify the app, restore purchases, and recover configurations

Shadowrocket is a closed-source commercial app. This is Shadowrocket’s official website and guide, with instructions for purchases, configuration, and connections. To verify the app’s identity, check the actual App Store listing; search ranking, a similar name, or similar icon colors are not reliable proof.

Check these three details on the product page

Official Shadowrocket icon

Developer: Shadow Launch Technology Limited
App ID: 932747118

On the App Store product page, first compare the official icon, then check the developer name, and finally verify id932747118 in the product URL. All three details should match. Search results may include apps with similar names, so the name alone is not enough to confirm the app’s identity. Even when you open the product page from here, verify these details before purchasing.

Store availability and account storefront

If the product page says the app isn’t available in your current storefront, check your App Store account’s region and the message on the page. Device language, system region, and account storefront are separate settings; changing the device language does not change the store. Changing an account’s region can affect payment methods, balance, and existing services. Review the system’s terms first, and don’t try to resolve store availability by changing a configuration file.

Before downloading, check device compatibility and available storage on the product page. If you see a purchase button, verify the account and price. If you see a purchased or cloud download button, make sure you’re using the account that originally purchased the app. For purchase status questions, check your App Store order and purchase history. Don’t pay repeatedly to try to fix an in-app connection problem.

Restore purchases and configurations separately

When switching devices or reinstalling, find the app in your App Store purchase history first, then restore your saved configuration. Purchase history confirms your eligibility to get the app; it does not restore subscription URLs, server details, or rule files to your device. After opening the app, check the servers in Home, the active file in Config, and system VPN authorization one by one, then test the connection.

App purchase ≠ service plan

The one-time purchase covers the Shadowrocket client only. It does not include server resources, subscription validity, or network service. This site does not provide, sell, or recommend nodes or subscriptions. Get existing subscriptions from your provider, and enter existing server details as provided. App purchase and server availability are separate; check each independently when troubleshooting.

Successfully importing a subscription URL only means the client retrieved a list. Entries in the list don’t guarantee that every connection works. If authentication has expired, server status has changed, or protocol details are incomplete, check with the original information provider. App purchase history cannot tell you whether a subscription has expired, and the subscription update button does not change your app purchase status.

Updates are delivered through the App Store

Check for available updates in the App Store, or manage automatic updates in system settings. Save important configurations before updating. If the layout changes, find options by their names. Update history, current prices, and system requirements are as listed on the App Store page. This guide does not list specific versions or update dates, which could become outdated.

Keep a configuration backup you can restore

Before editing Rule, DNS, or URL Rewrite, save a working copy of the current file and note the active Global Routing mode. Sync helps transfer existing content between devices; a backup preserves a state you can roll back to. They serve different purposes. After restoring, test a basic connection, then enable custom rules and On Demand conditions gradually. This makes it easier to pinpoint problems instead of changing several things at once.

When organizing backups, label each file with its purpose and compatible device, but don’t put passwords or full subscription URLs in public filenames. If you need help troubleshooting, share a redacted error message, relevant rule snippets, and the steps you took. Keep authentication details in a private, secure location.

Common first-connection questions

First identify whether the problem occurs during purchase, import, connection, or access. Each stage has different checks, so there’s no need to reset all settings right away. Expand a question below to read the answer, or see the FAQ categories → for more scenarios.

What should I configure after importing a subscription?

Return to Home and confirm that the subscription group and server entries appear, then select the entry you want to use. Check Global Routing next. For rule-based routing, select Config and confirm the active file in Config. Finally, turn on the connection and follow the system prompts to authorize it. Check each step in order: the list appears, the connection is established, and the destination is accessible.

If you imported a server list, don’t assume it includes a complete rule file. Server details describe how to establish a connection; a rule file determines which policy handles each request. Once you have both, verify the results with actual requests. See the guide to importing an existing subscription and making your first connection.

Why can’t I access anything even though Connectivity Test returns a result?

The test result only shows reachability under that specific test method. Check the selected server, Global Routing, and active rules, then see whether actual requests are routed according to the expected policy. If only some domains fail, check DNS, the destination service, and relevant rules. Don’t use a single test result to judge all access.

Keep the original settings while troubleshooting, and change one condition at a time. Reproduce the same request first, then compare logs before and after the change. If the result differs on another network, note the network conditions instead of immediately deleting the configuration. See the connection troubleshooting checklist for the full procedure.

What should I do when “Add VPN Configuration” appears for the first time?

This system prompt asks for permission to add the configuration needed for the app to establish the related network connection. Make sure it was triggered by a connection you just started in Shadowrocket, then follow the system instructions. Return to the app and check the status afterward. Authorization does not confirm that your server details are correct; you still need to test the connection and actual access.

If you previously denied the prompt, return to the app, try connecting again, and check the system response. If the configuration was deleted in system settings, check its authorization status again. Don’t confuse a permission issue with subscription authentication. See the guide to VPN configuration permissions.

Rules aren’t routing traffic as expected after an edit. What should I check first?

First check that Global Routing is set to Config and that you edited the file currently selected. Then review the Rule section from the first line down: an earlier, broader entry may already match; the policy name may be incorrect; or FINAL may not be at the end. Rule order can affect results more than adding a single rule.

Also distinguish the targets matched by domain rules and address rules. Changing only a domain suffix rule may not explain a request made directly to an IP address. Check the actual destination in the logs, then choose the matching rule type. See the Rule and matching order reference for examples and checks.

Connection troubleshooting and rule guides

The tutorial covers the first connection flow; the configuration reference explains specific fields and rule syntax. If you’re seeing a particular issue, start with the relevant article, note your findings, and then decide whether to change the configuration. These three articles cover connection failures, rule order, and system permissions.