SHADOWROCKET / SETTINGS REFERENCE

Shadowrocket Settings Guide

Choose how requests should be routed, then check your rules, connection conditions, and diagnostic results. This guide explains where to find each setting, how to use it, and which distinctions are easy to miss. It is for readers already using Shadowrocket on an iPhone or iPad with their own subscription or server details.

Go to Home / Settings Choose Global Routing first Then check Config and your servers

01 / ROUTING

Global Routing:Config、Proxy、Direct

Global Routing determines how requests are handled once the connection is on. It does not configure server addresses. Before changing modes, make sure Home has a usable server and Config has the rules you expect.

OptionHow It WorksWhen to Use ItWhat to Check
ConfigMatches requests against the rules in the current configuration file and applies the corresponding policy.When different domains or addresses need different routes.Check the selected configuration, rule order, and final policy.
ProxyRoutes traffic primarily through the selected proxy server instead of applying Config rules request by request.When you want to check whether the selected server can handle a connection.Make sure a server is selected. A successful test does not mean your rules are working.
DirectRoutes requests over a direct connection.When checking whether a problem is related to the proxy route.Switch back to Config and verify which rule matches the target request.

Where to find it and how to set it: Go to Home, find Global Routing, and select Config, Proxy, or Direct. Then turn on the connection and visit the target you want to check. For everyday rule-based routing, Config is usually the right choice. During troubleshooting, briefly switch to Proxy or Direct for comparison. Restore your original mode afterward so a temporary test setting does not remain in place.

Keep in mind: Global Routing selects a route; it does not confirm that a server is available or replace a check of your Config rules. If Config behaves differently from Proxy, check whether the target matches DIRECT or REJECT, then verify whether it matches the expected PROXY policy. The connection toggle on Home alone does not show which route a particular request took.

02 / RULES

Rules in Config

Rules specify which requests to match and which policy to apply. With Config selected in Global Routing, the rules in the current configuration file are the main place to investigate routing behavior.

Match Conditions

DOMAIN matches a specific domain, DOMAIN-SUFFIX matches a domain suffix, and DOMAIN-KEYWORD matches a keyword in the domain. IP-CIDR and IP-CIDR6 match address ranges; GEOIP matches based on an IP address’s geographic location. USER-AGENT matches request identifiers. Before choosing a condition, determine whether the request uses a domain or an IP address.

Policies

PROXY sends a request through a proxy, DIRECT connects directly, and REJECT blocks a matching request. Rules are generally checked in order, so a broad condition placed too early may match before a more specific one. The final FINAL rule determines what happens when nothing above it matches.

Where to find it and how to set it: Go to Config from Home, confirm which configuration file is active, and review its rules. If you need to edit your own configuration, back up the original and change one small group of rules at a time. After saving, keep Global Routing set to Config and retest the target domain. Enter rule keywords and policy names exactly as written in English.

DOMAIN,example.com,PROXY
DOMAIN-SUFFIX,example.org,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY

The addresses above are examples of rule syntax only. DOMAIN and DOMAIN-SUFFIX match different things, and an IP-CIDR range is not the same as a domain. If a rule does not seem to work, check the active configuration file, Global Routing mode, rule order, and the address actually used by the request. For the full walkthrough, see the Getting Started Guide.

03 / SERVER MANAGEMENT

Subscribe and Server Management

Server entries contain the settings needed to connect. Subscribe manages subscriptions you already have. These options are for entering and maintaining connection details; they do not determine which of the three Global Routing modes is active.

What it is and where to find it: Select an existing entry in the server list on Home. To enter details manually, choose Add Server and select the protocol that matches your existing server information, then enter its address, port, and authentication fields. Protocol names such as Shadowsocks, VMess, VLESS, Trojan, HTTP, SOCKS5, WireGuard, and Hysteria2 must match the original details. Changing the protocol name alone does not make fields for another protocol compatible.

How to set it up: If you already have a subscription link, go to Subscribe, add the full link, save it, and update it. Then return to the server list and check for the expected entries. You can also use Scan QR Code to import information you already have. Before using Import from Cloud JSON, make sure the file contains your own configuration details and check the imported fields. Adding an entry does not guarantee the server can connect; select it and test it separately.

Keep in mind: A subscription update may change the entries in the list. Before manually editing fields generated by a subscription, check whether a later update will overwrite your changes. If you manage multiple subscriptions, keep track of what each one is for and update and review them individually. Save any details you still need before deleting an entry. A one-time purchase of the client is not a service plan: buying Shadowrocket grants the right to use the app, while the availability of your existing servers or subscriptions must be checked separately. For details on fields, updates, and organization, see the Server Management Guide.

04 / CONNECTION CONDITIONS

On Demand

On Demand uses your network conditions to determine when to try to connect. It controls when a connection starts; it does not replace server selection or the request-routing rules in Config.

