Rule: Choose a Policy Based on Conditions
Rules can match requests by domain, domain suffix, or IP address range, then apply a specified policy. They are generally checked from top to bottom, so place specific conditions before broader ones. FINAL handles requests that do not match earlier rules. For rules in a configuration to affect routing, check that Config is selected under Global Routing in Home. After making changes, test only the affected destination and check the connection log to see which rule matched. These examples illustrate field structure only; they are not a complete configuration and do not provide connection endpoints.
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY
See the terminology guide →
On Demand: Connect When Conditions Are Met
On Demand triggers a connection based on configured network conditions; it does not correct incorrect server details. Review the relevant options in Settings first, and enable On Demand only after a manual connection works. After setup, check its behavior when switching networks, reconnecting, and disconnecting manually. This helps distinguish automatic connection attempts from connection failures. For temporary troubleshooting, note the current conditions, pause automatic triggers, and test manually. Available conditions and labels may vary by device.
Settings
On Demand
See the terminology guide →
Multiple Protocols: Use Your Existing Details
Shadowrocket supports protocols including Shadowsocks, VMess, VLESS, Trojan, HTTP, SOCKS5, WireGuard, and Hysteria2. To add a server manually, select the correct Type in Add Server, then enter the address, port, and authentication details required for that type. Fields are not interchangeable just because they look similar; TLS, transport settings, and server names should match your existing details. After importing, check the parameters rather than changing the protocol name as a troubleshooting shortcut.
Add Server
Type
Host
Port
See the terminology guide →
Subscribe: Maintain an Existing Server List
Use your existing subscription details: select Subscribe in Add Server and enter the corresponding address. After saving and updating, check that a server list was created, then select an entry to test. A subscription maintains the list; it is not the same as rule configuration in Config. If an update fails, distinguish between an invalid address, changed authentication details, and a network that cannot reach the address. Keep the existing content before making changes. Subscription addresses may contain access credentials, so hide them in screenshots, logs, and support requests.
Add Server
Type: Subscribe
See the terminology guide →
Config: Check Which Configuration Is Active
Config manages rules and related settings. After importing a file, confirm that it is selected, then check that Global Routing is set to Config. Saving a file without selecting it does not make it active. Before editing rules, save a recoverable copy and change one relevant condition at a time. If you use iCloud sync, check the sync status and selected file on each device; seeing a file does not mean it is enabled. Understand the scope of HTTPS Decryption separately; it is not required for an initial connection.
Config
General
Rule
Hosts
See the terminology guide →
Diagnostic Tools: Check Connectivity and Access Separately
Connectivity Test in Home can provide an initial connectivity check; Diagnostics in Settings can offer additional clues. Results reflect the test method and network at that moment, so verify access separately. Data can help you observe traffic changes, but traffic does not prove that every request succeeded. Troubleshoot by recording the local network, selected server, routing mode, and symptoms. Change one setting at a time and retest the same destination. Hide addresses, credentials, and personal browsing records before sharing diagnostic information.
Connectivity Test
Settings / Diagnostics
Data
See the terminology guide →