Features and Interface Settings

Shadowrocket Features and Settings Guide

Choose a Global Routing mode first, then check your connection details and rules. For conditional connections, usage tracking, or troubleshooting, review On Demand, Data, and Settings. Each section explains what an option does, where to find it, how to set it up, and what to watch for.

This guide uses the iPhone and iPad app interface as its reference. Menu names and available options may vary; follow what appears in your app. For system requirements, refer to the App Store listing.

01 Choose a routing mode 02 Check your existing configuration 03 Set up on-demand connections and diagnostics

01 / Connection Routing

Global Routing: Choose One of Three Modes

Global Routing determines how traffic is handled after a connection is established: through the selected server or by the rules in your configuration. This is separate from choosing a server. First, confirm that your existing server details have been imported correctly. Then open Home, find Global Routing, and choose Config, Proxy, or Direct for your current needs. After switching modes, test the same destination to avoid mistaking a routing change for a change in server status.

Interface OptionHow Traffic Is HandledWhen to Use ItWhat to Check
ConfigMatches traffic against the rules in the selected configuration file, then applies the corresponding policy.When different domains or addresses need different handling.Confirm the correct configuration file is selected, and check the rule order and final rule.
ProxyRoutes applicable traffic through the selected server.When you want to temporarily rule out routing rules or test the server connection.First confirm the selected server is working. This mode does not replace checking the server details.
DirectConnects applicable traffic directly, without forwarding it according to proxy policies.When checking whether your local network is working or temporarily not using a server.Check the connection toggle and the active routing mode separately.

Config is the mode for using rules in your configuration file; it does not mean all traffic goes through a server. A rule can route traffic to PROXY, DIRECT, or REJECT. Proxy is useful for comparison tests, but switch back to Config when you want rules to handle traffic. Direct can help distinguish a local network issue from a server issue; it neither removes a server nor changes your existing configuration. Before changing Global Routing, note the current mode so you can restore it after testing.

02 / Matching and Policies

Rules: Check Both the Match and the Policy

Rules determine how traffic is routed according to your configuration file when Global Routing is set to Config. Open Config, confirm which configuration file is active, then review its rules and policies. Keep a copy of the original configuration before making changes, and verify the result by testing actual access afterward. Rules are not a server list: they specify how requests are handled, while server details specify where to connect. Check them separately.

Match by Domain

DOMAIN matches an exact domain, DOMAIN-SUFFIX matches a domain suffix, and DOMAIN-KEYWORD matches specified text found in a domain. For a single, specific domain, start with an exact match. To include subdomains, check a suffix rule. Keyword matches can be broader, so make sure they won’t catch unrelated addresses.

Match by Address or Location

IP-CIDR and IP-CIDR6 match address ranges; GEOIP matches based on the geographic location associated with an IP address. Some requests are handled by domain, while others involve address resolution, so domain rules alone may not explain the final result. Check the prefix length when entering an address range. Example addresses are not actual server addresses.

Policies and Fallback

PROXY, DIRECT, and REJECT route requests through the selected policy, connect directly, and reject requests, respectively. FINAL handles traffic that hasn’t matched an earlier rule. Read the rules from top to bottom, paying particular attention to where FINAL points. A broad rule or fallback policy can affect the connection results you see afterward.

For example, DOMAIN-SUFFIX,example.com,PROXY routes the example domain suffix through PROXY; FINAL,DIRECT sends requests that haven’t matched an earlier rule through DIRECT. example.com is a syntax example, not working server or subscription information. If the result differs from what you expect, first confirm Global Routing is still set to Config, then check the active configuration file, rule scope, and policy target. Avoid changing several settings at once.

Configuration Details and Connection Conditions

Set Up Connection Details and Conditions After Choosing a Route

Importing your own details, selecting a server, and setting up On Demand are three separate steps. A successful import only means the details were added to the app; a connection also depends on the fields, network, and routing settings.

03 / Existing Connection Details

Subscribe and Add Server: Manage Your Own Connection Details

Shadowrocket can manage subscriptions and server details you already have. Find the relevant option in Config. If you have your own subscription link, tap Subscribe and paste the complete link. If you have the details for a single server, tap Add Server and fill in the fields for its Type, such as Address, Port, and Password. Available fields vary by Type; enter the values exactly as shown in your own source details. This site does not provide, sell, or recommend connection details.

After importing a subscription, check that the expected entries appear in the list, then select the server you want to use. Updating a subscription reloads the content at its link. If entries change after an update, check the status of your subscription details and make sure the link is complete. An entry that appeared in the list before is not necessarily still valid. If you have multiple subscriptions, use their remarks to identify each source and avoid selecting entries with the same name. Before deleting or editing anything, confirm which set of details you’re working with.

When entering details manually, make sure Type matches your source, Address has no extra spaces, Port is correct, and credentials such as Password haven’t been truncated during copying. Remark is just a label; it won’t fix other fields. If the app offers Scan QR Code or clipboard import, check each parsed field after importing. If a test fails, compare the original details with the fields in the app before looking into network or routing issues.

Latency tests can help compare response times on your current network, but a single result doesn’t prove a connection will stay available. Before testing, make sure you’re online and check which server entry is being tested. When organizing or moving your details, use the export and backup options actually available in the app. Keep subscription links and credentials secure. For more on server fields and organization, see the Server Management Guide.

04 / Conditional Connections

On Demand: Connect Based on Network Conditions

