· Getting Started · About 8 minutes

Shadowrocket Interface Guide: Home, Config, Proxy, Direct, Data, and Settings

Learn what Shadowrocket’s main tabs and common interface terms do, where to find them, and how to locate the right settings.

At a glance

Shadowrocket’s interface is organized by function: Home handles connections and server selection, Config manages configuration files, Data shows traffic and request logs, and Settings contains app preferences. Proxy and Direct are routing or policy terms, not bottom tabs. This guide is for users who already have their own service provider and subscription and need to navigate the English interface. It explains commonly confused terms and what to check first.

Start with the bottom tabs

First identify the page you’re using, then look for the setting within it. Home, Config, Data, and Settings are navigation tabs; Global Routing is a routing setting within Home. Keeping these two levels distinct prevents mistakes like assuming that opening Config enables rule-based routing. The layout may vary by device or display language, so use the English labels to find options rather than their position on screen.

Common tabs and what to find in them
Interface termMain purposeWhen to open it
HomeConnection switch, server list, and Global RoutingSelect an existing server and check the connection and routing mode
ConfigSelect, view, and edit configuration filesCheck the active rules, DNS, and other configuration details
DataReview traffic statistics and request logs for diagnosticsInspect test requests and how they were handled
SettingsApp-level settings and optionsFind options such as On Demand and Subscribe

The connection switch on Home controls or indicates the connection state; it does not guarantee access to every website. Selecting a server only makes it a candidate route for subsequent requests. Whether requests actually use it depends on Global Routing, the active configuration rules, and the request logs available in the app.

Home and subscriptions

A server entry on Home and a subscription are different things. An individual entry stores the protocol and parameters needed to connect. Subscribe retrieves a group of entries from a subscription URL you already have. Updating a subscription changes that group; it does not select the right server or replace the rules file in Config.

  1. Find the right option

    Open Home, tap “+” in the upper-right corner, and check Type on the add screen. First determine whether you have a subscription URL or the connection details for a single server.

  2. Choose the right type

    To add an existing subscription, select Subscribe under Type and enter your subscription URL. To add a single server manually, choose the Type that matches the protocol provided by your service provider.

  3. Check the list

    After saving, return to Home and check the subscription group and its entries. If the list is empty, first verify the subscription update result and that the URL is complete. Don’t try to fix it by changing the protocol at random.

  4. Select an exit

    On Home, select the existing server you want to use, then check Home → Global Routing. If requests should be handled by rules, also confirm that the expected configuration is selected in Config.

Shadowsocks, VMess, VLESS, Trojan, Hysteria2, and WireGuard are protocol or connection type names, not tiers for “faster” or “more reliable” service. When entering details, match Type, address, port, and authentication information to the parameters you already have. For example, if your details specify port 443, enter that value; don’t infer a port from the protocol. This guide does not provide connection services or subscriptions.

Proxy and Direct

Proxy routes requests through a proxy; Direct connects without one. These terms may appear in Home → Global Routing or as target policies in configuration rules. Always consider where they appear: the former sets the overall routing mode, while the latter specifies what happens when a particular rule matches.

Config

Recommended

Select Config under Home → Global Routing to handle requests according to the active configuration’s rules. This does not guarantee that a particular type of website will connect directly; the outcome depends on the rules, their order, and their target policies.

Best for: Everyday use after checking your configuration and following its rules

Proxy

Route requests handled by Shadowrocket using the proxy mode. This can help compare results with Config, but it cannot make invalid server parameters work.

Best for: Temporarily checking whether configuration rules affect a particular request

Direct

Route requests handled by Shadowrocket using direct connection mode. Direct does not turn off the system connection switch or automatically choose a faster route.

Best for: Comparing with direct access to a destination on your local network

Global Routing may also include Scene. This option applies routing settings by scenario; it is not a protocol. Don’t use it as a substitute for Config until you’ve checked the scenario conditions and associated settings. When troubleshooting, first identify whether you’re using Config, Proxy, or Direct. Change one condition at a time, record the result, and restore the original mode afterward.

Two meanings of Config

