When you first use Shadowrocket, start by distinguishing four areas: Home manages servers and connections, Config manages configuration files, Data shows traffic and connection records, and Settings controls app behavior. This guide is for users who already have their own server details or subscription but are new to the English interface. You’ll learn where to add a subscription, how to tell the two uses of Config apart, and how to check a connection using its records.
Four areas: Find the right one for the task
Shadowrocket’s interface labels are not server names, and they do not mean that a routing service has been purchased. It’s easier to find the right setting by first identifying whether you need to add connection details, choose a traffic route, or review results. The examples below follow the common iPhone and iPad layout; exact locations and presentation may vary by device.
| Interface label | What it does | Common tasks |
|---|---|---|
| Home | Server list, connection toggle and routing options | Add an existing subscription, choose a server or connect |
| Config | Manage configuration files | Check the active configuration and its rules |
| Data | View traffic and connection records | Check request destinations, handling results and traffic changes |
| Settings | App behavior and feature settings | Find options such as On Demand |
Changes in these four areas are not interchangeable. Choosing a different server in Home does not switch the Config file, and seeing traffic increase in Data does not prove that every request from a webpage succeeded. When troubleshooting, note which area and setting you changed so you can compare results without changing several things at once.
Home: Servers, Subscribe and the connection toggle
Home is where most day-to-day tasks begin. A server entry stores its address, port, protocol and authentication details. Subscribe saves a subscription you already have and uses its contents to create or update the server list. A subscription link is not the same as a configuration file: the former usually manages server details, while the latter organizes settings such as rules and DNS.
-
Open the Add Server screen
Go to Home → tap “+” in the top-right corner to open Add Server. If you have details for a single server, fill them in according to the provided Type. If you already have a subscription, choose Type → Subscribe.
-
Enter your subscription
Paste your complete subscription link into the URL field, then check its scheme, path and parameters. The example below is illustrative only and is not a working subscription:
https://example.com/sub?token=xxxx. -
Save and update
After saving, return to Home and pull down to refresh the subscription list. Check whether the server entries appear. If you see an error, first check that the link is valid and that your network is working. Don’t add the same address repeatedly.
-
Choose a server and connect
Choose a server in Home, check Global Routing, then turn on the connection toggle. The first time you connect, follow the system prompt to allow a VPN configuration. Then visit a webpage whose result you can verify.
Updating a subscription fetches server details again; it does not refresh a webpage or necessarily overwrite other settings you maintain manually. After updating, check the selected entry to make sure the server is still there. Keep the original details before changing the URL or authentication parameters. Subscription links may contain personal credentials, so hide their parameters when sharing troubleshooting information.
Global Routing: Config, Proxy, Direct and Scene
Global Routing in Home determines how traffic handled by Shadowrocket is routed. Here, Config refers to a routing mode, not the Config tab at the bottom of the screen. The guidance below assumes you have checked the active configuration rules; it is not a blanket endorsement of any configuration file.
Config
RecommendedRoutes traffic according to the active configuration’s rules and policies. Requests matching DIRECT connect directly; requests matching a proxy policy use that policy. If no earlier rule matches, check FINAL. It is not safe to assume that everything else will connect directly.
Best for: Everyday use with defined rules that route traffic by destination.
Proxy
Routes traffic covered by the setting through a proxy. This is commonly used as a temporary check to see whether the selected server can reach a destination. It does not guarantee that every type of system traffic on the device, or every connection outside Shadowrocket’s handling, uses the proxy.
Best for: Comparing with Config to see whether a rule selection is causing the issue.
Direct
Routes traffic covered by the setting directly, without forwarding it through the selected proxy server. Choosing Direct is not the same as turning off the connection toggle; the app may still maintain a connection and record how traffic is handled.
Best for: Checking whether a destination is reachable directly over your local network.
Scene
Applies routing behavior according to the configured scene conditions. Check the scene conditions and associated settings before choosing it. Scene is not a fourth transport protocol, nor does it simply mean “automatically choose the fastest server.”
Best for: Users who have configured and tested different network scenarios.
One useful comparison: the same server, network and destination work under Proxy but fail under Config. This points first to checking rule matches and policy references, but you still need to consider DNS and connection records before drawing conclusions. It does not prove that the server is faulty. After testing, restore the original routing mode so a temporary troubleshooting setting does not become your everyday setup.
Config: Configuration files and rule keywords
On the Config page, focus on the currently selected file and its contents. Under Home → Global Routing → Config, the question is whether traffic is being handled according to that file’s rules. Having a file does not mean it is selected, and selecting one does not mean every request will use a proxy. Rules are usually checked in order, so start with the matching rules that appear earliest.
The two uses of Config
- Config page
- Manage and select configuration files
- Global Routing → Config
- Handle traffic according to the active configuration
- What to check first
- Check the selected file, then the routing mode
The same English word appears in both the file management tab and a routing option.
Reading rules
- DOMAIN-SUFFIX
- Matches by domain suffix
- IP-CIDR
- Matches a specified IPv4 network
- FINAL
- Final handling when no earlier rule matches
Check rule actions and policy names against the active configuration.
The rules below illustrate the syntax; they are not instructions to replace your current file. 192.0.2.0/24 is a documentation-only example network. GEOIP,CN matches according to the IP geolocation database, not the webpage language or domain suffix.
[Rule]
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
DOMAIN-SUFFIX,example.com,DIRECT: Matches example.com and its subdomains, then connects directly.IP-CIDR: Matches the network containing the destination IP. In the example,no-resolvemeans this rule does not trigger an additional domain lookup for matching.GEOIP,CN,DIRECT: Matches based on the destination IP’s location in the database; results depend on the database contents.FINAL,PROXY: Uses the proxy action when no earlier rule matches. If the original file specifies DIRECT instead, the resulting route will be different.
Data: Check request results, not just traffic totals
Data shows traffic and connection records. Available fields may vary between record views, so check the current interface. When troubleshooting, look for the destination domain or IP, connection time, handling policy and any visible error. A traffic total only shows that data was counted; on its own, it does not prove that DNS resolution, the connection and all page content loaded successfully.
- Keep the network, selected server and Global Routing mode unchanged. Open a webpage you want to check and note the test time.
- Return to Data and look for records matching that time and destination. A webpage may contact several domains, so don’t check only the main domain in the address bar.
- If a record shows Direct, check Global Routing and the matching rule first. Selecting a server in Home does not mean the request used a proxy.
- If you see a DNS or connection error, keep the original error text. Then check DNS, server details and your local network separately, changing only one thing at a time.
For example, “The latency test in Home shows a value, but the webpage keeps loading” is not a contradiction. The latency test only checks the path used by that test; a webpage also depends on DNS resolution, the destination port and subsequent resources. If you can’t find the expected request in Data, consider caching, whether recording is enabled and the current view. Don’t assume that “no record” means the request connected directly and succeeded.
Settings: On Demand and protocol settings are separate
Settings controls app behavior. Settings → On Demand lets you control connection behavior based on conditions you configure. It answers “when should a connection start or resume?”; Global Routing answers “how should traffic be routed after the connection is active?” If the connection comes back after you manually disconnect, check the On Demand conditions first instead of repeatedly switching between Config and Proxy.
- Where to check: Settings → On Demand. Review the enabled conditions and their connection actions. Don’t apply example conditions to all of your own networks without checking them.
- How to test: In a suitable test environment, switch between Wi-Fi and cellular and check whether the connection status in Home matches your expectations. Testing on only one network is not enough to verify every condition.
- Troubleshooting order: Record the original On Demand settings, then temporarily change one condition and test it. Restore the original setting afterward. This helps avoid mistaking an automatic connection issue for a server fault.
Shadowsocks, VMess, VLESS, Trojan, Hysteria2 and WireGuard are protocol names, not interface tabs like Home or Config, or routing modes like Proxy and Direct. When filling in Add Server, the Type must match your existing server details. Don’t change only the Type to test speed while leaving mismatched authentication fields in place. Automatic connections, rule-based routing and protocol parameters are separate layers, so troubleshoot them separately.
First-use checklist
After importing your details and testing access, use this checklist to make sure you understand what each area does. The goal is not to memorize translations of every English label, but to know where your server details came from, which rules are active and how to verify the route taken by a request.
- In Home, find the selected server and distinguish manually added entries from subscription entries.
- In Config, check the active configuration. In Global Routing, explain what the current mode does.
- In Data, find a test request instead of relying only on traffic totals or latency figures.
- In Settings → On Demand, check whether automatic connections match your needs.
- After updating an existing subscription, check the selected server again. After changing rules, verify which rule actually matched.
Shadowrocket is a closed-source commercial app sold as a one-time purchase. Buying the app does not include a service plan; you’ll still need your own server details or subscription. It is available only on Apple platforms, primarily iPhone and iPad. Compatibility, system requirements and purchase availability for Mac, Apple TV and Apple Vision are as listed on the App Store page. The App Store is the only place to get the app. Before buying, check the developer, Shadow Launch Technology Limited, the official icon and app ID 932747118.