Start by separating Shadowrocket’s interface terms into two groups: page navigation and routing choices. Home, Config, Data, and Settings take you to different pages; Proxy and Direct describe how requests are routed. This guide is for users who already have a provider and subscription and are following setup instructions. You’ll learn how to tell the two meanings of Config apart, find subscriptions, rules, and On Demand by their English labels, and check the results using Connectivity Test and traffic records.
First, distinguish page navigation from setting values
The same English term doesn’t always refer to the same action. Config in the bottom navigation opens the configuration-file management page. Config under Home → Global Routing is a routing mode. The first answers “Which configuration file is in use?”; the second answers “Are requests handled according to the configuration’s rules?” When troubleshooting, note the full path instead of saying only “I selected Config.”
| English label | Where to find it | Meaning and purpose |
|---|---|---|
| Home | Bottom navigation | View servers, subscription groups, the connection toggle, and Global Routing. |
| Config | Bottom navigation | Manage configuration files and check the active rules and settings. |
| Proxy | Global Routing | Route requests through a proxy; this does not refer to a specific protocol. |
| Direct | Global Routing | Connect directly without routing through the selected proxy server. |
| Data | Bottom navigation | View traffic statistics and request records to help verify connection behavior. |
| Settings | Bottom navigation | Open app settings, including options related to On Demand and Subscribe. |
This guide uses the English labels to help you locate controls. The display language, device layout, and available options may affect where items appear, so follow what’s shown in your app. The layout may differ between iPhone and iPad; look for the matching label rather than relying on a button’s screen position.
Home: connection toggle, servers, and Subscribe
Home is the starting point for everyday tasks. Server entries store connection parameters, while subscription groups help manage your existing server list. Selecting an entry only chooses what to use; you still need to check the connection toggle and Global Routing. An active connection means the tunnel is connected, but it doesn’t guarantee that every website is reachable.
Subscribe identifies the subscription import type. A subscription URL and an individual server’s settings are different kinds of input: the former retrieves a group of entries, while the latter usually includes a server address, port, authentication, and protocol options. The URL below only illustrates where to enter it; it is not a working subscription. A token in a subscription URL is sensitive and should never appear in a public screenshot.
-
Open Home
Go to Home, tap “+” in the upper-right corner, and select Subscribe under Type. Don’t enter a subscription URL in an individual server’s address field.
-
Enter the URL
Enter your existing subscription URL in URL and save.
https://example.com/sub?token=xxxxis a syntax example, not a working subscription. -
Refresh the entries
Return to Home and pull down to refresh the subscription list. Check whether the entries have loaded. If the update fails, first verify that the URL is complete and the subscription is still valid, then check the network route used to access it.
-
Test the connection
Select an existing server and run Connectivity Test from Home. Then turn on the connection with the desired Global Routing mode and retest using a specific website request.
The latency shown by Connectivity Test reflects the test target and route at that moment; it doesn’t prove that every website is reachable. If the test returns a value but a page won’t load, check DNS, rule matches, and the target site instead of repeatedly importing the same subscription. Updating a subscription also doesn’t update the rule files in Config; verify these separately.
Global Routing: Proxy, Direct, Config, and Scene
Home → Global Routing determines how requests are handled overall. Proxy and Direct help compare proxy and direct routes. Config applies the rules in the active configuration file, while Scene applies routing settings based on configured scene conditions. Scene is not an additional server and does not replace server authentication details.
Compare a temporary route test with everyday rule-based routing
Proxy / Direct
- Proxy: Check the result when accessing a target through the selected proxy route.
- Direct: Check the result when accessing the same target directly.
- Keep the target address and network conditions the same for both tests.
- After switching modes, send a new request; don’t judge by the result of an existing connection.
Config / Scene
- Config: First check which file is selected in the bottom Config tab.
- The matched rule determines how each request is handled.
- Scene: First check the matching conditions and routing settings for the configured scene.
- Before returning to everyday use, verify the final selected mode.
Routing mode determines how requests are handled; server entries provide connection parameters. Check them separately.
For example, if the same page opens in Direct but fails in Proxy, that only shows that the two routes behave differently; it doesn’t prove the subscription is invalid. Also check the selected server, authentication, DNS, and target address. Conversely, if a request goes direct in Config, a rule may explicitly specify DIRECT—it doesn’t necessarily mean the connection toggle failed.
Proxy is not another name for Shadowsocks, VMess, VLESS, Trojan, Hysteria2, or WireGuard. Those names describe protocols or connection types; Proxy describes a routing mode. Protocol options, ports, and authentication details should come from your existing service information. Switching Global Routing won’t fill them in automatically.
Config: Configuration files and rule keywords
The bottom Config tab is where you manage configuration files. Files and the server list on Home have different roles: server entries describe how to connect, while rules determine how requests are routed. After importing a file, make sure it’s the one currently in use. A file appearing in the list doesn’t mean it’s active.
When Config is selected in Global Routing, rules are evaluated in order, and a matching rule applies its specified policy. The snippets below explain the syntax only; they are not a complete configuration and contain no working server details. Save your original file before making changes, so you don’t overwrite a complete configuration with an example.
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
DOMAIN-SUFFIX,example.com,PROXY: Matches example.com and its subdomains by domain suffix, then routes matching requests through PROXY.IP-CIDR,192.0.2.0/24,DIRECT,no-resolve: Matches an IP range; this range is for documentation examples.no-resolvemeans this rule won’t trigger an additional domain lookup for matching.GEOIP,CN,DIRECT: Matches based on the geographic data for the destination IP. Results depend on the data used and the resolved destination—not the language of the website.FINAL,PROXY: Place this at the end as a fallback for requests that didn’t match earlier rules. If it appears too early, rules below it can’t match as intended.
PROXY and DIRECT here are rule-policy keywords and should remain in English. If your file uses policy groups, also check the group names and selections; checking a single rule isn’t enough. To troubleshoot rules that aren’t taking effect, first verify the active file and Global Routing mode, then check rule order, domain scope, and actual request records.
Data: Understanding traffic statistics and request records
Data helps you monitor traffic and connection activity. Upload usually means data sent from your device; download means data received. The totals cover the measured period and don’t indicate how much remains on a subscription. Check your own service details for balance or expiration information; you can’t infer plan status from the app’s cumulative traffic.
When reviewing statistics, first identify what the current view groups by and the time period it covers. Data grouped by server helps show the traffic handled by proxy servers. If the current interface offers grouping by app, interpret it according to what’s actually displayed; don’t assume every request will have a complete app name. Counters can help you spot changes, but use request records to verify which rules matched.
- On Home, note the selected server and current Global Routing mode.
- In Data, note the current upload and download counts and the reporting period. Don’t reset them yet.
- Visit just one target page, wait for it to finish loading, then check the counters again.
- Check the route against the target and policy in the request records. Don’t assume a particular rule matched just because total traffic increased.
A single page load may request multiple domains, and images, scripts, and page content may match different rules. Background activity can also increase the counters. So, “traffic increased after opening a page” is an observation, not proof that a particular rule took effect. For a useful retest, keep the target, time period, and routing settings consistent instead of comparing unrelated cumulative totals.
Settings: On Demand and subscription updates
Settings is the entry point for app preferences. Settings → On Demand controls the conditions for starting a connection on demand. It answers “When should a connection start?”—not “Which route should a domain use?” Configure the conditions first, then test behavior both when they’re met and when they aren’t to see if the settings work as expected.
Options under Settings → Subscribe affect subscription updates. For example, Update via Proxy updates a subscription through a proxy route; you’ll need an existing, working proxy connection first. It won’t fix an expired token or a mistyped subscription URL. If the URL is accessible over your regular network, verify it using the current route before changing this setting.
- Find on-demand connection settings: Settings → On Demand. Check whether it’s enabled and review the existing conditions.
- Find the update route: Settings → Subscribe → Update via Proxy. Check whether the subscription URL needs to be accessed through a proxy.
- Find the routing mode: Home → Global Routing. Check whether Config, Proxy, Direct, or Scene is selected.
- Change one setting at a time, send a new request, and record what happens before and after.
FAQ: Find settings by following the full path
Why do I see a file list when a tutorial says to select Config?
You opened the bottom Config page. If the tutorial means the routing mode, go to Home → Global Routing → Config. Then check which file is active on the Config page; you need to verify both.
Do I still need to select a server after choosing Proxy?
Yes. Proxy routes requests through a proxy, while the server entry on Home provides the actual connection parameters. Select an existing server and run Connectivity Test before turning on the connection. If the test fails, check the parameters and network rather than switching tabs.
Does a failed subscription update mean I have to reinstall the app?
First, try updating again from Home and check that the URL is complete and still valid. If it’s only accessible through an existing proxy route, confirm the connection works, then check Settings → Subscribe → Update via Proxy. Reinstalling won’t fix an invalid URL on the provider’s end and may mean setting things up again.
Why is traffic still going Direct when On Demand is enabled?
First, check whether Home → Global Routing is set to Direct. If it’s set to Config, check the matching rules in the active file. On Demand starts connections; a rule can still specify DIRECT. Send a new request to the same target and check the records to distinguish connection status from routing behavior.