Official Manual · Features & Settings

Shadowrocket
Features & Settings

Check where traffic is routed before changing rules or connection conditions.

This page explains common features through Home, Config, Data, and Settings. The steps assume you already have your own subscription or server details. If an entry has moved, look for its current English name in the app.

  • Get it from the App Store
  • You’ll need your own subscription or server details
  • Check against the current in-app settings
01 / Routing

Global Routing: Config, Proxy, and Direct

The three modes determine how traffic is handled. They are not server groups or connection quality levels.

What it is: Global Routing is the main control for how traffic is handled. Open it from Home to choose Config, Proxy, or Direct. These are the mode names shown in the app. Changing modes will not fix an incorrect server address or authentication details, and does not confirm that a connection is working.

How to use it: For everyday rule-based handling, start with Config and check which configuration is active on the Config page. To temporarily rule out rule interference and check whether the selected server can handle a request, switch to Proxy for comparison. To see how the current network handles a request directly, switch to Direct. Keep the target and network the same for each comparison, then restore the original mode.

Mode in the appHow it worksWhen to use itThings to check
Config · configurationHandles requests according to the rules and policies in the active configuration.Everyday use that routes traffic based on conditions such as domain or address.Check the active configuration first, then review rule order and policy targets.
Proxy · proxy modeRoutes traffic through the proxy mode, making it easier to compare the selected server’s behavior.Temporarily check whether rules affect a particular request.This does not guarantee that every type of traffic will work; results still depend on server capabilities and related settings.
Direct · direct connectionHandles traffic using a direct connection.Compare how the current network accesses a destination directly.This does not stop all network activity or replace checking the connection toggle.

Keep in mind: Global Routing and the connection toggle on Home serve different purposes. Global Routing selects how traffic is handled; the Home toggle controls whether the connection is enabled. If Config and Proxy produce different results, check the rules, policy targets, and name resolution first. If both fail, verify the server details and network conditions rather than assuming the rules are at fault.

02 / Rules

Rule-based routing: match conditions, then apply a policy

Rule types define what to match; policies define what happens after a match.

What it is and where to find it: Manage rules in Config. They are applied when Global Routing is set to Config. DOMAIN matches a specific domain, DOMAIN-SUFFIX matches a domain suffix, and DOMAIN-KEYWORD matches a keyword in a domain. IP-CIDR and IP-CIDR6 specify address ranges; GEOIP matches based on IP geolocation data. Domain and address rules rely on different information, so you cannot tell which rule matched just by looking at a website name.

How to set it up: First save a copy of the current configuration that you can restore. Then add rules with clearly defined scopes. Rules are generally evaluated from top to bottom, so an earlier match may prevent later rules from handling the same request. Put specific conditions that need priority in the appropriate position, then review broader conditions and FINAL. PROXY, DIRECT, and REJECT mean proxy, direct connection, and reject. If a rule refers to a named policy, make sure the policy exists and its target is valid.

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
DOMAIN-KEYWORD,ads,REJECT
FINAL,PROXY

Keep in mind: These examples explain syntax and order; they are not a complete configuration for every network. DOMAIN-KEYWORD may match more broadly than expected. Address-rule results can also depend on DNS resolution and the choice of IPv4 or IPv6. FINAL handles requests that did not match earlier rules; it should not be used to conceal an incorrect policy name above it. When troubleshooting, check the requested domain, destination address, and final policy—not just one line in the editor.

03 / Servers

Subscribe and Add Server: manage your existing connection details

Keep subscriptions that update in batches separate from individually configured servers to avoid duplicate imports or accidental deletions.

What it is and where to find it: The server list on Home lets you select a connection destination. Use Add Server to enter one server manually, and the Subscribe options to manage subscriptions you already have. Get your subscription or server details from your own provider, then choose the appropriate method. Importing a subscription does not automatically provide a complete rule set suited to your network.

How to set it up: When adding a server manually, choose the protocol provided, then check the address, port, authentication, and transport-related fields. Protocols such as Shadowsocks, VMess, VLESS, Trojan, and WireGuard use different fields; do not copy one set of details into another protocol. To import an existing subscription, first check that the link is complete, then save and update it. After updating, confirm that the entries appear, are easy to identify, and that the selected destination is still available.

How to keep things organized: If you have multiple subscriptions, use recognizable names to distinguish their sources and purposes. Review each group’s update results before removing entries you no longer use. Batch updates may change the list, and can overwrite edits made to subscription entries. Before making personal changes you need to keep, confirm whether the entry belongs to a subscription or was added manually, and keep a record as needed. Before deleting a subscription, check whether your current connection or policies still refer to its servers.

04 / Automation

On Demand: trigger connections based on conditions

First confirm that a manual connection works reliably, then set up automatic triggers.

What it is and where to find it: On Demand triggers connection behavior based on network conditions you set. Look for the relevant options in Settings. It controls when a connection is needed; rule-based routing controls how requests are handled. Enabling On Demand does not fill in server details or replace the Global Routing mode selection.

How to set it up: First turn off automatic triggers and confirm that you can manually start a connection, access a destination, and stop the connection. Then open On Demand and review the available network conditions and actions. Enable only the ones you can clearly explain. For conditions tied to a specific Wi-Fi network, check that the network name matches your actual environment. After saving, switch to the relevant network and observe whether the connection behaves as expected before adding more conditions.

Keep in mind: If the connection returns after you stop it manually, check whether On Demand still has active triggers instead of repeatedly toggling Home. Recheck automatic connection behavior after changing servers, configurations, or networks. Device sleep, network changes, and system permissions can affect what you observe. Verify the actual connection state and request results rather than relying only on the toggle’s position.

05 / Data

Data: understand traffic records and statistics

Use statistics to investigate activity and compare changes; they are not billing records from your service provider.

