First, distinguish pages from routing modes: Home, Config, Data, and Settings are app pages; Proxy and Direct are routing modes in Global Routing and may also appear as rule policies. This guide uses the English interface on iPhone and iPad to explain the terms in a practical order: find a page, select a server, check routing, and review activity. You’ll learn to tell the two uses of Config apart and run a connection check without changing your existing subscription.
1. Home, Config, Data, and Settings: Understand the Pages
The bottom tabs determine which type of content you’re viewing; they don’t change the routing mode. Home is where you manage servers and connection status. Config manages configuration files. Data shows traffic and connection information. Settings controls app behavior. Opening a page does not turn on the connection or enable a file shown on that page.
| Interface term | Location and purpose | What to check first |
|---|---|---|
| Home | Main bottom tab; view the server list, connection switch, and Global Routing. | Check whether the server you intend to use is selected. |
| Config | Bottom Config tab; manage configuration files containing rules and other settings. | Check which configuration file is currently active. |
| Data | Bottom Data tab; view traffic statistics and available connection records. | Check whether the time matches the test request you just made. |
| Settings | Bottom Settings tab; adjust app behavior such as On Demand. | Check whether any settings affect what triggers a connection. |
When you see Proxy or Direct, don’t look for them among the bottom tabs. Go to Home, then open Global Routing to check the current mode. This guide identifies features by their English labels; layouts may vary by platform, so don’t assume mobile button positions match the desktop layout.
2. Home: Select a Server, Connect, and Run a Test
Home is where you start when connecting for the first time. Each server entry stores the address, port, authentication method, and protocol parameters needed to connect. The selection indicator beside an entry marks the default server. An entry in the list only means its settings are saved; it doesn’t confirm that the remote service is reachable. You’ll need a service provider and subscription of your own. This guide explains how to use information you already have; it doesn’t provide or recommend subscriptions.
-
Check existing entries
Open Home and find a server under your existing subscription. If you haven’t imported one yet, tap “+” in the top-right corner to open Add Server. Select Subscribe under Type, enter your existing subscription details, and save. Subscription URLs may contain access credentials, so don’t include them in public screenshots.
-
Select a server
Return to Home and tap the selection indicator beside the server you want. Opening an entry for editing is different from selecting it. After returning to the list, check that the selection indicator is on the intended server.
-
Check routing
Go to Home → Global Routing and check whether the current mode is Config, Proxy, Direct, or Scene. If your existing configuration is intended to route traffic according to rules, select Config and check which file is active on the bottom Config tab.
-
Connect and verify
Return to Home and turn on the connection switch. The first time you connect, follow the system prompt to allow adding a VPN configuration. Then run Connectivity Test and visit the destination you actually need to use. Check the test result and how the destination loads separately.
Connectivity Test is a connection check, not a complete test of every website, protocol, and rule. If the test succeeds but a particular destination won’t open, check its rules, DNS, and connection records. If the test fails, first verify the test request, current network, and selected server; don’t assume that every entry in your subscription is invalid.
3. Global Routing: What Proxy, Direct, Config, and Scene Do
Global Routing controls how Shadowrocket routes the traffic it handles. It doesn’t provide or sell connections, or fill in server details for you. Proxy and Direct describe where traffic goes; Config means traffic is handled according to the current configuration; Scene applies routing based on configured scenarios. When troubleshooting, note the original mode, change one setting at a time, test, and then restore it.
Config: Route according to the configuration
RecommendedRouting is determined by the rules in the currently active configuration. This is not a fixed setup where traffic in mainland China goes direct and traffic outside China uses a proxy; actual behavior depends on rule order, destination matches, and the FINAL policy. Recommended for everyday rule-based routing when you already have a clear, trusted configuration.
Best for: Using an existing configuration to apply different policies to different destinations.
Proxy: Route through a proxy
Routes handled traffic through a proxy instead of deciding where each connection goes using Config rules. This still requires a working server, correct authentication, and suitable network conditions; turning it on does not guarantee that every app will be reachable.
Best for: Temporarily checking whether a problem is related to rule-based routing.
Direct: Connect directly
Connects handled traffic directly to its destination without forwarding it through a proxy server. The connection switch may still show as on, so “VPN connected” does not mean “this request uses a proxy.”
Best for: Comparing access over your current network without a proxy.
Scene: Select a routing scenario
Applies routing based on configured scene conditions. It is not another server protocol; check the scene configuration to see how traffic is routed. If you haven’t reviewed the scene conditions, don’t treat this as a default automatic fix.
Best for: Using configured scenes when you understand the conditions that trigger each one.
For example, if a destination works in Proxy but fails in Config, that only indicates a difference in routing conditions worth investigating. Next, check the rules in Config and the relevant connection records rather than immediately changing protocols or resetting all settings. If both modes fail, first verify the server connection details and your basic network connection.
4. Two Uses of Config: Don’t Confuse the Page with the Routing Mode
The bottom Config tab is a page for managing configuration files. Global Routing → Config is a mode that tells Shadowrocket to handle traffic according to the current configuration. Consider them together: importing a file doesn’t necessarily activate it; and even if a file is active, you can’t assume its rules are being applied when Global Routing is set to Proxy.
Config as a page
- Location
- Bottom Config tab
- What it manages
- Configuration files and their rules, DNS, and other settings
- What to check
- Which file is active and what it contains
A file name helps identify it; its contents determine how it behaves.
Config as a routing mode
- Location
- Home → Global Routing → Config
- What determines routing
- Rules and policies in the currently active configuration
- What to check
- Rule order and the policy used by FINAL
Changing the routing mode does not replace or fix the configuration file.
Read rule keywords in English. These examples explain the syntax; they aren’t instructions to replace your entire configuration: DOMAIN-SUFFIX matches domain suffixes, IP-CIDR matches IPv4 ranges, GEOIP matches the geographic database location of a destination IP, and FINAL assigns a policy to connections that didn’t match an earlier rule.
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
In these examples, example.com is a sample domain, and 192.0.2.0/24 is a documentation-only example network. Rules are usually evaluated from top to bottom, so put FINAL at the end. Here, PROXY and DIRECT are policies for individual rules, not bottom tabs, and they don’t mean Global Routing has been switched. GEOIP uses an IP database, not the language of a webpage.
5. Data and Settings: Reviewing Results and Changing Behavior
Data shows traffic and connection information that has already been recorded; Settings changes app behavior. When access fails, preserve the current state and check the relevant time period in Data first. This makes it easier to identify the cause than changing multiple settings at once. An increase in traffic only shows that data was transferred; it doesn’t prove every request used a proxy or replace checking whether the page loaded successfully.
- Check the time: Note when you ran the test, then find the corresponding records. Old connection records can’t explain new requests made after switching modes.
- Check the destination: Distinguish domains from IP addresses. A single action in an app may contact multiple domains, so checking only the homepage domain isn’t enough.
- Check the result: If a record shows the policy or connection error, compare it with the relevant rule. If you only have total traffic, don’t guess which rule matched.
- Protect your information: Hide subscription URLs, authentication details, and private browsing records when sharing troubleshooting material. Include only the necessary destination, policy, and error information.
On Demand: When a Connection Starts
Use Settings → On Demand to review on-demand connection settings. These settings determine “under what network conditions a connection starts or stays active,” not “which route a domain takes.” Rule-based routing is still determined by the current routing mode and configuration. If the connection comes back after you disconnect manually, check On Demand and its conditions before assuming the switch is malfunctioning.
DNS: Resolve a domain to an address
DNS resolves domain names; it is not a server list or a proxy protocol. Before changing anything, check the DNS settings in the currently active configuration and any related DNS options in Settings. This helps avoid changing several sources at once. If you can connect to an IP address but not the corresponding domain, DNS is worth investigating. Also consider HTTPS certificate and hostname requirements; a single successful IP connection doesn’t establish the cause.
- Repeat the test to the same destination on the same network, using the same server and routing mode.
- Note whether the result is a DNS resolution failure, connection timeout, or page error; each points to a different troubleshooting path.
- Change one setting at a time and test again. Don’t treat changing DNS as a universal fix for connection problems.
6. Subscribe, Update, and Config: What to Check After Importing
Subscribe identifies a subscription type. Its main purpose is to retrieve server details from a subscription URL you already have. A subscription URL is not a server Address: it points to a set of details that can be updated, while Address is the connection address for an individual server. Don’t paste a complete subscription URL into a single server’s Address field, and don’t remove its access parameters while keeping only the subscription domain.
| Item or interface term | What it does | Common misconception |
|---|---|---|
| Subscribe | The subscription type selected under Home → “+” → Type. | Assuming that buying the app automatically includes a subscription. |
| Subscription URL | An address used to retrieve server details you already have, such as https://example.com/sub?token=xxxx. This is a fictional example URL. | Pasting the URL into a single server’s Address field. |
| Update | An action that refreshes information; check which item is being updated to understand what will change. | Assuming that updating a subscription also updates the rules in the current Config file. |
| Server entry | Stores the protocol, address, port, and authentication details for a connection. | Assuming that a listed entry means the connection test succeeded. |
| Config file | Stores rules and other configuration settings. | Assuming that selecting a server automatically selects the right rules file. |
After updating an existing subscription, return to Home and check that the entries are still there and that the selection indicator points to the server you intend to use. Then verify Global Routing. Subscription changes may affect the list and its groups, so don’t stop at the update confirmation. If an update fails, first check that the URL is complete and your network is working. Don’t share links containing tokens.
Beginner’s checklist
- In Home, confirm that your existing subscription and server entries are present. Don’t use the subscription URL as a server address.
- Select a server using the indicator, then open Global Routing and check the mode.
- If you’re using Config mode, open the bottom Config tab to confirm which file is active and check the rule order and FINAL.
- Turn on the connection and run Connectivity Test. Then visit the destination you need and compare the information in Data for the test period.
- If the connection comes back automatically or behaves differently after switching networks, check the trigger conditions in Settings → On Demand.
Getting the app and getting a subscription are separate. Buying the app does not include a subscription. The iPhone and iPad version costs $2.99 as a one-time App Store purchase. The developer is Shadow Launch Technology Limited; check the App Store page for system requirements. The Mac version (Apple silicon and Intel), Windows, Android, and Linux versions are free. For installation, see this site’s download guide; to import an existing subscription and connect for the first time, continue with the tutorial.