DOMAIN-SUFFIX,example.com,PROXY
GEOIP,CN,DIRECT
FINAL,PROXY
Rule Matching and Order
Rules are evaluated in the order listed in the configuration, and the specified action is applied when a rule matches. DOMAIN-SUFFIX checks domain suffixes, GEOIP matches by the destination address's region, and FINAL handles requests that did not match earlier rules. Before checking rules in Config, make sure Global Routing is set to Config in Home. Proxy and Direct are different overall routing modes. Change one setting at a time and check actual request logs to confirm which rule matched; the connection toggle alone cannot tell you whether routing is correct.
Check Global Routing first, then verify rule order and actions.
Settings
On Demand
Connect When Conditions Are Met
On Demand triggers connections based on configured conditions. Set it up after confirming that a manual connection works. Open On Demand in Settings, review the available options, and configure them for your network environment. Once enabled, test scenarios such as switching networks and resuming after the device locks to confirm that connections trigger as expected. If connections keep reconnecting, check these settings during troubleshooting. Automatic connection triggers do not fix invalid server details or replace checking whether a subscription is valid.
Set up On Demand only after a manual connection works.
Shadowsocks · VMess · VLESS
Trojan · Hysteria2 · WireGuard
HTTP · SOCKS5
Check Fields for Each Protocol
Shadowrocket supports multiple protocols. To add a server manually, select the correct Type in Add Server, then enter the fields required for that type. Host, Port, and authentication details must match your existing server information; some types also require transport, TLS, or key fields. Do not mix fields from different protocols or guess values based on field names. If you have a supported share link, import it first, then check the type and key fields. Protocol support does not guarantee that every parameter combination will connect; settings must match the server configuration.
Choose the right Type first, then check the fields in order.
Add Server
Type → Subscribe
Scan QR Code
Import and Manage Existing Subscriptions
If you already have a subscription link, select Subscribe in Add Server and enter the details. Save it, then check that server entries were created successfully. QR code and clipboard imports work with compatible shared content; confirm the type after importing. A subscription URL is used for updates, not as a regular server's Host. A successful update does not mean every entry is usable. Give multiple subscriptions clear names to avoid duplicates. Keep a necessary backup before updating. If an import fails, first check that the link is complete and accessible.
Subscriptions update server entries; connections still depend on each entry being valid.
Config
General / Rule / Hosts
URL Rewrite / HTTPS Decryption
Configuration Files and Backup Scope
Config manages configuration files and their settings, while the server list is separate. Before using Config as the Global Routing mode, check that the selected file and its rules are the ones you intend to use. Keep a copy of the original file before editing so you can identify the cause of a problem if changes go wrong. When using iCloud sync or moving to a new device, check separately that your configuration files, subscription URLs, and server details have been restored. A file name alone does not confirm that the data is complete. Sync availability and the relevant options depend on the current app interface.
Back up configuration files, subscription URLs, and server details separately.
Connectivity Test
Settings → Diagnostics
Data
Test Results vs. Real Requests
Connectivity Test can provide an initial check of a server entry, while Diagnostics in Settings offers further troubleshooting. Data can help you observe traffic, but a test response or traffic activity alone does not prove that a website will open. If a connection fails, check the device's basic network first, then server details, Global Routing, rule matches, and DNS resolution. Change one variable at a time. Note whether the failure occurs during connection, resolution, or access to the destination, rather than assuming every network issue is a server problem.
Test latency, DNS resolution, and actual access separately.