Global Routing and rule order
Check Global Routing in Home. Config processes requests using the rules in the active configuration; Proxy routes applicable traffic through the proxy, while Direct uses a direct connection. To handle traffic differently by domain or address, select Config and confirm which configuration is active. Rules are generally matched from top to bottom, so put more specific conditions first; FINAL handles requests that don’t match earlier rules. After making changes, check which rule matches the actual request. An enabled connection does not mean every request follows the same route.
DOMAIN-SUFFIX,example.com,PROXY
FINAL,PROXY
Learn about Global Routing and rule-based routing →
Use On Demand to connect based on network conditions
On Demand triggers connections when configured conditions are met; it does not guarantee server availability. First connect manually from Home and verify that your existing server works, then check the On Demand conditions and toggle in Settings. After setup, test connecting, disconnecting, and switching networks under the conditions you actually use. When troubleshooting automatic reconnections, check both the system VPN status and the app settings so a condition not being met isn’t mistaken for a failed toggle. Recheck behavior when network conditions change rather than relying on a single test.
Settings → On Demand
Home → Connection status
Learn when and how to use On Demand →
Match protocol fields to server details
Shadowrocket supports protocols such as Shadowsocks, VMess, VLESS, Trojan, and Hysteria2. To add a server manually, start with Type in Add Server, then enter Host, Port, and the required authentication fields from your existing server details. The fields vary by Type, so changing only the protocol name while reusing all other parameters may not work. Verify TLS, transport settings, and server name against the original details. Protocol choice depends on the server configuration; the protocol name alone says nothing about speed, latency, or availability. Test the connection to confirm it works.
Add Server → Type
Host / Port / authentication fields
See how to verify server fields →
Manage existing subscriptions in Subscribe
If you already have a subscription, select Subscribe in Add Server, enter its URL, and save. Then check that the expected server entries appear. QR code and clipboard imports also require checking the content type: a single share link and a subscription URL serve different purposes. Refreshing a subscription fetches its contents again, so entry names, counts, or parameters may change. Record any important local adjustments beforehand. Subscription URLs may contain access credentials; when troubleshooting, describe the error without sharing the full URL in a public screenshot or message.
Add Server → Subscribe
Scan QR Code
Read the guide to updating and organizing subscriptions →
Distinguish configuration files from servers in Config
Configuration files in Config organize general options, routing rules, and related settings; they are separate from the server list in Home. After importing a file, check which one is active and whether the policies referenced by its rules exist. Save a recoverable copy before making changes, then test one condition at a time. If you use iCloud sync, check that iCloud is available on your device and review the related in-app options; the sync scope and results depend on your settings. Restoring a purchase, syncing files, and restoring server details are separate processes and cannot replace one another.
Follow the steps to enable and verify a configuration →
Check test results separately from actual requests
Connectivity Test in Home shows how a test destination responds. Data can help you review traffic records, and Diagnostics in Settings provides additional troubleshooting tools. A latency test result does not confirm that DNS resolution, authentication, and destination access are all working. If a website won’t load, note your current network, Global Routing mode, and selected server, then check DNS and the request route one at a time. Traffic shown in Data is not the same as usage billed by a service provider. Remove subscription URLs, authentication fields, and personal browsing records before sharing diagnostic materials.
Connectivity Test → test response
Data / Settings → Diagnostics
See connection troubleshooting steps →