On Demand lets you trigger connections based on conditions you set. It can be useful if you want the current configuration to activate automatically in specific network situations. Find On Demand in the app, then confirm your server and Global Routing mode are set. Review the available network conditions and start with one you can clearly identify. After saving, check the connection status on networks that do and don’t meet the condition. Option names and available conditions depend on the current app interface.

On Demand controls when a connection is attempted; it doesn’t replace subscription updates, server details, or rules in your configuration file. Conditions that are too broad may trigger connections when they’re not needed, while overly narrow conditions may not trigger during expected network changes. To troubleshoot, isolate the variables: note the current conditions, selected server, and Global Routing mode, then test a manual connection on its own. Finally, restore the settings and check automatic activation. Avoid changing network conditions, DNS, and rules at the same time, or it will be harder to identify the cause.

When checking a connection on iPhone or iPad, distinguish the VPN status shown by the system from the routing mode selected in the app. The system status indicates whether the connection configuration is enabled; it doesn’t tell you which rule matched a particular request. If your usage changes, revisit On Demand and check whether the original conditions still suit your current network. Don’t judge whether a setting remains appropriate based on a single connection result.

05 / Usage Tracking

Data: View Traffic Recorded by the App

Data shows traffic recorded by Shadowrocket for the applicable statistics range. To review usage, open Data and check the time range, categories, and units shown. Then compare them with the period you want to examine. Data is useful for tracking changes in usage, but a total alone can’t tell you whether a specific rule matched correctly or a server stayed connected continuously.

Before comparing two sets of figures, confirm they cover the same statistics range and check for resets, network changes, or changes in connection status. To find out how a particular request was routed, review Global Routing and Config, and use any connection or diagnostic information available in the app. For longer-term usage totals, first check how Data defines its statistics range. Different screens may report different scopes, so subtracting their figures directly may be misleading.

Data is not the same as usage records on the service side. It shows usage recorded by that screen, and other statistics may be calculated differently. If the numbers look unexpected, note the time, current routing mode, and statistics range, then check for earlier connections or different network conditions. This makes it easier to find the cause than resetting the statistics and immediately testing again.

06 / Common Options

Settings: Check One Option at a Time

Settings brings together options related to connections and app preferences. Note the current values first, change only one option at a time, and retest on the same network with the same server. If an option isn’t shown in your interface, follow the menus actually available in the app. Don’t assume a setting has taken effect based on where it appears on another device.

DNS

What it is: Options related to domain name resolution. Where to find it: Look for DNS in Settings. How to configure it: Note the current value, adjust it to match your configuration, then test the same domain. Keep in mind: A domain that won’t load isn’t necessarily a DNS issue. Also check the server connection and rule matching. Record your test conditions and restore the original value if needed.

Test Method

What it is: The method used to test servers. Where to find it: Look for Test Method in Settings and compare it with the test results shown in the server list. How to configure it: Choose a method, then compare existing server entries on the same network. Keep in mind: Different methods may test different targets in different ways. Compare results only under the same test conditions.

Today Widget

What it is: Shortcuts for viewing or controlling the app from a system widget. Where to find it: Check the Today Widget options in Settings, then see which widget locations are available on your device. How to configure it: Follow the prompts in the app and system interface. Keep in mind: Widget content and controls depend on your device’s current interface. They don’t replace checking routing and server details in the app.

iCloud Sync

What it is: Options for managing configuration details that can be synced, if available in the app. Where to find it: Look for iCloud options in Settings. How to configure it: Check which Apple Account your device is using and review the sync status shown in the app, then follow the on-screen instructions. Keep in mind: Sync status is not connection status. After switching devices, check that the configuration, selected server, and sensitive fields are still as expected.

Diagnostics

What it is: Tools for diagnosing connection issues. Where to find it: Look for Diagnostics in Settings. To test a connection, you can also check Connectivity Test in the app. How to use it: Keep the network, server, and Global Routing mode unchanged, then run the relevant test and record the results. Keep in mind: Diagnostics can help narrow down a problem, but a single test doesn’t tell you what will happen across all sites or at all times.

To troubleshoot DNS, you can first use Direct to check your current network, then return to your original Global Routing mode and test the same destination. When checking Test Method, avoid changing networks while comparing results. For iCloud sync, distinguish between whether details appear in the list and whether they can connect. These settings are related, but test one thing at a time.

07 / Final Checks

Review Your Setup in App Order

  1. Check your connection details. Confirm that your own subscription or server entry is in Config, manually entered fields match the original details, and the server you want to use is selected.
  2. Check your routing. Open Global Routing in Home. Choose Config for rule-based routing, Proxy to rule out the effect of rules during a comparison, or Direct to test a direct connection.
  3. Check your rules. In Config mode, confirm the active configuration file, match types, policies, and FINAL. Don’t focus on a single rule while overlooking the fallback.
  4. Check connection conditions. Before enabling On Demand, test a manual connection, then check what happens both when the conditions are met and when they aren’t.
  5. Check the results. Check the statistics range in Data. To investigate an issue, keep the network and server unchanged, run Diagnostics or Connectivity Test, and note what changed before and after each adjustment.

If you haven’t finished your first setup, start with the Quick Start Guide and follow the steps in order: import your details, choose a routing mode, connect, and verify. If you have multiple sets of details or need to manage updates, sorting, or backups, see the Server Management Guide. Use the options shown in your own app as your reference. Example domains and rules in this guide illustrate field meanings only.

Verify the App Store Listing

Learn how to verify the developer, official icon, and app ID, and find App Store instructions for iPhone and iPad.

See how to verify the official listing →