Shadowrocket Global Routing: Config vs. Proxy vs. Direct

Learn how Config, Proxy, and Direct route traffic in Shadowrocket, when to use each mode, and how to switch safely for everyday use or troubleshooting.

At a glance

This guide is for users who have imported their own subscription into Shadowrocket but aren’t sure which Global Routing option to choose. First, distinguish connection status, server selection, and traffic routing; then compare how Config, Proxy, and Direct handle the same destination. For everyday use, Config is usually the right choice once you’ve checked the rules. Use Proxy for temporary all-traffic proxying or to troubleshoot routing, and Direct to test a direct connection. After switching, test a new request and restore your original setting when you’re done.

1. Understand the connection toggle, server, and Global Routing

Global Routing determines how Shadowrocket routes connections it handles. It does not provide a server or control the connection toggle. Selecting a server on Home doesn’t mean every request will use it. With Config selected, each request is routed according to the rules and policies in the active configuration.

On Home, find Global Routing and check the current selection. Then open Config to confirm which configuration file is active. Settings controls other features: for example, Settings → On Demand manages when connections are triggered. It does not assign DIRECT or PROXY to a domain.

3 options
Compared in this guide: Config / Proxy / Direct
2 layers
Check connection status first, then determine how requests are routed
1 target
Use the same domain and network for each test

Some versions also list Scene, which organizes routing choices by scenario. Don’t treat it as a fourth fixed traffic route. If you use Scene, check which settings the active scene actually applies. This guide uses the three manually selected modes as a baseline, avoiding extra variables from scene changes.

2. How Config, Proxy, and Direct route traffic

Config: Follow the active configuration

Recommended

Requests are handled according to the rules and policies in the active configuration. A DIRECT match connects directly, a PROXY match sends the request through a proxy, and a REJECT match blocks it. If no earlier rule matches, FINAL typically determines what happens. Config does not mean that only a few domains use a proxy.

Best for: Everyday rule-based routing after checking the rules and FINAL.

Proxy: Route everything through a proxy

Connections handled by the client use the proxy route instead of being routed individually by the rules in Config. Access still depends on the selected server, protocol settings, DNS, and the destination service.

Best for: Temporary all-traffic proxying or comparing results while troubleshooting Config rules and policies.

Direct: Connect directly

Connections handled by the client use a direct connection instead of being forwarded through the selected proxy server. The client may still show a connection as active and handle tasks such as DNS, so Direct does not mean the connection is completely off.

Best for: Checking whether the current network can reach a destination directly or temporarily bypassing proxy routing.

“Everything” here means only traffic actually handled by the client; it does not guarantee that every communication on the device follows the same route. System behavior, exclusions, and existing connections can all affect what you observe. Selecting Proxy also does not guarantee that every DNS request uses the same proxy route.

3. Why Config doesn’t mean a fixed route: four example rules

Use the following snippets to understand the rules; they belong in the [Rule] section of a configuration. example.com is an example domain, not a recommendation to add this policy for everyday use. Don’t overwrite your active configuration just to test it.

[Rule]
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY

Rules are checked in order, and the first match determines the policy. If a test domain matches DIRECT first, a later PROXY rule won’t send it through a proxy. A policy may also point to a policy group in the configuration; in that case, check the group’s current selection rather than relying only on the rule’s last field.

4. Set up everyday routing and temporary troubleshooting

Using Config for everyday routing assumes you know where the configuration came from, which rules it covers, and how FINAL behaves. If you haven’t checked the configuration, don’t assume it suits your network just because it’s recommended. A subscription usually provides server entries; a configuration file can also contain rules and other settings. They are not interchangeable.

Two workflows: stable everyday use and one-variable troubleshooting

Everyday use with Config
  • In Config, confirm the active file and check DIRECT, PROXY, and FINAL.
  • On Home, confirm a working server, then set Global Routing → Config.
  • Test one destination expected to connect directly and one expected to use a proxy.
  • If you need automatic connections, check Settings → On Demand separately.
