A rule-based proxy client for iPhone / iPad. Get the app with a one-time purchase on the App Store, then use your existing configuration for rule-based routing and connection diagnostics.
DEVELOPERShadow Launch Technology LimitedVerify the developer name on the App Store
APP ID932747118App identifier in the product link
PURCHASEOne-time purchaseSee the App Store product page for current pricing
ROUTINGConfig / Proxy / DirectChoose a routing mode, then check the matching rules
Devices and App Store listing
The App Store is the only place to get the app. Verify the product listing before purchasing and launching it for the first time.
Getting Shadowrocket on iPhone
Open the Shadowrocket product page in the App Store and verify the developer, icon, and app ID before purchasing. After installation, open Home and confirm that your existing server details or subscription are usable, then add an entry through Add Server. Simply turning on the connection switch does not mean setup is complete.
When connecting for the first time, iOS may ask for permission to add a VPN configuration. This system authorization allows the client to handle network requests on the device; it does not mean a connectivity service is ready. Confirm that the prompt is for Shadowrocket and follow the system instructions. Check the App Store product page for system requirements.
If you have already purchased the app, first check which Apple ID was used for the purchase in the iPad App Store, then view your purchased items. Purchase eligibility across iPhone and iPad, compatibility, and whether the purchase is universal are determined by the App Store listing. Do not assume that an app's download status means its configuration has synced between devices.
Navigation and content may be arranged differently on a larger screen, but the main steps still use Home, Config, and Settings. After importing an existing configuration, check the selected server, Global Routing, and active configuration file separately. Even with the same account, verify the connection on each device.
Shadowrocket is also available through the same App Store on Mac and Apple TV. Check the App Store product page for system requirements, compatibility, and whether the purchase is universal.
This is the official manual for Shadowrocket. Before purchasing, distinguish getting the app from setting up a connection: the App Store handles the former, while the latter requires your own existing subscription or server details. If you have the app but no configuration, first prepare valid connection details, then continue with the guides. Reinstalling the app will not supply missing server addresses, ports, or authentication details.
Proxy modes and configuration options
Choose a guide based on what you need to do. The snippets on the right explain configuration concepts and do not represent the app interface.
From routing modes to connection diagnostics
First determine how traffic is handled, then verify settings and matching results.
Three Global Routing modes
Check Global Routing on Home. Config mode processes requests according to the rules in the active configuration file. Proxy mode routes applicable traffic through the proxy. Direct mode connects directly. For rule-based routing, select Config first, then confirm that the expected file is enabled in Config. Switching modes changes how traffic is handled; it does not fix incorrect server settings. When troubleshooting, change one setting at a time. Note the original mode and test the same destination to compare results, so you do not mistake a mode change for a rule taking effect.
Control connection triggers with On Demand
Check On Demand in Settings and configure its connection triggers for your needs. It controls when a connection starts, not which route a domain takes; that is determined by Global Routing and the rules. For initial setup, verify the connection manually before enabling automatic triggers, so you are not troubleshooting two behaviors at once. After changing the settings, test on the networks you actually use and check the device's current connection status. If the connection starts automatically, review the On Demand conditions first instead of deleting a configuration file that has already been verified.
Rules determine policy in order
In Config, check the [Rule] section of the active configuration. DOMAIN matches an exact domain, DOMAIN-SUFFIX matches a domain and its subdomains, and IP-CIDR handles address ranges. Rules are checked from top to bottom, and the policy for the first match applies. A broad condition placed first can prevent a more specific rule below it from taking effect. Put necessary exceptions before general conditions and place FINAL at the end. The example on the right sends one exact domain to DIRECT and other requests with the same suffix to PROXY, showing how rule order changes the outcome for overlapping targets.
Protocol type must match the server
In Add Server, choose a Type that matches your existing details, such as Shadowsocks, VMess, VLESS, Trojan, WireGuard, or Hysteria2. Each protocol requires different authentication and transport fields; an address and port alone are not enough to identify it. Check each value against the details provided for your server, and retain any required TLS, transport, and DNS settings. For WireGuard, distinguish the local interface settings from the Peer settings. PROXY in a rule is a policy, not a protocol name; changing rules cannot replace a correct protocol configuration.
Import existing details with Subscribe
Use your existing subscription details. Enter them under the Subscribe type in Add Server, save, then check that the expected entry appears in the SERVER list on Home. A subscription update retrieves server details provided remotely; it is different from updating the app or a rule file. Check that the link is complete before importing and verify the selected entry afterward. Subscription URLs may contain access credentials, so do not share them publicly or include them in screenshots. The example on the right does not invent subscription fields; it shows the separate roles of the server list and [Rule].
Check configuration and actual requests separately
In Config, confirm the active file. Use Connectivity Test to check basic connectivity, then use Diagnostics in Settings to investigate further. Traffic figures in Data show request and traffic changes; they do not prove that every destination is reachable. If you use iCloud sync, first check the relevant settings on your devices and keep a separate backup. After syncing, verify the active configuration and selected server. Before sharing diagnostics, remove authentication details and subscription URLs. Troubleshoot layer by layer: local network, server settings, DNS, then rule order.
Keep three things distinct during setup: entries in SERVER provide connection details, the active file in Config provides rules, and Global Routing determines whether those rules are applied. Seeing a server in the list only confirms that its details are saved. Importing a file does not mean it is the file currently in use. Check the selection in all three places before connecting to avoid many seemingly random behaviors.
Verify each layer separately. Connectivity Test results depend on the selected test method and the network at the time; they do not replace testing access to a specific destination. Traffic in Data only indicates that data is passing through. If a destination behaves unexpectedly, note its domain, the current mode, and the matching policy, then compare a direct connection with the expected proxy route. See the rules and configuration reference for syntax, and the first-time setup guide for the full sequence.
App verification and purchase details
Verify the product identity, purchase entitlement, and connectivity service separately.
Developer: Shadow Launch Technology Limited
App ID: 932747118
One-time purchase on the App Store
Product identity
Verify the developer, icon, and app ID together
On the App Store product page, check the name Shadowrocket and confirm that the developer is Shadow Launch Technology Limited. Compare the listing icon with the official icon shown here. Finally, verify that the product link contains app ID 932747118. A Chinese nickname, similar name, or lookalike icon alone is not enough to confirm the product. Make sure all three details match before purchasing.
The app ID identifies the product; it is not a version number or purchase order number. To verify the listing, open the same product page from the App Store link on this site and review the displayed price, compatibility, and description. Shadowrocket is a closed-source commercial app. This manual refers to App Store product information and the English labels in the app. Check the App Store product page for system requirements.
If your search returns several similar listings, go back to the product page and check each detail before purchasing. If the app is already installed, you can also view its listing in the App Store and check whether your account shows Open, Redownload, or a purchase option before deciding what to do next.
What the purchase covers
Client purchase ≠ connectivity plan
The one-time purchase covers use of the Shadowrocket client, not server capacity, network routes, or subscription services. You still need your own existing subscription or server details to configure a connection. This site does not provide, sell, or recommend nodes or subscriptions; the manual explains how to enter existing details, how rules match, and how to diagnose problems.
The US storefront reference price is $2.99; each storefront displays prices in its local currency. Check the App Store product page for the actual price. Before paying, review the product name, amount, and account shown on the system confirmation screen. If the app was purchased but cannot connect, check the server settings and network conditions first rather than assuming the payment failed. Purchase status and remote connectivity must be checked separately.
Protocol support does not mean a server using that protocol is included. For example, being able to select WireGuard under Type means you can enter settings in the required format; the Private Key, Peer, and Endpoint must still come from your own configuration. Do not mistake PROXY in a rule for a standalone service: it is a policy keyword that directs traffic through the proxy route.
App Store and account
Store availability and device compatibility
Whether the product appears in search results may depend on the current App Store storefront, account settings, and device compatibility. Check the account currently signed in to the store, then open the product page linked here to see the actual listing. If it shows a device or regional restriction, follow the page details. A missing search result does not mean the app is no longer available, nor does it guarantee that your device can install it.
Purchase eligibility on iPhone and iPad, compatibility with other Apple devices, and whether the purchase is universal are determined by the App Store listing. The device name alone is not enough to confirm system requirements; check the compatibility section on the device you plan to use before purchasing. This manual does not list fixed minimum system versions, since that information can become outdated.
If the purchase button does not show what you expect, first check whether the App Store is using the account that made the original purchase, then review your purchase history or purchased items. The account used to sync data may need to be checked separately from the store purchase account. Keep the original purchase record to confirm your entitlement, but do not post orders, account details, or payment screenshots in diagnostic materials.
Restore and maintenance
Restoring the app and restoring configuration are different
When changing devices or reinstalling, find Shadowrocket in the App Store's purchased items and redownload it according to the status shown for your current account. Restoring the app restores the client only; it does not mean server details, the active configuration, rule order, or connection toggle have also been restored. After opening the app, check Home, Config, and Settings again. The exact steps for restoring a purchase depend on the current App Store interface on your device.
If you use iCloud sync, first check the account and sync settings on each device, then verify what was actually synced. Keep a separate backup of important configurations to avoid accidental deletion or overwriting; backup files may contain authentication details and should be stored securely. After migration, verify one known working entry before restoring your usual rules and On Demand conditions. Avoid changing several settings at once.
App updates are handled through the App Store; subscription updates retrieve server details from an existing subscription; rule updates change the contents of a configuration file. These updates have different sources and effects. If something changes after an update, first identify which layer was updated, then check the relevant settings. For purchase restoration and first-launch steps, see the guide to restoring purchases.
Topic guides and troubleshooting notes
Choose a guide based on your current issue, from configuration migration and speed troubleshooting to protocol fundamentals.
Advanced Setup
Back Up and Migrate Shadowrocket: iCloud Sync, Configuration Export, and Restoring on a New Device
When changing devices, distinguish purchase entitlements from configuration data. Follow the checks for iCloud sync, configuration export, and restoring on a new device. Confirm that server details and active rules are restored to the right places, then verify the connection step by step.
How to Troubleshoot Slow Speeds in Shadowrocket: Check Your Network, Protocol Settings, Routes, and Server Load
Break speed issues into four layers: local network, protocol and transport settings, route quality, and server load. Use Connectivity Test alongside real access to specific destinations to understand what the test results show and what still needs verification.
How Hysteria2 Works: QUIC-Based Congestion Control and Suitable Network Conditions
Learn the basics of Hysteria2 transport over QUIC/UDP and distinguish protocol design from the effects of real-world network conditions. If your existing server uses this protocol, first check transport conditions and parameter consistency, then decide whether it suits your current network.
Start with the setup guide for a new configuration. If you already have a connection but routing is not behaving as expected, consult the rules reference. Back up before changing devices. Topic articles offer guidance on individual issues but do not replace App Store purchase and compatibility information. If the interface layout differs, use the English labels shown in the current app to find the relevant controls.