This guide is for beginners who already have their own working connection configuration in Shadowrocket. It explains the difference between Proxy and Config in Home → Global Routing, shows where to switch modes, and outlines when each is useful. In brief, Proxy sends traffic through the selected proxy without using the configuration’s per-request rules, while Config applies the active configuration’s routing rules. Use Config for everyday rule-based routing; switch to Proxy temporarily when you need to test a proxy route or isolate a rules issue.
1. Global Routing controls the routing method
Shadowrocket’s Global Routing setting determines how the app handles traffic while its VPN connection is active. It is separate from the connection switch on Home: turning the connection on starts the tunnel, but the selected routing mode determines how requests are handled inside it. A connected status alone does not tell you whether traffic is following rules or going through a proxy.
For this comparison, the two important options are Proxy and Config. In Proxy mode, traffic is directed through the selected proxy route rather than being individually classified by the active configuration’s routing rules. In Config mode, Shadowrocket uses the active configuration’s rules to decide how matching traffic is handled. A rule might send a domain directly, send it through a proxy, or apply another policy defined by the configuration.
Proxy for a proxy route; Config for configuration-based rulesFINAL can handle traffic not matched by an earlier ruleRule-based routing depends on the configuration that is currently active in Config. For example, a configuration could contain rules such as DOMAIN-SUFFIX,example.com,PROXY and GEOIP,CN,DIRECT, followed by FINAL,PROXY. These illustrative rules show how a configuration can assign different policies to different traffic. The actual behavior depends on the rules, their order, and the policy names available in your own configuration; the example is not a connection service.
Other choices, including Direct and Scene, are not alternate names for these two modes. Direct sends traffic directly instead of using the rule-based decision path described above. Scene lets a selected scene determine routing behavior, so check the scene’s settings before using it to diagnose a routing result. If you are learning how rules work, choose Config explicitly rather than assuming that a scene or another mode will use them.
2. Proxy vs. Config: what changes in practice
The distinction is about how a request gets its routing decision—not whether the app has a connection configuration. A saved configuration may contain server entries and rules, but choosing Proxy does not mean each request is being evaluated against those rules. Conversely, selecting Config does not itself guarantee that a request will use a proxy: a matching rule may specify DIRECT.
| Mode | How traffic is handled | Useful for | What it does not prove |
|---|---|---|---|
Proxy |
Uses the selected proxy route instead of making per-request decisions from the active configuration’s rules. | A temporary proxy-route test or checking whether a rules-related issue changes when rules are bypassed. | It does not prove that every website, domain, or connection will succeed. |
Config |
Uses the active configuration’s rules and their policies to determine how traffic is handled. | Everyday use when your configuration is intended to split traffic by domain, IP, or other supported rule types. | It does not prove that the intended rule matched, that DNS succeeded, or that the selected route is reachable. |
Direct |
Uses a direct route rather than the proxy route. | A limited check to see whether direct access behaves differently. | It does not test a proxy route or show whether a rule would have matched in Config. |
Scene |
Uses the routing behavior associated with the selected scene. | Cases where you have deliberately set up scenes for different conditions. | The word Scene alone does not reveal which rules or route are currently in effect. |
Consider a website that fails to load. If Config is selected, a rule may direct its domain to DIRECT, to a proxy policy, or to a fallback such as FINAL. If you temporarily select Proxy and the same website behaves differently, that is evidence that the routing path may matter. It is not proof of a specific cause: DNS, the selected server, the destination, and the network can also affect the result.
For a fair comparison, keep the test narrow. Use the same device, network, destination URL, and selected server. Note the current mode before changing it, switch only the routing mode, and retry the same request. Avoid editing rules, changing DNS, and switching servers at the same time; otherwise, you will not know which change affected the result.
Choose Config for ordinary rule-based use
If your configuration was built to split traffic, leave Global Routing on Config for normal use. Treat Proxy as a temporary diagnostic mode, then restore Config so your rules can make the intended per-request decisions.
3. Choose a mode for your task
For most beginners who have imported a configuration with routing rules, Config is the sensible starting point. It lets the configuration’s rule list decide which traffic uses a proxy and which traffic connects directly. This is useful when your intended setup includes a mixture of routes, rather than sending every request through the same proxy route.
Proxy is useful when you want a simple comparison or need to temporarily bypass rule decisions while investigating a problem. It can help answer a limited question: “Does this request behave differently when routed through the selected proxy rather than through the configuration’s rules?” It cannot answer, by itself, “Which rule matched?”, “Did the domain resolve correctly?”, or “Is the destination reachable?” Those require separate checks.
Applies the active configuration’s routing rules. A matching rule determines the policy for the request.
Suitable for: everyday use with rule-based traffic splitting
Uses the selected proxy route without relying on the active configuration’s per-request routing rules.
Suitable for: a short proxy-route test or a rules comparison
Uses a direct route, which can help you make a limited comparison with proxy-based behavior.
Suitable for: checking whether direct access behaves differently
Before using Config, confirm that the configuration you expect is active in Config and that its rules include the behavior you want. If a request does not match an earlier rule, a final rule may determine the result. For example, FINAL,PROXY and FINAL,DIRECT have different effects for otherwise unmatched traffic. Do not copy a sample final rule into your configuration without first understanding the existing policy and order.
Everyday rule-based routing
- Global Routing
Config- Active file
- The intended configuration in
Config - Rule check
- Review the matching rule and its policy
- Fallback
- Inspect the final rule, such as
FINAL
Use this when the configuration is meant to split traffic according to rules.
Temporary route comparison
- Original mode
- Record the current selection
- Test mode
- Temporarily select
Proxy - Retest
- Open the same URL on the same network
- Restore
- Return to the original mode, usually
Config
Change one variable at a time so the result remains useful for troubleshooting.
4. Switch modes and test safely
The setting is on Home, not in the individual rule line you are investigating. Menu wording can vary slightly with app or system versions, but use the visible Global Routing control on Home and select the mode you need. Keep the connection status, active configuration, and selected server in view as separate pieces of information.
-
Check the connection
Open
Homeand note whether the connection is active. If it showsNot Connected, establish the connection using your existing configuration before drawing conclusions about the routing mode. -
Confirm the config
Open
Configand check that the configuration you intend to test is selected. If it contains rules, verify that it is the file whose behavior you want to examine. -
Choose a mode
Return to
Home→Global Routing. SelectConfigfor rule-based use or selectProxyfor a temporary comparison. Note the original selection before changing it. -
Retest one URL
Use the same URL that failed or that you want to check. Keep the network and selected server unchanged, and note whether the result changes. A single successful request does not establish that every destination will behave the same way.
-
Restore the mode
When the comparison is complete, return to your original setting. If your normal setup relies on rules, select
Configagain and verify that the connection remains active.
Use the following short checks to interpret the result rather than repeatedly toggling modes:
Why does Config send one site directly?
Open the active file in Config, identify the rule that matches the destination, and read its policy. A rule ending in DIRECT intentionally selects a direct route; also check whether an earlier rule matches before the fallback.
Does Proxy mean every site will load?
No. It changes the routing choice, but it does not guarantee successful DNS resolution or a reachable destination. Check the connection state, try the same URL once, and use the available connection diagnostics to narrow down the failure.
I changed modes and nothing changed. What now?
Confirm that the connection is active and that you tested the same URL. Then check the active configuration, the selected server, and the relevant rule. If the result still looks unexpected, restore your normal mode before making one further change.
A useful troubleshooting note records four things: the network in use, whether Home shows an active connection, the selected Global Routing mode, and the exact URL and result. When using Config, add the name of the active configuration and the rule or fallback you believe applies. This makes it easier to distinguish a mode-selection issue from a rule, DNS, or connectivity issue.
Keep your existing configuration intact while testing. Do not replace a complete configuration with a short example, remove rules without saving their original values, or assume that buying the app supplies a connection service. This guide assumes you already have your own configuration; it explains how Shadowrocket routes traffic, not how to obtain a connection service.