Temporarily switch to Proxy or Direct
  • Note the original routing mode, configuration file, and selected server.
  • Keep the network and test destination the same; change only Global Routing.
  • End the existing request, then revisit the destination and check the new connection.
  • Record what you found, restore Config, and test the services you use regularly.

Change one variable at a time. Don’t combine a routing change with a subscription update, server change, or DNS change.

Switching modes may not immediately reset existing long-lived connections. Music playback, messaging, or a reused browser connection may continue over the original connection. Stop the relevant request and reopen the destination. Before disconnecting and reconnecting the client, make sure no session needs to stay active.

5. Troubleshooting by symptoms: Proxy works, but Config doesn’t

This suggests a routing difference is worth investigating, but it doesn’t prove that a rule is wrong. Different routes may use different exits, DNS results, or destination IPs. The steps below help narrow down the cause and avoid mistaking a server issue for a rules issue.

  1. Keep conditions consistent. Note the destination domain, current Wi-Fi or cellular network, selected server, and connection status. Send a new request to the same destination and record the results in Config and Proxy. Don’t treat a latency test result as proof that a webpage loads.
  2. Find the actual match in Config. Check the available request or connection logs and verify the destination domain, destination IP, matched rule, and policy. Look for a DIRECT or REJECT match, or a policy group that points to a different server.
  3. Check the fallback. If none of the earlier rules match, inspect the FINAL policy. If you expected a proxy but got DIRECT, first determine whether that’s intentional or an omission; don’t immediately change every rule.
  4. Check for differences between domains and IPs. A destination may redirect to another domain or load resources from multiple domains. A rule for the homepage domain may not cover sign-in endpoints, images, or media requests.
  5. Keep changes minimal. Back up the active configuration, adjust only the rules or policies relevant to the destination, then verify with a new connection. Remove temporary settings you no longer need after finding the cause.

If neither Proxy nor Config works but Direct does, check the proxy route and selected server first; there’s no need to rewrite rules yet. If all three modes fail, check the network, destination availability, and shared conditions such as DNS. Direct may still use the client’s DNS settings. To establish a system-network baseline, disconnect the client first, but only after confirming no important sessions need to stay active.

6. Common questions about Global Routing

Why won’t an app open even though Proxy is selected?

First, check the selected server and connection status on Home, then test the same destination with a new request. A working proxy route doesn’t guarantee that the destination service accepts that exit. Also check DNS, destination restrictions, and protocol settings. Don’t keep switching modes instead of checking the failed request.

Why is the connection indicator still on after selecting Direct?

Direct changes traffic routing; it doesn’t disconnect the client. To stop the connection, use the connection toggle on Home. If it connects again automatically, check the trigger conditions under Settings → On Demand. Don’t use the system connection indicator alone to determine whether a request went through a proxy server.

Will updating a subscription automatically give me the right Config rules?

No. Check server subscription updates and configuration-file rules separately. After an update, check the server entries on Home, then confirm the active file and its rules in Config. Get your subscription link from your service provider, and don’t post links containing credentials in public.

Can I keep Proxy on and stop checking Config?

Choose the mode that suits your needs, but remember that routing everything through a proxy changes the path for requests that could connect directly. This may affect local network resources, latency, or how destination services handle requests. For split routing, switch back to Config and set the relevant DIRECT rules. Don’t use Proxy indefinitely to hide a configuration problem.

Do I need to check routing again after switching to iPad?

Yes. On the new device, check Home → Global Routing, the active file in Config, and Settings → On Demand. Even if you’ve transferred the configuration file, verify how it works on the current network; network and connection conditions can differ between devices.

A quick summary: choose Config for everyday rule-based routing, Proxy for temporary all-traffic proxying or rule comparisons, and Direct to test a direct connection. Always judge by what a new request actually matches and which route it takes—not just by the selected mode’s name.

Download on the App StoreVerify the official listing first