Setup Paths & Configuration Logic

Shadowrocket Common Settings and Mode Guide

This page follows the practical setup order for Global Routing, rules, Subscribe, On Demand, Data, and Settings. Each section explains what it is, where to find it, how to configure it, and what to watch for. It is intended for users who have already installed Shadowrocket from the App Store and are organizing existing configuration information.

Native Apple client Genuine App Store purchase One-time purchase Rules match in order

All import steps on this page assume that you already have your own subscription or server information. Purchasing Shadowrocket provides access to the client; a one-time client purchase is not a proxy service plan. App availability, system requirements, and compatible devices are determined by the App Store product page.

01 / GLOBAL ROUTING

Three Global Routing Modes

Global Routing determines whether requests use rule-based handling, go through the selected Proxy, or connect directly after a connection is established. It defines the overall handling mode; it is not an individual rule and does not select a server for you. Before everyday use, confirm that the selected server works, then choose the mode that matches your purpose.

Mode Interface Term How It Works Best For Main Considerations
Config Config Rules in the current configuration are matched from top to bottom, then handled by the corresponding policy. When domains, addresses, or regions need separate PROXY, DIRECT, or REJECT handling. The result depends on rule order, rule content, policy names, and whether the current configuration is active.
Proxy Proxy All requests are sent to the currently selected Proxy, making it easier to test without rule differences. Temporarily checking whether a problem is caused by rules, or routing all requests the same way for a short time. It bypasses the intent of detailed rules and is not suitable as the final solution for every configuration issue.
Direct Direct Requests use Direct and do not pass through the selected Proxy. Checking whether the local network works, or temporarily comparing connection behavior. If Direct works but Config does not, continue checking rules, DNS, and server status.

What It Is and Where to Find It

In Home, open Global Routing to see Config, Proxy, and Direct. Config is rule-driven; Proxy sends everything through the current Proxy; Direct connects directly. Switching modes changes only the current handling mode. It does not automatically edit the Config file or select another server for you.

If you plan to use rules long term, confirm the configuration in Config first, then return to Home and select Config. If a website fails under Config, briefly switch to Proxy and Direct for comparison. The differences between the three results help identify whether the issue is in the rules, the server, or the local network.

02 / RULES

Rule Types, Match Order, and Policies

The core principle of rule-based routing is “top to bottom; the first match stops processing.” The left side describes the match condition, and the final field specifies how to handle it. Rules are usually found in the Rule section of the active Config. Check the keyword, match value, policy name, and position together when troubleshooting.

Common Rule Keywords

DOMAIN matches a full domain; DOMAIN-SUFFIX matches a domain suffix and its subdomains; DOMAIN-KEYWORD matches keywords in a domain. IP-CIDR and IP-CIDR6 handle address ranges, GEOIP uses address geolocation, and USER-AGENT matches the identifier in a request. Each type solves a different problem and should not be swapped merely because the names look similar.

Domain rules usually belong before broader GEOIP or FINAL rules. Specific conditions should come before broad ones; otherwise, an earlier broad rule may match first and prevent later specific rules from running. After editing, save the file and confirm that the active Config is the one you just changed.

How to Configure It and What to Watch For

PROXY, DIRECT, and REJECT are common policies. PROXY sends the request through the specified policy or current proxy path, DIRECT connects directly, and REJECT refuses the request. If a rule ends with a custom policy group name, that name must match the definition in the configuration. Differences in spelling, capitalization, or naming can produce unexpected results.

FINAL is the fallback rule and should be placed at the end of the rule list. It handles requests that did not match any earlier rule. When troubleshooting, first identify which rule matched the target request, then check that rule’s policy instead of looking only at FINAL. After adding a rule, test with a small number of clearly defined domains so that each change remains traceable.

03 / SUBSCRIBE

Subscribe and Server Management

Subscribe reads existing subscription information and updates the server list. Add Server, Scan QR Code, and Import from Cloud JSON add existing information from different sources. Importing only writes data to the client; actual usability still depends on the information itself, network conditions, and server-side configuration.

Where to Add Information

From the server list in Home, use Add Server to enter details manually, or choose Subscribe, Scan QR Code, or Import from Cloud JSON based on the information you already have. For manual entry, the protocol, server address, port, authentication fields, and additional parameters must match the original information. Common protocol names include Shadowsocks, VMess, VLESS, Trojan, HTTP, SOCKS5, WireGuard, and Hysteria2.

For Subscribe, first confirm that the link is complete, then save it and run an update. After the update, check that the list changed as expected and select an entry to run Connectivity Test. The result reflects connectivity at that moment only and does not by itself represent long-term performance.

Update and Organize Server Entries

A subscription update may change server names, ordering, or existing entries. Before updating, note the currently selected item; afterward, confirm the selection in Home again. If the list does not change, check in order whether the link is complete, whether the current network can reach it, whether the subscription is still valid, and whether the client shows a clear error.

When multiple sources are present, use recognizable groups and notes to avoid selecting the wrong duplicate entry. Before deleting an old entry, confirm that no policy group or Config still references it. Server information often contains sensitive fields; remove addresses, authentication details, and complete subscription links before sharing Diagnostics, screenshots, or configuration fragments.

04 / ON DEMAND

On Demand: Connect Based on Network Conditions

On Demand decides whether to establish a connection based on configured network conditions. It is best used when the trigger and exception conditions are clearly understood. Before enabling it, complete a manual connection test and confirm that the server, Global Routing, rules, and DNS work normally during a regular connection.

Setup Location and Enablement Order