The Config tab at the bottom manages configuration files; Config under Global Routing selects rule-based request handling. The first answers “Which configuration is selected?” The second answers “Are requests being handled according to its rules?” After importing a subscription, check both separately. A populated server list does not mean the routing rules are set up.

Check the file and routing mode separately

Config tab
  • Confirm which configuration file is selected.
  • Review the order of the rules and their target policies.
  • Keep a copy of the original file before making changes so you can restore it.
Home → Global Routing
  • Confirm whether Config is selected.
  • If Proxy is selected, don’t use rule-based routing to explain the result.
  • If Direct is selected, first check whether that was intentional.

File selection and routing mode are separate checks. Confirm both before investigating whether a specific rule matched.

When reading a configuration, identify the rule type first, then the match criteria, and finally the target policy. The examples below demonstrate syntax only; don’t replace your existing configuration with them without checking it. example.com is a placeholder domain for illustration, and the IP address ranges are documentation examples.

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
DOMAIN-SUFFIX
Match a domain suffix and its subdomains
IP-CIDR
Match an IPv4 address range
GEOIP
Match using IP geolocation data
FINAL
Handle requests that haven’t matched an earlier rule

Rules are evaluated in configuration order. A request matched by an earlier rule may never reach a later one. In the example, FINAL,PROXY sends requests that didn’t match earlier rules to PROXY; it does not mean that all requests use a proxy. GEOIP uses IP geolocation data and is not simply equivalent to the language of a website.

What to check in Data

Data is for monitoring and diagnostics; it doesn’t select a server or change routing for you. When troubleshooting a page, first generate an easy-to-identify test request, then check the request log for that time. Traffic statistics cover the data recorded by the app and shouldn’t be treated as the remaining allowance in a service plan. Connection duration is not a substitute for an availability test.

  1. Before testing, note the Global Routing mode, selected server, and configuration file. Avoid changing several settings at once during the test.
  2. Open the page you’re troubleshooting once and note the time and the domains actually requested. The page may also request images, API endpoints, and other domains.
  3. Open Data and review the available request logs. Check the destination, handling policy, and any error shown in the log.
  4. To compare results, change just one Global Routing setting and try again. Restore the original configuration afterward and compare the results for the same destination.

If the expected request isn’t in Data, don’t immediately assume the rules aren’t working. First check the connection state, whether logging is enabled, and whether the test generated a new request. Browser caching may display a page without making a new network request. Before sharing diagnostic information, redact subscription URLs, authentication details, personal domains, and other sensitive data.

Common questions about Settings

Settings contains app behavior options. Settings → On Demand is related to the manual connection switch on Home, but it is a separate control. Settings → Subscribe handles subscription-related behavior; it is not a substitute for importing a rules file. Find settings by function instead of searching every page for the same term.

Why does it reconnect after I turn it off?

Go to Settings → On Demand and check whether conditional connection is enabled and what triggers are configured. To test manual disconnection, note the original settings and temporarily pause the relevant automatic triggers. Don’t keep toggling the Home switch alone.

I found Subscribe. Why can’t I see the rules?

Subscribe is generally for subscription server entries. Return to Home to check the subscription group, then open the Config tab at the bottom to view the rules file. These options manage different things; updating a subscription does not update configuration rules.

My subscription URL is only accessible through a proxy. Where do I set that?

Go to Settings → Subscribe and check Update via Proxy. Before enabling it, confirm that you already have a working proxy connection. This setting changes the route used for subscription update requests; it cannot fix an expired URL, invalid authentication, or incorrect content returned by the server.

Why can’t I connect even though Proxy is selected?

Return to Home to check the selected server and connection state, then look for errors for the relevant request in Data. Proxy changes the routing mode only. Check your existing service details for problems with the address, port, authentication parameters, or server status.

Use this sequence for a final check: select a connection target in Home → set the routing mode in Global Routing → check the rules in Config → review results in Data → check automatic behavior in Settings. This keeps servers, rules, logs, and automatic connections separate, so the same English term isn’t mistaken for the same thing in different parts of the app.

Verify the official App Store listing