Official Manual · Features

Shadowrocket Features & Settings

Choose how traffic is handled before deciding when connections should start. This guide covers each feature by menu path, with setup steps and checks.

  • Global Routing
  • Rules & Policies
  • On Demand
  • Data & Diagnostics

These instructions focus on Shadowrocket for iPhone and iPad and assume you already have your own subscription or server details. Check the App Store listing for system requirements. If you have not completed your first connection, start with the tutorial, then work through this page.

Traffic handling

Global Routing:Config、Proxy、Direct

Global Routing determines how Shadowrocket handles connections it intercepts. It is separate from the connection toggle: the toggle starts or ends a connection, while Global Routing selects how traffic is handled. Open Global Routing from Home, then choose Config, Proxy, or Direct for your needs.

Config applies policies according to the rules in the active configuration, making it suitable for everyday domain- or address-based routing. Proxy is useful for temporarily checking access through the selected server. Direct helps test access without a proxy server. When comparing the latter two, keep the destination and network conditions the same.

Mode How it works When to use it What to check
Config · Configuration Selects policies based on the active configuration’s rules. Everyday connections that use policies such as DIRECT and PROXY. Check which configuration is active, the rule order, and the final policy.
Proxy Handles intercepted connections using the proxy mode. Temporarily test whether the selected server can reach a destination. Check the default server, server settings, and test destination.
Direct Handles intercepted connections using the direct mode. Check the local network or compare it with the proxy route. DNS resolution still matters; Direct is not the same as turning off the connection.

Switching modes and restoring settings

Open Global Routing, select a mode, then return to Home to confirm the current setting before testing the same destination. If Proxy works but Config does not behave as expected, check the rules and policy assignments first rather than reimporting every server. Restore the original mode when testing is done so a diagnostic setting does not become your everyday setup.

Existing connections may continue using their original route after you change modes. Make a new request to the destination before judging the result. If you need to reconnect, save any work in progress first to avoid interrupting transfers.

Matching conditions and actions

Rules: Types and Policies

Rules define which connections match; policies determine what happens when they do. Open Config, confirm which configuration is active, then review or edit its rules. Understanding the active configuration is essential to explain why a request is assigned DIRECT, PROXY, or REJECT.

Rules are generally checked in the order listed in the configuration. Put more specific conditions before broader ones, and place FINAL at the end as the fallback. Keep a copy of the original configuration, change one related group of rules at a time, and check how the target request is matched.

Rule typeWhat it matchesNotes
DOMAINThe exact domain specified.Useful for a specific, single domain.
DOMAIN-SUFFIXThe domain itself and its subdomains.Matches more broadly than a single DOMAIN rule.
DOMAIN-KEYWORDA keyword contained in the domain.Can match too broadly; check for unintended matches after editing.
GEOIPThe geographic classification of the destination IP address.Results depend on the resolved address and the data used.
IP-CIDR / IP-CIDR6IPv4 or IPv6 address ranges.Check the address family and prefix length.
FINALConnections not matched by any preceding rule.Specify the final policy explicitly.

Policies and rule examples

DIRECT means a direct connection, PROXY means a proxied connection, and REJECT blocks the connection. If the configuration uses named policy groups, check the currently selected option in the group as well. A rule pointing to PROXY does not, by itself, confirm that the default server is correct.

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
GEOIP,CN,DIRECT
FINAL,PROXY

This example illustrates rule structure only: example.com and its subdomains match the first rule, GEOIP is checked next, and remaining connections go to FINAL. It is not a complete configuration for every network. A visit to one domain may request multiple resources, so check the actual request domains when troubleshooting rather than relying only on the browser’s address bar.

For the difference between rule keywords and interface terms, see Quick Reference. For a closer look at matching order, read Rules: A Beginner’s Guide.

Importing and organizing your existing details

Subscriptions and Server Management

A server entry stores the details needed to connect to a remote server. Subscribe uses an existing subscription link to manage a set of entries. The usual entry point is the add flow on Home. To enter details manually, tap Add Server, choose the correct Type, then fill in the address, port, and authentication details from your own server information.

Review imported details before connecting

Import an existing subscription through Subscribe, or use Scan QR Code for an existing QR code. Before importing from the clipboard, confirm that you copied the complete information—not explanatory text or a truncated address. A successful import means the app could read the content; it does not confirm that a server is reachable or that every entry will work on your network.

Return to Home to check the entry name and protocol, select the server you intend to use, and run Connectivity Test. For manual entries, verify the port, authentication fields, and any TLS or transport parameters specified in your server details. Do not interchange fields just because their names look similar across protocols.

Updates, organization, and backups

Updating a subscription retrieves its latest remote content. An update may add, remove, or rewrite entries, so avoid keeping important manual changes only in subscription-generated records. If you manage multiple subscriptions, use names that make their purpose clear. Before deleting anything, check whether the default server belongs to the group you are about to remove.

Latency tests can help with an initial comparison under current conditions, but they are not a permanent ranking of speed or reliability. Before deleting entries or configurations, use the app’s export or backup options to retain anything you need. Backups may contain authentication details, so limit who can access them. See the Server Management Manual for the full procedure.

When connections start

On Demand

On Demand uses conditions to decide when to start a connection. It controls connection timing; it does not replace Global Routing or the rules in Config. First confirm that manual connections and the destination work, then open the On Demand settings in Settings to configure conditions.

Start with one scenario

First note the network situation in which you want a connection to start, then create a rule using the available Wi-Fi, cellular, or domain conditions. If you need to match a Wi-Fi network by name, check the full network name. Create just one condition you can clearly verify, save it, then switch to the matching network and check the system connection status and actual access.

