iPhone / iPad client for connecting with existing servers and subscriptions, rule-based routing, and configuration management; a one-time purchase on the App Store.
First distinguish connection details, configuration files, and connection conditions, then adjust individual settings. The sections below cover features and rule syntax you can verify in the app.
Rule-based routing and rule order
In Home, select Config under Global Routing to have requests evaluated against the rules in the active configuration. DOMAIN-SUFFIX matches domain suffixes, GEOIP checks the destination IP's region, and FINAL handles requests that match no earlier rule. Rules are checked from top to bottom, so put specific exceptions before broader rules. PROXY, DIRECT, and REJECT route traffic through a proxy, connect directly, or reject the request. Before setting a policy, confirm that your existing server details are usable.
DOMAIN-SUFFIX,example.com,PROXYFINAL,PROXYMatch first, then apply the policy
On Demand connection conditions
On Demand starts a connection when specified conditions are met. It is separate from the rules in Config, which determine how requests are handled. Find On Demand in Settings and review the network conditions available in the app. When getting started, connect manually first and confirm the server and rules work before setting up automatic connections. If the connection starts again after you turn it off, check these conditions and the system VPN settings rather than repeatedly toggling the Home switch without checking what triggered it.
Settings → On DemandTest manually before setting conditions
Importing and updating existing subscriptions
Have your existing subscription URL ready. In Home, go to Add Server, choose Subscribe, and enter the required details. A subscription retrieves and updates a server list; it is not a rule configuration file. After importing, select a server and check Global Routing. If an update fails, check that the URL is complete and valid and that your current network can reach it. Subscription URLs may contain access credentials, so do not share them publicly. This manual explains how to import subscriptions but does not provide them.
Home → Add Server → SubscribeYour existing subscription URL
Organize configuration files by section
Config manages the configuration files used for connections. [General] contains general settings, [Rule] defines matching rules and policies, [Host] handles host mappings, and [URL Rewrite] defines rewrite behavior. After importing a file, check which one is active and review it section by section. Keep a copy of the original before editing, and change one setting at a time. If you manage configurations across devices with iCloud, verify the actual file contents and current selection; a file appearing does not mean it is automatically active.
[General][Rule][Host][URL Rewrite]Back up first, then edit one item at a time
Protocols and server fields
The Type selected in Add Server determines which fields you need to enter. Authentication methods and parameters vary across Shadowsocks, VMess, VLESS, Trojan, and other protocols, so changing only the protocol name does not make the rest of the details interchangeable. Check each field against your existing server information, including Host, Port, Password or UUID, and transport- and TLS-related settings. After importing a QR code or share link, verify the key fields as well. Recognizing a protocol only means the information could be parsed; it does not confirm that the remote service is reachable.
Use your existing server details as the source of truth
Connection checks and diagnostics
Connectivity Test in Home is a useful starting point, but a test result does not guarantee that every website request will succeed. When something goes wrong, check your local network, selected server, Global Routing, and configuration file in that order, then inspect DNS and rule matches. Diagnostics in Settings can help narrow down the cause; Data provides traffic records. Each offers a different perspective. When documenting an issue, note what happened and how to reproduce it. Before sharing, remove server credentials and subscription URLs.
Connectivity TestSettings → DiagnosticsCheck test results and real-world access separately
Global Routing: check the current mode first
Config applies the rules in the active file to requests. Proxy sends traffic through the selected proxy, while Direct connects without a proxy. When troubleshooting, confirm the selected mode before checking whether rules are being applied. Editing a Config file while using Proxy does not test the rule order. Likewise, opening a page in Direct mode does not by itself confirm that the proxy server is working.
Shadowrocket is available only through the App Store. Verify the listing first, then check device compatibility and the Apple Account used for the purchase.
iPhone
On the App Store product page, verify the developer and app ID, then wait for installation to finish after purchasing. When you first connect, the system may ask to add a VPN configuration; authorize it only after confirming the request was initiated by the app. Installing the app and importing your existing connection details are separate steps. Installing the app does not create a server automatically.
Your purchase history under the same Apple Account can help you restore the app. Check the App Store listing for the purchase terms that apply to iPhone and iPad. On iPad, also verify the imported server, active configuration, and connection authorization. A setup on another device does not mean this device is ready to connect.
Shadowrocket is also available from the same App Store for Mac and Apple TV; check the compatibility details on the listing. System requirements and purchase eligibility for every device are as stated on the App Store page.
Start with the fewest changes needed to confirm a basic connection, then move on to more complex rules. Test one thing at a time so you can retrace your steps if something goes wrong.
01
Add Server: enter your existing connection details
Have your existing server settings, share link, QR code, or subscription URL ready. In Home, open Add Server and choose the method that matches your information. For manual entry, select the Type first, then check Host, Port, and authentication fields. If using a subscription, confirm the expected group and servers appear after import instead of repeatedly adding the same URL.
A successful import only means the information was read. Check that the server entry is complete, the protocol matches your details, and the subscription is still valid. Do not expose the full subscription URL in screenshots, public comments, or issue reports; its access parameters may be as sensitive as a password.
02
Global Routing: choose how traffic is handled
In Home, select the server you want to use, then check Global Routing. If you have a rule configuration file, choose Config and confirm the active file in Config. To test the server connection separately, you can observe how Proxy behaves; Direct connects without a proxy. Server selection and routing mode are independent, so check both.
For now, avoid changing DNS, transport settings, and many rules at once. If an existing configuration refers to a specific policy name, confirm that it maps to a usable policy or server. Correctly written rules can still fail to handle requests as expected if their target does not exist.
03
Connection switch: authorize, then test access
Turn on the connection switch in Home and follow the system prompts to authorize the VPN configuration. Once the connection status appears, run Connectivity Test, then open a familiar website to check actual access. Test results, system connection status, and whether a webpage loads are different kinds of evidence; do not rely on just one to consider the setup verified.
If the test succeeds but a webpage does not load, note whether all pages fail or only one domain, then check DNS and the rules. If the connection cannot be established at all, start with the local network and server fields. Keep the original configuration and change just one thing before testing again, so you can isolate the cause.
Shadowrocket is a closed-source commercial app. Verify the official listing on the App Store, and check the price, compatibility, and purchase history there.
Developer: Shadow Launch Technology Limited
App ID:932747118
Developer, official icon, and app ID
On the App Store, do not rely on the app name alone. First check that the developer is Shadow Launch Technology Limited, then compare the official icon shown on this page, and finally verify id932747118 in the product URL. All three should match. If search results show similar names, follow these checks rather than relying only on the title or displayed image.
This is the Shadowrocket official website and manual. The purchase guide covers how to verify the official listing, install the app, and use existing configurations. App Store manages payment, purchase history, and app updates. Reading configuration examples does not make a purchase or add connection details to your device.
App Store availability and account region
App Store search results depend on the storefront associated with your account. Check the purchase status shown on the product page on your own device. If you cannot find the app, first check the Apple Account used for Media & Purchases and its country or region, then revisit the App Store listing. Not finding it in search does not necessarily mean your device is faulty, and the system display language does not tell you which storefront your account uses.
Before changing your account region, review Apple's requirements during the setup process and check details such as account balance, active subscriptions, and payment methods. Use the product page shown on your device to confirm details before purchasing. This site cannot make account or payment changes for you. Check system requirements on the App Store listing rather than relying on system version numbers in older guides.
One-time app purchase vs. existing network services
The US storefront lists the app at around $2.99 as a one-time purchase. Prices appear in local currency on other storefronts; the final amount is shown on the App Store page at checkout. Purchasing the app grants the right to use the client. You must provide and maintain the server address, authentication details, or subscription required to connect, following the instructions for your existing service.
So if your purchase succeeds but no servers appear in Home, that does not mean installation failed. An expired subscription cannot be fixed by buying the app again. First identify where the app purchase, subscription content, and configuration rules are managed, then follow the relevant troubleshooting steps to avoid duplicate charges or unnecessary reinstalls.
Purchases and restoring purchases across two devices
To use Shadowrocket on both iPhone and iPad, first make sure the App Store is signed in with the Apple Account used for the original purchase, then check your purchase history and the product page status. Purchase history under the same account is an important way to restore the app. Check the App Store listing for terms covering both devices and other purchase eligibility. If a price button appears, verify the account before paying again.
Restoring the app does not restore all connection details. After reinstalling or switching devices, check your server list, active configuration file, and system VPN authorization separately. If you manage files with iCloud, confirm the required file has appeared and is selected. Before deleting anything, preserve your existing data, especially local changes that cannot be recovered elsewhere.
Handle app updates and configuration changes separately
Get Shadowrocket app updates from the App Store and check the listing for update details. Updating a subscription retrieves server information from your existing service, while editing a configuration file is a separate process. When troubleshooting, note which of these changed recently. Calling all three “an issue after updating” can send you to the wrong place to investigate.
If a problem starts after editing rules, restore the previous configuration for comparison. If only one entry fails after a subscription update, check that entry's fields. If this is your first time connecting after switching devices, check the import and system authorization first. For purchase and restore steps, see Restore a previous purchase. For rule matching, review the settings in Configuration reference.
Frequently asked questions
I purchased the app. Why don't I see any servers?
The app purchase and connection details are managed separately. In Add Server, import your existing server information or Subscribe URL, then select an entry and choose a Global Routing mode. See the first-time setup guide for steps.
Connectivity Test returns a result, but webpages still won't load. Why?
A test result does not cover every step involved in loading a webpage. First check whether one domain or all pages are affected, then review DNS, the active configuration, and rule policies. Follow the troubleshooting steps to check each item.
Why don't my rule changes seem to make a difference?
First check that Global Routing is set to Config, then confirm you edited the file that is currently active. Next, check the rule order and any earlier matching rules. Saving a file does not prove that requests are using its rules. See the rules and configuration reference.
Where should I look if the connection starts again after I turn it off?
First check the On Demand conditions in Settings and the system VPN settings to see whether an automatic trigger is enabled. Automatic connection conditions and rule-based routing serve different purposes. See proxy modes and connection settings.
Subscriptions, App Store, and protocol guides
Continue with the guide that matches your question: organizing multiple subscriptions, checking App Store availability, or distinguishing share links from subscription URLs.
If you have two or more subscriptions, first distinguish subscription groups from manually added entries, then organize their display order in Home. Learn how to remove expired subscriptions, check for duplicate servers, and keep your details before updating.
Your system display language and Apple Account's App Store region are separate settings. Check the current storefront under Media & Purchases on your device, then review your balance, subscriptions, and payment method before changing regions.
A single share link usually describes one server, while a subscription URL retrieves and updates a list. Learn to tell them apart using clear examples, find the right import option, and understand why their update behavior differs.