Global Routing: Config, Proxy, and Direct
What it is and where to find it: Global Routing is on Home and lets you choose how connections are handled overall. The options are Config, Proxy, and Direct. This setting determines how the configuration’s rules and servers are used; it is not a standalone connection-quality switch. Also check that the connection is enabled, the system VPN configuration is authorized, and the intended server is selected.
How to set it: Open Global Routing on Home and choose a mode based on what you want to do. If you have a rules configuration ready, start with Config. To temporarily bypass rule matching for comparison, switch to Proxy. To see how the current network connects directly, use Direct. After switching, retry the request; if needed, close and reopen the target app so it does not reuse an existing connection.
| Mode and interface label | What it does | When to use it | What to check first |
|---|---|---|---|
Config |
Handles requests using the rules and policies in the active configuration. | Route traffic by destination in everyday use, or check whether a rule matches. | Whether the configuration is active, rule order, and policy targets. |
Proxy |
Routes traffic through the proxy overall rather than selecting routes using the usual rules in Config. | Compare connectivity between the selected server and a destination. | The selected server, protocol settings, and destination reachability. |
Direct |
Connects directly over the current network overall. | Establish a direct-connection baseline to rule out the server path. | Local network, DNS resolution, and destination service status. |
What to keep in mind: Direct does not remove the VPN configuration from the system, and Proxy does not guarantee that every connection from every app will succeed. DNS, existing connections, and configuration details can all affect the results. When troubleshooting is done, restore Global Routing to the mode you actually need so you do not leave it in a test mode by mistake.
Config and Rule-Based Routing: Match Conditions, Then Apply Policies
What it is and where to find it: Rule-based routing uses conditions such as domain names and addresses to decide whether requests use PROXY, DIRECT, REJECT, or a policy defined in the configuration. Manage configuration files in Config. For rules to take effect during normal routing, check both the active file and whether Global Routing is set to Config. Importing a file alone does not mean it is active.
How to set it up: Save a copy of the original configuration, then review its rules. DOMAIN matches a specific domain, DOMAIN-SUFFIX matches a domain suffix, and DOMAIN-KEYWORD matches a keyword. IP-CIDR and IP-CIDR6 specify address ranges, while GEOIP checks an address against a geolocation database; these are not domain-based conditions. Rules are usually evaluated in order, so place more specific conditions before broader ones and check the final FINAL rule.
[Rule]
DOMAIN,example.com,PROXY
DOMAIN-SUFFIX,example.org,DIRECT
DOMAIN-KEYWORD,ads,REJECT
GEOIP,CN,DIRECT
FINAL,PROXY
This example shows rule syntax only; it is not a complete file that can replace your existing configuration. The first rule targets a specific domain, the second targets another domain suffix, and the third demonstrates rejecting a keyword match. Requests that do not match an earlier condition are handled by the policy specified in FINAL. In practice, also check that the policy names exist in your configuration and that any referenced servers are available.
What to keep in mind: Even if a condition matches correctly, the result may be unexpected if its policy points to the wrong target. Conditions such as USER-AGENT also depend on whether the request provides identifiable information, so they should not be treated as universal checks for all connections. To confirm a match, review the connection log for the destination, matched rule, and resulting policy; do not infer that a rule is working just because a webpage opens.
Subscribe and SERVER: Managing Existing Connection Details
What they are and where to find them: The SERVER section on Home lets you view and select servers; Add Server lets you add connection details, and Subscribe manages subscriptions you already have. A subscription is usually a set of server entries that can be updated, while Config is a configuration file that affects rules and other behavior. Importing a server list does not mean your routing rules are configured.
How to set it up: This assumes you already have your own subscription or server details. Import them as described in the Getting Started guide. To add a server manually, choose the type in Add Server that matches the source details, then enter the address, port, and authentication fields. When using Scan QR Code, make sure the code contains information you intend to import. After saving, return to Home and check the name, type, and selection status, then run Connectivity Test.
Shadowsocks, VMess, VLESS, Trojan, and other protocols require different fields. Enter each value as provided; changing the type alone does not convert one protocol into another. Options for TLS, transport, and server name must also match the server-side settings. A field that appears optional may still be required for your connection setup.
What to keep in mind: Before updating Subscribe, check whether it contains local changes you want to keep. After updating, review the list and selected entry again. Do not share subscription URLs, QR codes, or screenshots containing authentication details. Shadowrocket is a paid app: a one-time app purchase does not include a connectivity plan. This site does not provide, sell, or recommend servers or subscriptions; it only explains how to import and manage details you already have.
On Demand: Connect Automatically Under Set Conditions
What it is and where to find it: On Demand uses conditions to determine when to attempt a connection. Unlike manually switching the connection on from Home, it can trigger a connection based on conditions saved with the system. Look for On Demand options in Settings and check the network conditions and choices shown in the app. The exact location and available options depend on the app’s current interface.
How to set it up: First, connect manually and confirm that access works. Then configure the conditions for On Demand. Note the network situations that should trigger a connection separately from any exceptions. After saving, switch between the relevant networks and test each one. Check both the connection status on Home and access to a consistent destination to confirm that the expected server and Global Routing mode are used when a condition matches.
What to keep in mind: On Demand cannot fix incorrect server settings or rules. If the connection returns after you disconnect manually, check the On Demand conditions before repeatedly removing the system configuration. Keep a record of the conditions before changing them. If connections occur too often or the status behaves unexpectedly after switching networks, temporarily disable On Demand and use manual connections as a baseline. Restore the conditions one by one after identifying the cause.
Data: Review Traffic, Don’t Infer Connection Quality
What it is and where to find it: Data shows traffic information recorded by the app. Open Data and first check the time range, direction, and categories used on the current screen before comparing figures. Upload, download, individual connections, and cumulative records mean different things. Data shown in the app should not be treated as an ISP bill or as a basis for charges from another service.
How to use and interpret it: To see the effect of a single action, note the current figures, perform one task—such as loading one specific page—and then return to Data to compare. If the interface offers an option to clear or reset statistics, first check whether you need to keep the history. Comparisons using the same network and task are easier to interpret than comparing totals taken at different times.
What to keep in mind: A change in traffic only shows that data was exchanged; it does not prove that every request succeeded or that a rule matched correctly. Background tasks, retries, and network changes can affect the figures. When investigating slow speeds or unusual battery use, also consider usage duration, connection logs, and system battery information. Do not change DNS or replace all your rules just because the cumulative total increased.
DNS: Check the Resolution Path and Configuration Source
What it is and where to find it: DNS resolves domain names to the addresses needed for connections. Check related options in Settings and in the active Config’s DNS settings; actual behavior also depends on the configuration. If a domain cannot be reached, results vary between networks, or connection logs show an unexpected address, first identify where the current resolution settings come from before changing them.
How to set it up: Note whether the app uses the system resolver, specifies a DNS server, or has other DNS-related parameters in the configuration. If you need a custom setting, use a resolver you have verified is reachable and enter it in the required format. With DNS over HTTPS, the service endpoint itself must also be reachable. Encrypted transport does not automatically make the resolution path match every routing expectation.
What to keep in mind: Change only one DNS resolution method at a time, keep the original value, and test the same domain repeatedly. Do not change DNS, Global Routing, and the server all at once, or it will be difficult to tell which change made a difference. Accessing an IP address directly is not equivalent to accessing a domain; TLS and the destination service may depend on the domain name. For more on DNS resolution paths, see DNS Settings Explained.
Test Method and Connectivity Test: Know What You’re Testing
What they are and where to find them: Test Method is a setting in Settings that controls how tests are performed. Connectivity Test is the entry point on Home for running a connection test. The first affects how the test runs; the second starts it. Before interpreting a result, identify which part of the connection is being tested. A time shown for one test does not represent the loading speed of every website.
How to set it up: Open Test Method to check the current method, then choose from the options and guidance available in the app. If the method requires a destination or other parameters, verify that they use the correct format and are reachable. Run Connectivity Test from Home. Keep the test method, destination, and network consistent when comparing results; if you want to compare another method, record the original result first.
What to keep in mind: A successful test does not mean every authenticated request, DNS lookup, or destination service is working; a failed test may be specific to the test target. If a server test returns a result but a webpage will not load, continue by checking Global Routing, DNS, and the rule for that destination. If the problem occurs only after switching networks, test again and note the network type rather than ranking results from different conditions together.
Today Widget and iCloud Sync: Check Access and Data Separately
Today Widget: System Widget Access
What it is, where to find it, and how to set it up: Today Widget provides a quick way to view or use app features outside the app. First check the related settings in Settings, then see whether Shadowrocket can be added from the system’s widget editor. Widget format, displayed content, and available actions depend on support from the device’s operating system and the app. Check the App Store page for system requirements.
What to keep in mind: The widget may not update at the same time as the main app. To confirm the current connection, return to Home and make a request. If the widget is missing, launch the app normally first, then check the system widget list and relevant permissions. Do not change server settings that are already working just to add a widget.
iCloud Sync: Check What Syncs Before Resolving Conflicts
What it is, where to find it, and how to set it up: iCloud settings can sync app data where supported. First check whether iCloud is available in the system, then open Settings and review the sync options and guidance provided by the app. Before enabling sync for the first time, save the configurations you want to keep on each device and check which items will sync. Do not assume that all servers, statistics, or system permissions will transfer together.
What to keep in mind: Sync is not a substitute for a historical backup. If you have made changes on both devices, compare their contents first; do not repeatedly toggle sync in an attempt to “refresh” it. After changing devices, app purchase history, configuration data, and system VPN configuration permissions are separate items to check. The interfaces may differ between iPhone and iPad, so review the sync results item by item.
Diagnostics: Use Evidence to Find Settings Issues
What it is and where to find it: Diagnostics and related tools help collect or review information for troubleshooting; look for them in Settings. The goal is not to enable every option, but to investigate a specific symptom and identify where the problem occurs: the connection does not start, a test fails, domain resolution is abnormal, or a rule sends a request to an unexpected policy.
How to set up and use it: Note the time the issue occurred, network type, Global Routing mode, selected server, and destination domain. Then review diagnostic information using the available options in the interface. Repeat the steps once to reproduce the issue reliably and record where it occurs and any message shown. To compare configurations, use a copy that worked previously as the baseline, change one setting at a time, and keep or revert each change after testing.
What to keep in mind: Diagnostic materials may include server addresses, destinations, and authentication details. Before sharing, inspect them and remove subscription URLs, authentication fields, and personal browsing records; do not publish a complete configuration. Use detailed logging only as needed for troubleshooting. When finished, restore the previous logging settings and delete sensitive materials you no longer need.
This page explains what settings do and how to check them. If you are experiencing a specific issue, continue to Troubleshooting for step-by-step checks based on symptoms involving the connection toggle, connectivity, subscriptions, speed, or DNS. Shadowrocket is available only on Apple platforms, and the App Store is the only place to get it. Check the App Store page for compatibility, system requirements, and purchase availability.