Before adding a second condition, check whether it overlaps with an existing one. Network changes, waking a device from sleep, and new requests from an app can all make results differ from a single manual test. Do not judge a condition’s behavior from one status change alone.

Watch for repeated triggers and know how to stop them

With On Demand enabled, manually ending a connection may trigger it again when its conditions are met. To pause automatic connections, check the On Demand status rather than repeatedly toggling the Home switch. To troubleshoot, temporarily disable the conditions and test a manual connection as a baseline, then restore the conditions one at a time.

On Demand affects background network behavior. Keep a record of the original conditions while testing, and use them long-term only after the expected and actual behavior match. See On Demand Setup for examples.

Monitor traffic changes

Data and Traffic Statistics

Data shows traffic information recorded by the app. Open Data and first check the reporting range and time period, then compare uploads, downloads, and related categories. It can help answer whether traffic was generated during a test, but it cannot establish on its own whether a destination was reached successfully.

Keep conditions consistent for comparisons

Note the current statistics before testing. Temporarily limit background activity from other apps, then perform one clearly defined action, such as reloading the destination page. Return to Data and check what changed. If the interface offers a reset option, confirm whether you need to keep the existing records before using it; clearing statistics will not fix connection issues.

Background sync, image loading, and retries after failures can all generate traffic. An increase does not mean all content loaded successfully, and a small number does not prove that rules were ignored. Evaluate the statistics alongside the access result, connection records, and test time.

Keep statistics separate from billing

Data may record traffic differently from the system or your service provider. Protocol overhead, reporting periods, and connection coverage can all affect comparisons. Treat it as an in-app monitoring tool, not as a billing record. To investigate unusual usage, narrow the time period and identify the activity rather than inferring the performance of a single connection from a cumulative total.

Common settings explained

Settings: DNS, Tests, and Tools

Settings brings together connection options and utility features. Some network behavior also depends on the active Config. Before making changes, check whether an option is global or configuration-specific, and note its current value. Available options may vary; refer to what appears on your device.

DNS: Domain Name Resolution

DNS resolves domain names to the addresses needed for connections. Review DNS options in Settings and check the DNS section of the active configuration as well; changing only one may not update every request. Choose system resolution, custom DNS, or DNS over HTTPS based on your network needs—not on the assumption that one method is always faster.

Change just one DNS source or related option at a time, save, then make a new request to the same domain. If a server test succeeds but domain access fails, check the resolution result, DNS route, and domain rules first. See Shadowrocket DNS Setup for details.

Test Method

Test Method determines how the relevant connectivity or latency test is performed. Check the current value in Settings, then run the corresponding test from Home. Choose a method that works with your server and the connection type available on your current network.

When comparing entries, keep Test Method and network conditions consistent. A failed test may be caused by a restricted test destination or method; it does not necessarily mean all real-world connections will fail. Test duration is not the same as download speed, so verify access to the actual destination as well.

Today Widget

Today Widget provides a way to view information or perform quick actions from the system’s widget interface. Check the related options in Settings, then add an available widget using the method supported by your device. What it displays and which actions it supports depend on your device.

After setup, return to Home to confirm the default server and current status, then try the shortcut. A widget can reduce the number of steps, but it does not replace initial setup or prove that a rule matched. If the widget does not update promptly, open the app to check the actual status.

iCloud Sync: Keep Settings Across Devices

iCloud sync can keep app data in sync across supported devices. First make sure you are signed in to your own iCloud account and allow Shadowrocket to use the required features, then check the sync options in Settings. Follow the interface description to confirm what is synced; do not assume every entry, statistic, or credential will transfer completely.

Before enabling sync for the first time, keep a copy of important configurations on both devices. After syncing, check configuration names, the default server, and connection results; do not immediately delete data from the original device. Sync is not a separate backup. Keep a configuration copy in advance in case you need to undo a change.

Diagnostics

Diagnostics checks network status and helps gather troubleshooting information. Open the relevant tool in Settings, decide whether you are checking DNS resolution, server connectivity, or rule results, then run the corresponding check. Before testing, note the network type, current mode, and selected server so you can reproduce the same conditions.

Compare diagnostic findings with actual requests. Before sharing logs, check whether they contain subscription URLs, authentication details, device information, or visited domains, and share only what is necessary. Do not publish a full configuration or complete subscription just to troubleshoot an issue.

Trace changes from a known baseline

A step-by-step settings checklist

When several options change at once, it is difficult to identify the cause of a failure. Establish a repeatable baseline first, then add rules, DNS settings, and On Demand conditions one at a time. Record each change and its test result; this is usually more effective than repeatedly clearing the configuration.

  1. Check the server details. On Home, confirm the selected entry and verify that your existing server information is complete. Run Connectivity Test, then check access to a destination.
  2. Check Global Routing. Note the current mode. For comparison, temporarily switch to Proxy or Direct and make a new request to the same destination.
  3. Check Config. Verify the active file, rule order, policy targets, and FINAL to avoid editing an inactive copy.
  4. Check DNS. Review DNS options and configuration details. Change one variable at a time and observe a new request to the destination domain.
  5. Restore On Demand last. Re-enable automatic conditions only after manual connections are stable, then test network changes. Use Data and Diagnostics to assess the results.

If a problem appears after a change, restore the previous value you recorded. For detailed subscription import and entry management steps, see Server Management; for the complete process from import through the first test, see the tutorial.

Download Shadowrocket from the App Store