Shadowrocket’s Global Routing menu offers Config, Proxy, Direct, and Scene. They are different ways to decide how traffic is handled after a connection is active: Config follows the rules in the selected configuration, Proxy sends traffic through the selected proxy policy, Direct connects without a proxy, and Scene follows the behavior assigned to a scene. This beginner-friendly guide explains when to use each option, how to change it on Home, and how to verify the route without changing several settings at once. It assumes you already have your own connection configuration.
1. What Global Routing controls
Global Routing is a traffic-handling choice on Home. It is separate from starting the VPN connection, selecting a server, and choosing or editing a configuration file. Those controls work together, but they do not mean the same thing. A connection can be active while traffic is handled in Direct mode, for example, and a configuration can be present in Config without being the mode currently selected under Global Routing.
For a useful mental model, check the settings in this order: first confirm that the intended connection is selected; next confirm that the connection is active; then check Global Routing; finally, if you use Config, verify that the intended configuration is selected and that its rules match the traffic you are testing. This sequence helps distinguish a connection problem from an unexpected route.
The four options are not four different connection servers. Proxy and Direct are broad routing choices; Config applies rule-based decisions from the active configuration; Scene applies the behavior associated with a selected scene. A mode change affects new traffic, but an app may keep an existing connection open for a while. Close and reopen the page or app you are testing before deciding that a change had no effect.
| Mode | How traffic is handled | Useful for | Check before choosing |
|---|---|---|---|
| Config | Uses the rules and policies in the active configuration. | Everyday use when different destinations need different routes. | The intended configuration is selected and its rules contain suitable policies. |
| Proxy | Uses the selected proxy route for general traffic rather than relying on destination-specific rules. | A temporary broad proxy route or a comparison test. | The selected proxy route is the one you intend to use and is reachable. |
| Direct | Connects directly to destinations rather than sending them through a proxy. | A direct-access test or networks where direct access is appropriate. | Direct access to the test destination is permitted on the current network. |
| Scene | Uses the routing behavior assigned to the selected scene. | Switching between previously configured scenarios. | Inspect the scene’s actual settings; its name alone does not reveal its policy. |
These are routing choices, not guarantees that every app request will succeed. A website can still fail because the selected route is unavailable, the destination does not respond, DNS resolution fails, or the app retains an older connection. Use the same destination and the same network when comparing modes so that the result is meaningful.
2. Choose a mode for the task
For most users who want some destinations to use a proxy and others to connect directly, start with Config. In this mode, the active configuration’s rules determine the route. A rule may match a domain or another condition and assign a policy such as PROXY or DIRECT. The order of rules and the final fallback matter: if a request does not match an earlier rule, the fallback determines what happens next.
Proxy is useful when you deliberately want a broad proxy route, or when you need a temporary comparison that avoids relying on domain-specific rules. It does not mean that every destination is reachable; the selected route must still work, and the destination must accept the connection. If a custom policy or group is involved, check which member is selected rather than assuming its displayed name has a particular behavior.
Direct is a useful baseline when you want to see whether a destination works without the proxy route. It is also a practical way to identify whether a failure is tied to the proxy path or occurs on the current network regardless. A failed Direct test does not automatically mean the app is misconfigured: the network may not allow direct access to that destination.
Scene is for users who have configured scenarios and want to switch among them. Treat it as a selectable profile, not as a synonym for Config or an automatic “smart” route. Scene behavior depends on what has been assigned to the selected scene. If a test produces an unexpected result, inspect the scene’s settings and repeat the test under Config to determine whether the active configuration’s rules behave as expected.
Everyday rule-based use
- Global Routing
- Config
- Active file
- Select the configuration you intend to use
- Route decision
- Rules and policies in that configuration
Choose this when different destinations should follow different rules. Confirm the active file, not just the file you last edited.
Temporary route comparison
- Compare with proxy
- Proxy
- Compare without proxy
- Direct
- After testing
- Restore the intended everyday mode
Change only the mode during a comparison. Keep the same destination, network, and selected connection so the result is easier to interpret.
For example, a configuration might route a particular domain through PROXY, send another category through DIRECT, and use a final rule for everything else. Selecting Proxy instead of Config changes the test: it no longer demonstrates whether those individual rules are working. Selecting Direct also bypasses the intended proxy policies. Always match the mode to the question you are trying to answer.
3. Change the mode on Home and verify it
Before changing Global Routing, note the current selection and the test destination. If you have a working setup, avoid editing configuration rules during the same test. On iPhone or iPad, the labels and arrangement can vary slightly with the app version, but the relevant controls are on Home. The following sequence keeps the change easy to reverse.
-
Check the connection
Open Home and confirm that the intended server or connection entry is selected under SERVER. Check the connection status separately. If it is not active, first start the connection and respond to any iOS VPN configuration permission request.
-
Open Global Routing
On Home, tap the current option in the Global Routing row. Review the available choices—Config, Proxy, Direct, and Scene—and select the one that matches your test or everyday use.
-
Confirm the target
If you chose Config, open Config and check that the intended configuration is active. If you chose Proxy, verify the selected proxy route. If you chose Scene, inspect which scene is selected and what behavior it contains.
-
Test one site
Open or reload one known destination in the app you normally use. Use the same network and the same destination for any comparison. Give the request time to complete; an earlier open connection may continue using its existing route.
-
Check the result
Review the request or connection log, if available, and compare the matched domain, policy, and result with the mode you selected. Record whether the page loaded separately from any latency or connectivity test result.
-
Restore your mode
When a temporary test is complete, return to Home → Global Routing and restore your everyday choice—often Config for rule-based routing. Reopen the destination once more to confirm the restored behavior.
Connectivity Test can help check a connection, but it does not necessarily test the same domain, DNS lookup, or complete web request as Safari or another app. A successful test result does not prove that every website follows the expected policy. Likewise, a loaded page alone may not tell you which route it used. Use the available request log to confirm a rule match when you need to verify routing rather than general reachability.
When comparing modes, avoid changing the selected server, DNS settings, configuration file, and Global Routing together. If you change several variables and the page starts working, you will not know which one mattered. Keep a short note of the original mode and restore it after testing. Do not share logs that expose private domains, addresses, or other sensitive configuration details.
4. Verify rule-based routing and fix common mismatches
If you expect Config to send a specific website through a proxy, check both the active mode and the rule itself. The selected mode must be Config, and the active configuration must contain the relevant rule. Editing a local file that is not selected will not change the behavior of the active configuration. Also check that the policy named in the rule exists and is spelled as expected.
A simple example illustrates the relationship between a domain rule and a fallback. It is a syntax example, not a complete configuration; place rules in the existing Rule section rather than replacing unrelated settings. The example routes example.com and its subdomains through PROXY, while other unmatched requests use DIRECT.
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
DOMAIN-SUFFIX matches the domain and its subdomains. Enter the domain itself, without a URL scheme, path, port, or wildcard prefix. Rules are evaluated in order, so a broader rule placed earlier may match before the rule you intended to test. FINAL is a fallback for traffic that did not match a preceding rule. If your configuration uses a different policy or fallback, interpret the example in light of that file rather than copying it blindly.
Why does a site ignore my rule?
On Home, confirm Global Routing is set to Config. Then check Config to ensure the edited file is active, the domain rule is present, and its policy exists. Reload the site and inspect the request log for the matched rule.
Does Proxy mean every request must work?
No. Proxy selects a broad proxy route, but reachability still depends on the selected connection and the destination. Confirm the connection is active and the intended route is selected, then test one known destination.
Can Direct be used as a quick test?
Yes. Select Direct temporarily, reload the same destination on the same network, and compare the result with Proxy or Config. Restore your normal mode afterward. Direct may fail where the network does not permit direct access.
If Config behaves differently than expected, check for an earlier matching rule, an unexpected fallback, a policy-name mismatch, or a different active configuration. If the rule appears correct but the request still fails, separate routing from DNS and connection troubleshooting: confirm the domain resolves, check whether the selected route can reach the destination, and compare with one other known site. Avoid treating latency alone as proof that the website’s full request succeeded.
Takeaway: select the mode that answers your current question
Use Config to validate rule-based routing, Proxy to test a broad proxy path, Direct to compare direct access, and Scene only when you know what the selected scene applies. After a temporary test, restore the intended mode and verify one destination again.