What it is and where to find it: Data shows traffic activity and statistics recorded by the app. Before comparing upload and download figures, check the displayed time range, grouping, and what each count represents. Different views answer different questions: totals show cumulative activity, while individual entries can help identify a particular request or destination.

How to use it: When troubleshooting, note the current statistics, perform an easy-to-repeat action such as opening the same page, then return to Data and check what changed. If the interface offers a reset or clear option, confirm what it will clear and save any records you need first. For comparisons, keep the network, server, and observation period as consistent as possible. Background app activity also affects totals, so do not attribute every increase to the page you just opened.

Keep in mind: Data figures reflect what the client records; they should not be treated as your provider’s remaining allowance or bill. Connection state, the statistics period, protocol overhead, and the provider’s measurement method can all lead to differences. Before sharing diagnostic material, check for domains, addresses, or other personal activity information, and include only what is relevant to the issue.

06 / Settings

Settings: DNS, testing, widgets, and sync

Adjust common settings by purpose instead of attributing every issue to a single toggle.

DNS: check the resolution source and active configuration

What it is and where to find it: DNS resolves domain names to addresses and is one step in loading a website. Look for DNS options in Settings, then check whether Config also contains resolution settings. If a page will not load but a server test gets a response, that only confirms the test destination responded under those test conditions—it does not prove DNS is working correctly.

How to set it up and what to check: Note the current values, verify that the DNS server is reachable and that resolution options in the configuration match your expectations, then change one item at a time. Retest the same domain after each change, keeping caches and existing connections in mind. Avoid stacking multiple DNS configurations without a clear reason. If only one domain is affected, also check its rule match and address selection. For a detailed troubleshooting sequence, see DNS settings and website loading troubleshooting.

Test Method: understand Connectivity Test results

What it is and where to find it: Test Method in Settings determines how Connectivity Test runs. Different methods check different parts of the connection, and their response times cannot be compared without considering the test conditions. A test result is not a download-speed measurement and does not indicate how every website will perform.

How to set it up and what to check: Read the description of the current option, then use one method to test the same set of servers. If you change the method or test destination, treat it as a new comparison rather than ranking the old and new figures together. Retest a single timeout. Even if a test responds, open the actual destination to confirm that DNS resolution, connection setup, and content transfer all work.

Today Widget: quick actions and status checks

What it is and where to find it: Today Widget provides a system widget for quick access or status display. Look for its options in Settings. Where the widget can be added and which actions are available depend on the device’s system and the app’s current capabilities; check what is actually shown on your device.

How to set it up and what to check: First confirm that you can start and stop a connection in the app. Then add an available widget using the system’s widget editing controls. After using a shortcut, return to Home to check the connection and selected server. A status shown once in the widget does not prove the connection remains active. If a shortcut behaves unexpectedly, also check whether On Demand triggered the connection again.

iCloud: sync scope and local recovery

What it is and where to find it: iCloud options sync data supported by the app; review them in Settings. This is separate from restoring an App Store purchase: purchase restoration confirms your entitlement to the app, while data sync moves some configuration between devices.

How to set it up and what to check: First confirm that you are signed in to your own iCloud account on the device, that the relevant permissions are enabled, and that storage is available. Then review which items the app currently supports for syncing. Do not assume that every server, rule, history item, or sensitive field will transfer. After the first sync to another device, check the configuration, servers, and current mode item by item before enabling the connection. Keep a recoverable record before important changes. If the content does not match, check sync status first instead of repeatedly overwriting data on multiple devices.

07 / Diagnostics

Diagnostics: gather evidence for the failing step

Each diagnostic should answer a specific question; there is no need to run every tool in sequence.

What it is and where to find it: Diagnostics provides tools for checking network and connection behavior. Look for it in Settings. The available tools and what they can observe depend on the current app interface. Results describe a particular moment and set of test conditions; they do not guarantee long-term server or network availability.

How to use it: Start by describing the scope of the problem: do all destinations fail or just one domain? Does a subscription update fail, or does access fail after connecting? Does manual connection work while automatic connection does not? Then check the underlying network, server fields, Connectivity Test, Global Routing, rule matches, and DNS in order. Change one condition at a time, retest, and note whether the result changes. This narrows the issue to connection details, name resolution, policy, or trigger conditions instead of changing several things at once and losing a useful comparison.

Keep in mind: Diagnostic records may contain server addresses, requested domains, or authentication details. Before sending them to your own provider or using them for further troubleshooting, hide subscription links, authentication fields, and unrelated activity. Keep the protocol, symptoms, and steps to reproduce the issue. Instead of saying only “it doesn’t work,” describe the network environment, current mode, which test failed, and what changed after you adjusted a setting.

08 / Review

Setup checklist

Verify “imported,” “connected,” and “working access” as three separate outcomes.

  1. Server details: The expected entry appears on Home, its protocol and fields match the information you already have, and the selected destination is valid.
  2. Traffic mode: Global Routing is set for your intended use. If using Config, you have checked the active configuration and named policies.
  3. Real-world access: In addition to Connectivity Test, you have tested DNS resolution and content transfer with an actual destination; if using rule-based routing, you have also checked how different rules behave.
  4. Automatic triggers: On Demand contains only the conditions you need, and its behavior after a network change has been tested.
  5. Recovery and privacy: Important settings have recoverable records, sync results have been checked, and shared materials contain no subscription credentials or unrelated activity.

Shadowrocket is a paid client for Apple platforms, available exclusively through the App Store. Check the App Store listing for system requirements, device compatibility, and purchase availability. Before buying or moving to a new device, read how to verify and restore an App Store purchase. For the complete steps from importing details to making your first connection, see the Shadowrocket setup guide. For a specific issue, browse the relevant category in Troubleshooting.