In Settings, open On Demand and add rules using the network conditions provided by the interface. Available conditions depend on what the current app interface shows. Start with one simple, easy-to-test condition: save it, switch to the corresponding network once, and observe the connection state before adding more conditions. This separates an unmatched trigger from a problem that occurs after the connection is established.

On Demand determines “when to try connecting,” while Global Routing determines “how to handle requests after connecting.” They serve different purposes. Changing Global Routing does not automatically change On Demand conditions; conversely, a successful On Demand trigger does not prove that the current rules, DNS, or server are working.

05 / DATA

How to Read Data Statistics

Data shows traffic information recorded by Shadowrocket. It helps indicate which connections transferred data, whether the current session is still active, and how values change across reporting periods. It is a client-side observation tool, not a service invoice or carrier billing record.

Statistics Scope and Reading Method

Open Data in the app and first confirm the displayed scope and time range, then compare uploads and downloads. If traffic does not change after establishing a connection, also check whether the target app is making requests, whether the system connection is still active, and whether the rules are sending requests to the expected policy. An increase in traffic alone does not prove that the target content loaded completely.

When investigating a specific issue, record the start time, reproduce the problem once, and compare Data with Diagnostics. This is easier to interpret than watching a cumulative number. Before clearing or resetting anything, record the information you need to keep; the exact entry and measurement method depend on the current interface text.

06 / SETTINGS

Common Settings Explained

Settings contains options such as DNS, Test Method, Today Widget, iCloud, and Diagnostics. These affect resolution, testing, system access points, synchronization, and troubleshooting. Record the original state before changing anything, modify one category at a time, and retest under the same network conditions.

01

DNS

What it is: DNS converts domain names into network addresses. The result affects subsequent domain rules, address rules, and connection targets. DNS issues may appear as inaccessible domains, timeouts for some requests, or different results for the same address on different networks.

Where and how to configure it: Open the DNS-related options from Settings, and also check whether the General section of the current Config contains DNS settings. Prefer one clearly defined, explainable source rather than layering multiple conflicting resolution settings. After changing it, test both domain access and direct-address connectivity.

What to watch for: If Direct works but Config fails, or the server test succeeds while domain access fails, focus on the relationship between DNS and the rules. If results differ between Wi-Fi and cellular data, record the resolution behavior on each network before drawing conclusions.

02

Test Method

What it is: Test Method determines how Connectivity Test checks connectivity. A test value reflects the response from a specific target using a specific method; it does not represent the complete experience of loading an app, transferring video, or maintaining a long-lived connection.

Where and how to configure it: Find Test Method in Settings and select one of the methods currently provided by the interface. When comparing multiple servers, use the same Test Method, network, and approximately the same time to avoid mistaking changed test conditions for server differences.

What to watch for: Do not draw a conclusion from a single timeout. Repeat the test and combine it with actual access results, Data, and Diagnostics. If all servers fail at the same time, check the local network, DNS, and subscription information before changing individual server parameters.

03

Today Widget

What it is: Today Widget is the system widget entry for viewing Shadowrocket shortcuts or status information in areas supported by the system. Available content depends on what the system and app interface display.

Where and how to configure it: First check the Today Widget options in Settings, then add Shadowrocket from the system’s widget editing area. After adding it, confirm that the widget can read the current status and that tapping it opens the expected page.

What to watch for: Widget updates may follow the system’s refresh schedule. Do not assume a connection has failed merely because the widget has not updated for a short time. For real-time status, return to Shadowrocket Home, Data, or the system connection status.

04

iCloud

What it is: iCloud features save or sync app data between eligible Apple devices. They can help with migration and recovery, but the result depends on the device sign-in state, iCloud availability, and the synchronization scope currently provided by the app.

Where and how to configure it: Check the iCloud options in Settings and confirm that the device uses the intended Apple account. Before enabling synchronization, organize duplicate servers and old configurations. After another device finishes syncing, verify the Config, server names, and current selection instead of assuming both sides are identical.

What to watch for: When synchronization conflicts occur, keep the data with the clear source and newer timestamp first, then compare entries one by one. Configurations may contain server addresses and authentication fields; handle them as sensitive data and do not publish complete synchronized content.

05

Diagnostics

What it is: Diagnostics collects information about connections, resolution, and request handling. Its purpose is to help identify which layer failed, not to automatically repair the configuration.

Where and how to configure it: Open Diagnostics from Settings. Before reproducing a problem, note the time, network type, Global Routing mode, and current server. Then reproduce the target issue once and review errors, DNS results, and rule-handling information from the surrounding period.

What to watch for: Before sharing diagnostic content, remove complete subscription URLs, server addresses, authentication fields, device identifiers, and unrelated access records. Make as few changes as possible during diagnosis; reproduce the issue again after changing one item so the relationship between the setting and the result remains clear.

07 / WORKFLOW

Layered Setup Makes Troubleshooting Easier Than Repeated Switching

The recommended order is: confirm the local network, check the server information, verify Global Routing, then check rules and DNS, and finally enable helper features such as On Demand, Today Widget, and iCloud. Perform one clear test after completing each layer.

  1. 01

    Prepare Existing Information

    Confirm that the Subscribe link or server fields are complete and that the protocol matches the original information.

  2. 02

    Verify the Server

    Select the target server and run Connectivity Test with a consistent Test Method.

  3. 03

    Choose the Handling Mode

    Test with Config first, then use Proxy and Direct to distinguish rule issues from local network issues.

  4. 04

    Check Rules and DNS

    Find the first matching rule and confirm the policy, FINAL position, and source of the DNS settings.

  5. 05

    Enable Automatic Features

    Configure On Demand only after a manual connection is stable, starting verification with one trigger condition.

  6. 06

    Record and Reproduce

    Use Data and Diagnostics to record the time, network, mode, and actual result.