The three common Global Routing modes are Config, Proxy, and Direct, and the only difference is what traffic looks at first: Config checks the rule list, while Proxy and Direct skip it. Following the actual path from Home → Global Routing, this article explains the matching order of each mode, the scenarios each suits, and how to switch back to Config once troubleshooting is done — written for users who have already imported a subscription but are not sure which mode to stay on.
One entry point for all three modes; the difference is the order of judgment
Global Routing in Shadowrocket sits in the settings row on the Home screen, on the same screen as the connection switch and the server list. Tap in and you will see the three common modes — Config, Proxy, and Direct. They do not change your subscription, your servers, or the contents of your config file; they only change what a new connection looks at first when it is established.
Broken down, there are only three ways to judge a connection. Config checks the rule list first: whichever rule matches decides the policy, and only when nothing matches does traffic fall through to the FINAL rule. Proxy skips the rule list entirely and hands all traffic to the currently selected server. Direct also skips the rule list and sends all traffic straight out. Put another way, Proxy is like replacing the whole rule list with a single FINAL,PROXY, and Direct with a single FINAL,DIRECT.
Config
RecommendedMatches the rules in the current config file one by one; a matching rule sends traffic to the policy it specifies, and anything unmatched falls through to FINAL. The rule list handles the split between direct connections in mainland China and proxied traffic outside China, with no manual intervention.
Best for: the everyday default, when you use services in mainland China and outside China side by side
Proxy
Skips the rule list and sends all traffic through the currently selected server, equivalent to a single FINAL,PROXY. No domain falls into the DIRECT branch any more.
Best for: troubleshooting rule mismatches, or temporarily sending all traffic through the proxy
Direct
Also skips the rule list: all traffic connects directly and the server plays no part. The connection switch stays on, but no traffic is proxied.
Best for: comparison tests, to tell whether the problem is in the rules or the connection
Global Routing only changes the order in which traffic is judged; it never modifies your subscription or server list. Switch back to Config and the rule list takes effect again immediately — no need to re-import the subscription.
It also helps to tell Global Routing apart from On Demand in Settings: On Demand controls when the connection switch turns on or off automatically, for example connecting when you join a certain Wi-Fi network. Global Routing controls the order in which traffic is judged once the connection is on. Changing one does not affect the other.
Config: how the rule list decides where a request goes
In Config mode, every new connection is matched against the rule list from the top down and stops at the first hit; rules below it no longer apply. A rule is made of a match condition plus a policy: the condition describes the traffic, and the policy decides whether it goes to PROXY, DIRECT, or REJECT. Below is a sample rule snippet; the order takes effect from top to bottom.
DOMAIN-SUFFIX,example.com,PROXY
DOMAIN-KEYWORD,example,DIRECT
IP-CIDR,203.0.113.0/24,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
| Rule syntax | Matches on | Common use |
|---|---|---|
DOMAIN-SUFFIX,example.com,PROXY | A domain and its subdomains | Send a specific domain through the server |
DOMAIN-KEYWORD,example,DIRECT | Domain keyword | Catch domains sharing one keyword in bulk |
IP-CIDR,203.0.113.0/24,DIRECT | Destination IP range | Connect known fixed address ranges directly |
GEOIP,CN,DIRECT | IP geolocation | Connect mainland China addresses directly |
FINAL,PROXY | Fallback | Default destination when nothing above matches |
Domain-based rules can be judged before a connection is established; IP-CIDR and GEOIP need to know the destination IP first, so you can add no-resolve at the end of those rules to avoid an extra lookup just for matching. The last line, FINAL, decides where traffic goes when no rule mentions it: if FINAL is PROXY, newly seen domains go through the proxy by default; if FINAL is DIRECT, new domains connect directly by default.
What Config actually does depends on the config file currently selected. Switch to another config file and the same domain may be assigned a different policy; when troubleshooting routing, first confirm in Config which config file is active.
Proxy and Direct: the two extremes that skip the rule list
Proxy and Direct are two ends of the same idea: both skip the rule list and hand all traffic to one fixed action. Under Proxy, every request tries to go through the current server; under Direct, every request connects straight out and the server plays no part. Because no rules are consulted, the outcome in these two modes is always predictable — which is exactly why they work as troubleshooting tools.
Proxy and Direct: what each diagnostic mode proves
Proxy
- Every domain goes through the current server; there is no DIRECT branch
- If it works, the server and the subscription are fine
- Services in mainland China are routed through the server too, adding latency and data usage
Direct
- All traffic connects directly; the server plays no part
- If it works, the destination is reachable without a proxy
- The connection switch stays on, but no traffic is proxied
Both are meant for short checks only: switch back to Config once the comparison is done, and do not stay in Proxy or Direct for long.
Using Proxy as an everyday mode has one obvious cost: all traffic detours through the server. Round-trip latency to services in mainland China stacks on top of the server link, and large downloads count against your server traffic too. If you do not switch back after troubleshooting, everyday use stays in an all-traffic-through-the-server state.
Staying in Direct is a different kind of misreading: the connection switch is still on and the system status bar still shows the VPN badge, but no traffic is proxied — easy to mistake for a working connection. To confirm the current mode, go back to Home and check the value shown on the right of the Global Routing row; no need to disconnect and reconnect.
Which mode for everyday use: stay on Config, switch only to troubleshoot
For everyday use, stay on Config: the rule list already covers most direct-in-mainland-China and proxy-outside-China needs, so there is no need to switch manually each time. When something fails to load, use the four steps below to narrow the problem down to the rules or the connection.
- Stay on Config and first check the connection status on the Home screen, then run a Connectivity Test to confirm the switch and the server are working.
- Switch to Proxy and try the same destination: if it works under Proxy but not under Config, the rule list is the likely culprit — some domain is being sent to DIRECT or REJECT by a rule.
- Switch to Direct for a third test: if the destination is unreachable under Direct as well, the problem has nothing to do with the proxy — fix the reachability of the destination itself first.
- Once you have located the problem, switch Global Routing back to Config; if the rules are indeed at fault, move the relevant rule up in the config file, or add a new rule above it.
Conclusion: Proxy and Direct are diagnostic modes, not everyday modes
Of the three modes, only Config reads the rule list. The value of Proxy and Direct is that two comparison tests pin the problem down to either the rules or the connection; switch back to Config when the tests are done so routing resumes.
If you move between several networks often, Global Routing also offers a Scene mode that switches config and mode automatically to match the current network. Scene takes more setup than the other three — you need to decide which config goes with which network — so if you are unsure, staying on Config and switching manually gives you more control.
FAQ
Below are the five questions that come up most when switching between the three modes; every path mentioned in the answers can be found in the app.
Can subscriptions still update after switching to Direct?
A subscription update is just an ordinary network request. If the subscription URL is reachable directly, it updates under Direct as well; if the URL can only be reached through a server, the update fails — switch back to Config first, or tick Update via Proxy in Settings → Subscribe and try again.
I added a direct rule in Config, but a domain still goes through the proxy?
Two common causes. First, order: rules match from top to bottom, so an earlier rule wins and the direct rule below it never applies. Second, the fallback: no rule mentions that domain, so it falls through to FINAL — and if FINAL is PROXY, it goes through the proxy. Move the direct rule up, or check what FINAL is set to.
Connectivity Test passes under Proxy, but pages load slowly?
That is expected. Under Proxy all traffic goes through the server, services in mainland China included, so latency stacks up and things get slower. It is not a sign of failure — switch back to Config when you are done troubleshooting.
Why does the server list stay the same when I change Global Routing?
Global Routing only changes the order in which traffic is judged; it neither reads nor modifies your subscription or servers. If the server list is empty or out of date, check the subscription URL and the last update time in Settings → Subscribe instead of switching modes back and forth.
Everything works under Direct — does that mean the server is fine?
No. Direct never touches the server, so it only proves the destination is reachable without a proxy. To check the server, switch to Proxy and try once, or run a latency test on a single server from the Home screen.
Get Shadowrocket on the App Store
A paid app with a one-time purchase, sold only on the App Store; before downloading, you can verify the developer name Shadow Launch Technology Limited and app ID 932747118.