In Shadowrocket, screen tabs, routing modes, and the connection toggle serve different purposes. This guide is for users who already have the app and plan to use their own subscription. Start with Home, Config, Data, and Settings, then distinguish Proxy from Direct and check connection status in order. You’ll learn where to find each control instead of guessing from its label.
Tabs and routing modes
Home, Config, Data, and Settings are main screens. Proxy and Direct are routing options, not tabs alongside them. Config is especially context-dependent: it can mean the screen for managing configuration files or a Global Routing mode that applies the rules in a configuration. When following a guide, check where the term appears.
| Label | Type | What it does |
|---|---|---|
| Home | Screen | View servers and subscriptions, select a server, control the connection toggle, and choose Global Routing. |
| Config | Screen or mode | The screen manages configuration files; the mode applies the rules in the active configuration to connections. |
| Proxy | Routing mode or policy | Routes applicable connections through a proxy policy. |
| Direct | Routing mode or policy | Connects directly to the destination without forwarding traffic through a proxy server. |
| Data | Screen | View traffic and connection data recorded by the app. |
| Settings | Screen | Adjust app behavior, including On Demand settings. |
On iPhone and iPad, screen size, orientation, and app interface changes can affect the layout. The location of a control depends on the current interface. Identify it by its English label first, then its position; a control moved to the sidebar on a larger screen has not disappeared.
Home: Servers, subscriptions, and the connection toggle
Home is where most routine actions begin. A server entry stores connection details such as the protocol, address, port, and authentication. A subscription retrieves and updates a group of server entries; get it from your service provider. Buying the app does not automatically provide a working server or include a connection plan.
Selecting a server on Home specifies which server to use for subsequent proxy connections. Turn on the connection toggle to start connection handling. The first time you enable it, the system may ask permission to add a VPN configuration; review the prompt before confirming. A VPN status indicator means the related connection mechanism is enabled, but does not by itself prove that a particular website is reachable.
-
Get your subscription ready
Get your subscription from your service provider. Make sure you have the subscription link, not the address of an account management page. Don’t post authentication details contained in the link in a public forum.
-
Add a subscription
Go to Home → tap “+” in the upper-right corner → Type → Subscribe. Paste your subscription link into URL, review it, and save.
-
Check the server entries
Return to Home and check that the subscription has expanded into server entries, then select the server you want to use. To fetch the latest content, pull down on Home to refresh the subscription and check the result.
-
Check the routing mode
Go to Home → Global Routing and check the current selection. To use configuration rules, first verify the active configuration in Config, then select Config mode.
-
Turn on the connection
Return to Home and turn on the connection toggle. Approve the system prompt if needed, then test access to an actual destination. If it fails, check the server, mode, and rules separately instead of repeatedly toggling the connection.
Updating a subscription and connecting through a proxy are separate tasks. A successful update means the app retrieved and parsed the subscription; it does not mean every server in it can connect. Likewise, a working server does not guarantee that the subscription link can be refreshed right now. When troubleshooting, note whether the failure occurred while fetching the subscription or accessing the destination.
Global Routing:Proxy、Direct、Config、Scene
Global Routing determines how connections are handled. Proxy and Direct describe the overall routing intent; Config applies rules from the active configuration, while Scene uses configured conditions and actions. Changing modes affects subsequent connections. Start a new connection to test the change rather than treating an existing connection as the result.
- Proxy: Routes traffic through a proxy overall, but still requires correct server settings and a working connection. This is not a server protocol name.
- Direct: Uses direct connections overall. Selecting this does not mean requests are going through a proxy just because the connection toggle is on.
- Config: Chooses a policy based on rules in the active configuration. Different destinations can use DIRECT or a proxy policy at the same time.
- Scene: Handles traffic according to configured scene conditions and actions. Review the scene before using it; don’t assume it behaves like Config or Proxy.
The interface labels Proxy and Direct may differ in capitalization from the rule values PROXY and DIRECT. Preserve rule syntax when copying rules; don’t replace it with an explanation or an interface label. After selecting Config under Global Routing, also check which policy the rules actually point to—not just the mode name.
Config: Configuration files and rule order
The Config screen manages configuration files, which can contain rules, policies, and other network settings. A server subscription and a configuration file are different: the former primarily updates server details, while the latter determines how requests are handled. Adding a subscription does not mean the active configuration’s rules have also changed.
To review rules, first open Config and confirm which file is active, then inspect its rules. Rules are generally evaluated in order; when one matches, its policy is applied. Place more specific rules appropriately and keep the fallback rule at the end. The examples below explain the syntax and are not complete files to replace your existing configuration.
[Rule]
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
DOMAIN-SUFFIX,example.com,DIRECT: Matches example.com and its subdomains, then uses DIRECT. The domain is for demonstration only.IP-CIDR,192.168.0.0/16,DIRECT: Matches addresses in an IPv4 range; it cannot replace a rule matching arbitrary domain names.GEOIP,CN,DIRECT: Matches based on IP geolocation data. Results depend on the destination address, DNS resolution, and the data source used.FINAL,PROXY: Provides a fallback when no earlier rule matches. Don’t place it before rules that still need to be evaluated.
Shadowsocks, VMess, VLESS, Trojan, Hysteria2, and WireGuard are protocol names, not Global Routing modes. They describe how the app communicates with the corresponding server; keywords such as DOMAIN-SUFFIX determine how requests match rules. Changing rules cannot supply authentication details missing from incorrect protocol settings.
Data: Traffic readings and connection checks
Data shows information recorded by the app; it is not another connection toggle. Interpret readings in the context of what is being measured and over what time period. Data shown by server and data attributed to an app answer different questions. Seeing a byte count somewhere does not prove that the current destination used the selected server.
For one test, check servers and apps separately
Check by server
- Note which server is selected.
- Visit the destination again and watch for a change in the relevant reading.
- Distinguish the cumulative total from the increase during this test.
Check by app
- Check whether traffic attribution is available.
- Look out for background requests from other apps.
- Traffic attribution is not a routing rule.
Compare readings for the same destination over the same time period, then consider the access result and rules together. These statistics are not a service provider’s billing records.
For example, background syncing may still use traffic while you have only opened a test page. DNS lookups, connection attempts, or small transfers may also occur before a page fails to load. Record an increase in traffic separately from a page loading completely. Before clearing statistics, check what will be cleared and keep any records you need for troubleshooting; don’t compare the reset value directly with an earlier cumulative total.
Settings: On Demand and app behavior
Settings controls app behavior. For example, Settings → On Demand can trigger connection behavior based on configured conditions. It does not choose which rule applies to a destination domain or make an unavailable server work again. Test a manual connection before configuring On Demand.
- On Home, select a server with verified settings and check Global Routing.
- Turn on the connection manually and test access to an actual destination.
- Go to Settings → On Demand, review the current conditions and actions, and adjust them for your network environment.
- Switch to the relevant network environment and check whether the connection starts as expected. If it doesn’t, use a manual connection as a baseline.
On Demand and Config solve different problems: the former determines when to trigger a connection; the latter determines how requests are routed once the connection is enabled. Change one variable at a time while troubleshooting. If you switch servers, edit the configuration, and enable On Demand all at once, it’s difficult to tell which setting affected the result.
Common questions and troubleshooting steps
Why isn’t it connected after I select a server?
Selecting a server and starting a connection are separate actions. Return to Home and check the connection toggle and system permission, then verify Global Routing. A checkmark beside a server name does not confirm connection status.
Why aren’t the rules being applied when there’s a file in Config?
First, confirm in Config that the intended file is active. Then go to Home → Global Routing and check that Config is selected. Finally, review the rule order and policies. Having a file does not mean it is being used for current routing.
Does Direct turn off the connection?
No. Direct describes a routing method that connects directly; the connection toggle controls whether the app’s connection handling is enabled. To stop the connection, use the toggle on Home rather than simply switching to Direct.
Why can’t I open a webpage after the subscription updates successfully?
Return to Home and check which server is actually selected, then verify Global Routing and Config. A successful update only means the subscription was retrieved and parsed. Check server connectivity, authentication settings, destination access, and rule matching separately.
For routine troubleshooting, follow the same order: check the basic network connection, then the server entries in the subscription, the connection toggle, Global Routing, the active Config, and finally use Data to help observe traffic. Record the destination, current mode, and specific error; this is more useful than changing several screens repeatedly. For more steps, read the user guide; for rule terminology, see the glossary.