Where to find it and how to set it: Look for On Demand in Settings. First decide which network conditions should trigger an automatic connection, then configure the options available in the app. After enabling it, check the connection status on networks that do and do not meet those conditions. If you prefer to connect manually, keep doing so; there is no need to create rules for every network condition.

Keep in mind: Network changes, waking the device, and changes in system connection status may trigger a new check. If the connection turns back on shortly after you disable it, review your On Demand conditions, then check the connection status on Home. Do not change server settings right away. When troubleshooting a request’s route, note the network conditions, Global Routing mode, and selected server. On Demand controls when to connect, not which rule a request matches.

05 / TRAFFIC

Data Usage

Data shows traffic usage recorded by the client. It can help you check whether data was transferred while connected, but it is not a page for checking a provider’s balance or usage charges.

Where to find it and how to use it: Open Data and check which time range the figures cover. Review them alongside the connection status on Home and the time of your test. To compare before and after a settings change, note the time and readings at the start, perform the same test, and check the figures again. If the app offers a reset option, record any data you want to keep first.

Keep in mind: Traffic figures show only what the client recorded for the selected reporting period. On their own, they cannot prove that a domain matched PROXY, DIRECT, or REJECT. Background requests, repeated tests, and network changes can also affect the figures. To investigate a specific route, review Data alongside Global Routing, your configuration rules, and Diagnostics rather than inferring server status from the total alone.

06 / NAME RESOLUTION

DNS in Settings

DNS resolves domain names to IP addresses. Since the result can affect rules that match IP addresses, DNS issues can look similar to rule issues. Check them separately.

Where to find it and how to set it: Look for DNS options in Settings. If the active Config also defines DNS parameters, review those first before changing the settings. If you want to use a custom DNS server or DNS over HTTPS, use details for a resolver you already have and can verify. Enter each setting, then test the same domain again. Change one variable at a time so you can tell whether the result came from DNS or a routing rule.

Keep in mind: A domain that does not resolve, one that resolves to an unexpected address, and a server that fails to connect point to different issues. If a site will not load, first check whether the domain resolves, then review the relevant rules and server. If things become less stable after changing DNS, restore the last working settings before continuing. Avoid changing Global Routing, DNS, and the server at the same time so you can compare results. For more on the trade-offs, see the DNS Settings Guide.

07 / TESTING

Test Method and Connectivity Test

Test Method determines how the client checks a server. Connectivity Test is a diagnostic tool. Test results can help narrow down an issue, but they do not replace visiting the content you want to access.

Where to find it and how to use it: Check Test Method in Settings. Keep the current method and test the same server, recording the result. To compare methods, switch to another one and test that server again. Before using Connectivity Test, make sure the network itself is working and the correct server is selected on Home, then review the result. If the server list offers latency tests, use them to help sort entries, but still verify each connection in practice.

Keep in mind: Different test methods may check different targets or stages of a connection. A passing test does not guarantee that every domain or protocol request will work, and a failed test does not necessarily mean the subscription details are wrong. Keep the network and server unchanged while troubleshooting. Compare test methods first, then compare routes using Config, Proxy, and Direct in Global Routing. Recording which method and server entry you tested is more useful than noting a result number alone.

08 / UTILITIES

Today Widget, iCloud, and Diagnostics

These options cover quick access, data syncing, and troubleshooting. They help with day-to-day management but do not change what rule keywords mean.

Today Widget

What it is and where to find it: Check the Today Widget options in Settings to view or control connection status from the system’s widget area. How to set it up: Check the relevant options in the client, then see whether the widget can be added from your device’s widget management screen. Keep in mind: Available controls and how they appear depend on the device. Compare the widget’s status with Home.

iCloud Sync

What it is and where to find it: The iCloud options in Settings manage syncing for supported data. How to set it up: Check the account signed in on the device and the system’s iCloud status, then review the sync options in the client. Keep in mind: Keep a copy of important configurations you own before syncing. On another device, check each item that arrives. Sync status does not prove that a server is available.

What Diagnostics is, where to find it, and how to use it: Look for Diagnostics in Settings. When a connection fails, note the steps to reproduce the issue before reviewing the available diagnostic information. Check in this order: the device’s current network, the selected server, Global Routing, Config rules, then DNS. This helps keep issues at different layers separate. Diagnostic records may include domains, addresses, or connection details. Review them for your own sensitive information before sharing them for help.

Suggested setup order: When setting up for the first time, add your own server details and verify the connection before choosing a Global Routing mode. If you need rule-based routing, check the rules in Config. Then consider supporting options such as On Demand, DNS, and Test Method. After making a change, repeat the same test and note what changed. If you still cannot identify the issue, work through the Troubleshooting guide, changing one option at a time.

Verify the Official App Store Listing

Shadowrocket is available only through the App Store. Before buying, verify the developer, Shadow Launch Technology Limited, and app ID 932747118. Check the App Store listing for the price, compatible devices, and system requirements.

View the App Store Listing