Shadowrocket Proxy Modesand Key Settings
Start by choosing Global Routing, then check your rules, servers, and DNS. The iPhone / iPad interface paths below explain what each setting does, how to configure it, and how to verify the result.
Shadowrocket is available for iPhone / iPad / Mac / Windows / Android / Linux. Settings menus vary by platform.
Global Routing: Config, Proxy, and Direct
iPhone / iPad: Check the current mode on Home. Use Config for everyday routing, and switch to Proxy or Direct temporarily when testing.
What it does: Global Routing determines how requests are routed. It is separate from the connection toggle and the server selected under SERVER: the toggle enables or disables the connection, the mode determines how a route is chosen, and the server is a possible destination for proxy connections. Changing SERVER alone does not switch Config to Proxy or send requests that match DIRECT through a proxy.
Where to find it: Open Home, select Global Routing, and check whether Config, Proxy, or Direct is selected. These are the exact English labels in the interface. Config is also the name of the configuration management screen, so distinguish the routing mode from the screen you open when following instructions.
| Mode | How requests are handled | When to use it | What to keep in mind |
|---|---|---|---|
| Config | Routes requests according to the rules in the active configuration. | Everyday use when destinations need different routes based on domain or IP. | First check which configuration is active and the order of its rules. |
| Proxy | Routes requests through a proxy to test the proxy path. | Temporarily check whether a routing rule is causing an issue. | Does not guarantee that every system connection goes through the proxy. |
| Direct | Connects directly to the destination. | Compare direct access to a destination on the current network. | Does not turn off the connection or enable privacy protection. |
How to set it up: ① Select the server you want to use on Home. ② Set Global Routing to Config. ③ In Config, confirm that the expected configuration is enabled. ④ Enable the connection and visit a known destination. To troubleshoot, temporarily switch to Proxy or Direct and test the same destination again. Restore the original mode when you're done.
What to keep in mind: Switching modes provides clues, but one successful test is not enough to confirm the cause. App caches, existing long-lived connections, and DNS caches may retain earlier results. After switching modes, make a new request and note the network you're using. If Proxy works but Config does not, check which rules match and how their policies are referenced before rebuilding your server list.
Rule Types and Policy Selection
iPhone / iPad: Check the active configuration in Config. Rules determine what matches; policies determine how matching requests are handled.
What it does: Rule-based routing sends different destinations to different policies. DOMAIN matches an exact domain, DOMAIN-SUFFIX matches a domain suffix, and DOMAIN-KEYWORD matches a keyword in the domain. IP-CIDR and IP-CIDR6 match IPv4 and IPv6 address ranges, respectively; GEOIP matches using data about the IP address's region. Rules are generally checked from top to bottom, and the first match determines what happens next, so put specific rules before broader ones.
Where to find it: Open the active configuration in Config and inspect the [Rule] section and its referenced policies. Before editing, keep a restorable copy and confirm that you're changing the active file, not another configuration with a similar name. Remote configurations may overwrite local edits when updated, so check who maintains the configuration before relying on changes long term.
[Rule]
DOMAIN,api.example.com,DIRECT
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY
How to set it up: ① List the destinations that need separate handling. ② Add specific rules first, then broader ones. ③ Assign each rule a policy that actually exists. ④ Put FINAL at the end as a fallback. ⑤ Save and enable the configuration, then test again. This is a syntax example, not a complete configuration for every network, and it does not include server details.
What to keep in mind: PROXY, DIRECT, and REJECT are policy keywords for proxying, direct connections, and rejecting requests. Do not translate them in your rules. Domain and IP rules rely on different information; visiting an IP address is not the same as visiting a domain. Rules such as USER-AGENT depend on request information and may not apply in every case, so don't assume they can identify all encrypted requests. If a rule does not match, first confirm the actual request destination, then adjust the rule order. See the glossary for details.
Manage Subscriptions and Servers
iPhone / iPad: Distinguish server subscriptions from rule configurations, then use Subscribe or Add Server to enter details you already have.
What they are: Server entries store the protocol, address, port, and authentication details. A subscription retrieves and updates a group of server entries. A configuration file defines behavior such as routing and DNS. Importing a server does not enable related rules, and updating a subscription does not update the rule file in Config. Checking these separately helps avoid assuming that a server entry appearing in the list means it can connect.
Where to find them: The SERVER section on Home lets you view and select servers. Use Add Server to add an entry and Subscribe to open the relevant subscription flow. Config manages configuration files. A subscription in the interface may refer to a configuration rather than a server list, so check the screen title and import result first. Scan QR Code and clipboard detection are just ways to enter information; they do not change what type of information it is.
How to set it up: ① Get a subscription link or server details you already have. ② Import them from the appropriate screen; if entering details manually, select the correct Type first. ③ Check the address, port, and authentication fields required by the protocol. ④ Return to Home and confirm the imported group and selected server. ⑤ Run Connectivity Test as an initial check, then try the actual destination. Shadowsocks, VMess, VLESS, Trojan, Hysteria2, WireGuard, HTTP, and SOCKS5 use different fields; do not copy settings from one protocol to another.
What to keep in mind: Subscription links often contain access credentials. Hide the full link and authentication details before sharing screenshots or diagnostic files. Updates may change server names, counts, or groups, so check your selection afterward. Manual edits to subscription-generated entries may be replaced by a later update. If something fails, determine whether the subscription could not download, its contents could not be recognized, or the imported server could not connect. Then use the troubleshooting manual to investigate the specific symptom instead of repeatedly deleting valid entries.
On Demand Connections
iPhone / iPad: Verify that a manual connection works before setting On Demand network triggers.
What it does: On Demand uses conditions supported by the system to decide whether to establish a connection. It controls when to connect, not which policy to use for a domain. Check Global Routing and configuration rules to determine how domains and IP addresses are routed. On Demand cannot fix an unavailable server, incorrect authentication details, or an inaccessible subscription.
Where to find it: Find On Demand in Settings and check which conditions are enabled and which networks they apply to. Options vary with the platform, operating system, and app interface. If an option is not shown on your device, do not assume another platform's settings path applies or use an unrelated toggle as a substitute.
How to set it up: ① Temporarily disable On Demand and confirm that you can reach the destination after connecting manually. ② Note the current rules and selected server. ③ Enable the required trigger conditions, changing one at a time. ④ Switch between Wi-Fi and cellular and observe the connection status. ⑤ Return to the original network and test again to confirm the result is repeatable.
What to keep in mind: If the connection comes back after you disconnect manually, check the On Demand conditions before assuming the connection toggle is faulty. On Demand and Background App Refresh are separate settings, and the system may also restrict when connections are scheduled. Network names, network changes, and waking from sleep can affect whether an issue is reproducible. Note the network conditions before and after the trigger when troubleshooting.
Data Usage
iPhone / iPad: Data shows traffic recorded by the app; it does not replace system billing records or usage records from a service you already use.
What it shows: Data displays traffic recorded by the app and can help you monitor connection activity or unexpected increases. Results depend on the displayed time range, when counting began, and what the client records. Do not treat them as the total cellular data used by the device or as the sole source for checking a service's remaining allowance.
Where to find it: Open Data, check the metric name and current time range, then read the value. To see whether a test used traffic, read the same metric before and after the test. Subtracting numbers from different time periods, networks, or measurement methods usually does not produce a useful result.
How to check: ① Note the value and time before testing. ② Stop unrelated downloads or sync tasks. ③ Perform one clearly defined request. ④ Return to Data and check for a change. ⑤ Interpret the result in context of the current routing mode, destination, and network type. Before clearing the statistics, save a reference value and check which reset option the interface provides.
What to keep in mind: Increased traffic alone does not prove that a destination loaded fully; uploads, retries, and background connections can also increase usage. If usage seems high, first check background tasks, sync activity, and connection retries instead of immediately blaming a rule. To check charges or allowances, refer separately to the system's cellular usage records and usage information from the service you already use.
Common Settings
iPhone / iPad: Check what each setting affects. Change one item at a time and keep a way to restore its previous state.
DNS: Domain Resolution and Configuration Sources
What it does and where to find it: DNS resolves domain names to addresses. Check related settings in both Settings and the active Config. A DNS resolution failure is different from a proxy connection failure; even with correct server details, a request may fail if its domain cannot be resolved.
How to check it: ① Note the current DNS settings and the dns-server value in the active configuration. ② Confirm that the DNS server is reachable over the current network and route. ③ Change one setting only, then make a new request to a domain. ④ Compare the result with the app's diagnostic information. Important: Do not change DNS, the routing mode, and the server at the same time, or you will not know which change made a difference. Custom DNS does not automatically mean requests are encrypted, and caching may delay visible changes.
Test Method: How Tests Work and What Results Mean
What it does and where to find it: Test Method in Settings selects the testing method and affects how the corresponding Connectivity Test result should be interpreted. A connectivity test is not the same as loading a full webpage. Protocol handshakes, reaching a destination, and app requests may happen at different stages.
How to use it: ① Check the available methods and test destination. ② Test multiple servers using the same method on the same network. ③ Then try the destination you actually use. Important: Results from different methods cannot be ranked directly, and one timeout does not prove that all requests fail. A successful test does not guarantee that every website is accessible. Recording the test method and destination is more useful for troubleshooting than noting a single number.
Today Widget: Quick Access and Controls
What it is and where to find it: Today Widget is a settings option for system widgets. The available display and controls depend on the options provided by your system and the app. It offers quick access to status or actions; it is not a separate routing configuration.
How to set it up: ① Check the Today Widget options in Settings. ② Add an available widget using your system's widget editing controls. ③ Return to Home and check the connection status after using it. Important: Widget updates may depend on system scheduling. If the status appears out of sync, check it against the app and system connection status instead of repeatedly toggling the connection. If your system does not offer the widget, do not assume the same steps apply to other devices.
iCloud: Sync Configurations Across Devices
What it does and where to find it: Where iCloud sync is available, you can manage content the app supports syncing. Check the current options for the exact sync scope. Enabling sync does not mean that servers, statistics, connection status, and all system permissions are copied exactly as they are.
How to set it up: ① Check iCloud sign-in and relevant permissions on the device. ② Back up your current configuration. ③ Enable the sync options supported by the app. ④ Check the files and active items on another device. Important: Avoid editing the same configuration on two devices at once. Subscription links and authentication details are sensitive, so review what will sync before proceeding. Sync is not a substitute for a backup, and matching file names do not mean both devices are using the same content.
Diagnostics: Gather Reproducible Clues
What it does and where to find it: Find Diagnostics in Settings and use the available diagnostic tools to check connection-related information. Diagnostics helps narrow down an issue; it is not a switch that automatically fixes every configuration.
How to use it: ① Note when the issue occurred, the network type, and Global Routing mode. ② Reproduce one specific action. ③ Check errors or results around that time. ④ Investigate the server, DNS, and rules separately. Important: Before sharing diagnostics, remove subscription credentials, passwords, personal addresses, and unnecessary browsing records. Do not change every setting based on a single error. First confirm it occurred at the same time and for the same destination as the failed request.
Verify Settings in Order
iPhone / iPad: Check each layer, from connection conditions to request results, without changing multiple variables at once.
- Check the network. First confirm that the device can use its current network, then check the system connection permissions required by the app. Changing rules usually will not help if the underlying network is unavailable.
- Check the server entry. Confirm the selected item under SERVER, its protocol, and its authentication details. Check again after updating a subscription; an entry can exist without being selected.
- Check Global Routing. Use Config for everyday routing. Temporarily switch to Proxy or Direct for comparison, then restore the original mode after testing. Note the mode and destination so you can compare results.
- Check the configuration and DNS. Confirm the active file, rule order, policy names, and DNS settings. Identify which stage the request fails at before changing the relevant item.
- Check automatic connections and statistics. Finally, add On Demand conditions and use Data and Diagnostics to monitor activity. If manual connections are not reliable yet, do not add automatic triggers.
If the connection toggle works but you cannot access the internet, only some destinations fail, a subscription will not import, or something breaks after an update, see the troubleshooting manual. For a first-time setup, follow the setup guide in order. To look up an English interface label or rule keyword, use the glossary rather than guessing what a setting does from its name.