This guide is for people new to Shadowrocket who already have their own service details or subscription. First, identify Home, Config, Data, and Settings; then distinguish Proxy, Direct, Config, and Scene under Global Routing. Finally, follow the steps to import your details and verify the setup. The key is to separate where you make changes, what determines how traffic is handled, and where to check the results—so you don’t confuse the connection toggle, subscription updates, and routing mode.
Bottom tabs: Choose the right starting point
Home is the main place to select a server and manage the connection. Config manages configuration files, Data shows traffic and request records, and Settings contains app preferences. When following instructions, first check whether a term refers to a bottom tab, a list option, or a policy name in a configuration file. The same English term can have different functions in different places.
| Interface term | What it does | When to open it |
|---|---|---|
| Home | Manage existing servers, subscriptions, and connection status; choose Global Routing. | Import details, select a server, and start or stop the connection. |
| Config | Manage and select configuration files that contain rules and other settings. | Check which file is active and adjust rules and their order. |
| Data | View traffic statistics and recorded request details. | Check whether a request was recorded and which policy it used. |
| Settings | Manage app settings such as On Demand and Subscribe. | Adjust on-demand connection conditions and subscription update behavior. |
This guide focuses on common tasks in the iPhone and iPad interface. The layout may vary by device and interface version. Shadowrocket is available only on Apple platforms, and the App Store is the only place to get it. Check the App Store listing for system requirements and purchase availability. Rather than relying on fixed screen coordinates, this guide identifies controls by their English labels and place in the navigation hierarchy.
Home: Servers, subscriptions, and the connection toggle
Server entries in Home store connection destinations and protocol settings. Selecting an entry chooses which server to use; it does not mean the connection has been established successfully. The connection toggle starts or stops the VPN session, while Global Routing determines how requests entering that session are handled. Check these three things separately.
Subscribe identifies a subscription type. A subscription link retrieves details for a service you already have. Updating a subscription typically refreshes its server entries; it does not switch the Config file. Links may contain access credentials, so don’t include them in public screenshots or troubleshooting messages. The steps below assume you already have a valid subscription link.
-
Open the add screen
Go to Home, tap “+” in the top-right corner, and open the add screen. Have your own subscription link ready; a webpage address describing a service is not a subscription link.
-
Choose a type
Under Type, select Subscribe, enter your own link, and save it.
https://example.com/sub?token=xxxxis a fake example for illustrating the format and cannot be used to connect. -
Check the entry
Return to Home and check whether server entries appear under the subscription. Pull to refresh when an update is needed. If the list is empty, check the import result before repeatedly trying to connect.
-
Check the connection
Select an existing server, check Home → Global Routing, and then turn on the connection. If iOS prompts you to add a VPN configuration for the first time, verify the app’s source and authorize it as required by the system.
When adding a server manually, Shadowsocks, VMess, VLESS, Trojan, Hysteria2, and WireGuard under Type are different protocols. They are not interchangeable just because they use server addresses and ports. The port must match your own service details; entering 443 does not automatically make a protocol or TLS configuration correct. Check the password, UUID, certificate-related fields, and other details against the relevant protocol.
Global Routing: Proxy, Direct, Config, and Scene
Home → Global Routing is where you choose how traffic is handled. Config here means using the active configuration to handle traffic; the bottom Config tab is where you manage configuration files. Select a file in the bottom tab first, then choose Config under Global Routing to use its rules.
Config
RecommendedHandles requests according to the rules and policies in the active configuration. A matching rule may send a request through a proxy, use DIRECT, or apply another defined policy; the result depends on the file’s contents.
Best for: Everyday use with a trusted configuration when you want traffic routed by destination.
Proxy
Routes requests entering the tunnel through a proxy, rather than choosing destinations according to the usual rules in Config. Server reachability, DNS, system routing, and other conditions can still affect the result.
Best for: Temporarily checking a proxy connection and helping distinguish rule issues from connection issues.
Direct
Handles requests directly, without using the selected proxy server. Direct does not turn off the connection toggle or remove the system VPN configuration.
Best for: Comparing how a request behaves on your current network when routed directly.
Scene
Uses configured scenes to switch traffic handling behavior. Before selecting one, check the existing scenes, their conditions, and associated settings. Don’t assume the final route based on the label Scene alone.
Best for: People who have configured scenes and understand their switching conditions.
Proxy should not be taken as a guarantee that all device communications will pass through a particular remote server. The scope of app traffic routed through the tunnel and system network behavior still have limits. When troubleshooting, examine a specific request instead of drawing conclusions from the toggle color or a status bar indicator alone. Scene is not a separate protocol and cannot replace the authentication details required by a server.
Config: Files, rules, and policies are separate layers
Files managed in the bottom Config tab can contain rules and other settings. Importing a file does not prove that it is active. Confirm that it is selected in Config, then return to Home and check Global Routing. Save a recoverable copy before editing, especially noting the original policy names and rule order.
Rule keyword
- DOMAIN-SUFFIX
- Matches a domain suffix, such as example.com and its subdomains.
- GEOIP
- Matches based on the geographic location associated with the destination IP; requires the relevant database.
- IP-CIDR
- Matches an IPv4 address range, such as 192.0.2.0/24.
- FINAL
- Provides a fallback policy when none of the preceding rules match.
Rules are generally evaluated from top to bottom. Place more specific conditions where they can be matched appropriately.
Where it appears and what it means
- Bottom Config tab
- Open the configuration file list to select or edit a file.
- Global Routing → Config
- Handle the current request using the selected configuration.
- DIRECT
- The direct-routing policy keyword in configuration syntax.
- PROXY
- The proxy policy name in configuration syntax; interpret it in the context of the active configuration.
The Direct interface option is related in meaning to DIRECT in a rule, but they appear in different places and use different capitalization.
The rule snippet below illustrates matching order; it is not a complete configuration with server details. The example addresses are for documentation. Before pasting, check whether the existing file already has a [Rule] section, whether the policies are available, and whether the fallback rule suits your needs. Don’t add ordinary rules after an existing FINAL rule expecting them to take effect.
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
In this example, example.com and its subdomains first match the proxy policy. Destinations within the example IP range use DIRECT. no-resolve means the IP rule won’t trigger an extra domain lookup; it does not disable DNS globally. GEOIP is checked next, and FINAL provides the fallback. To confirm the result for a real request, also check the current domain, resolution results, and the complete rule file.
Data: Check how a request was handled
Data is for observation, not server selection. Increasing traffic figures show only that traffic was generated; they don’t by themselves prove that a webpage is reachable, the rules are correct, or remote authentication succeeded. Request records also depend on logging settings and retention. If a record is missing, first check that recording is enabled, the time range is correct, and the test action matches.
- Note the selected server and Global Routing option in Home so you can keep the test conditions consistent.
- Visit a known page in your browser and note the time. Don’t start several network tasks at once.
- Return to Data and check the record for that time. If details include the destination, policy, or connection result, compare each with what you expected.
- Change just one setting, then repeat the request. For example, temporarily switch from Config to Proxy and compare the result for the same destination, then restore the original setting.
A webpage may use cached content or contact several domains at once, so opening it may create multiple connections. Before sharing troubleshooting records, hide subscription tokens, server credentials, and private domain names. Reports that state when it happened, which destination was involved, the selected mode, and the result are more useful than “connected but not working.”
Settings: What On Demand and Subscribe control
Settings → On Demand manages behavior related to on-demand connections. It lets the system trigger or maintain a VPN connection based on configured conditions. It does not replace server details or fix an incorrect password. If the connection starts again after you manually disconnect, check the On Demand conditions first, then review the system VPN settings instead of deleting every configuration.
- Check the trigger conditions: Go to Settings → On Demand and review the enabled conditions and their actions. Available conditions depend on the current interface. When testing, check behavior on both Wi-Fi and cellular networks.
- Check subscription settings: Go to Settings → Subscribe and review the update options. Subscription updates change the entries retrieved; they should not be confused with selecting a Config file.
- Understand the update route: If Update via Proxy is enabled, update requests rely on a working proxy route. If the current proxy is unavailable, this option is not a guaranteed fix.
- Record the original settings: Note the toggle positions before making changes, and change one setting at a time. Keep changes that work and promptly undo those that don’t.
On Demand and Global Routing operate at different levels: the former concerns when a connection is established, while the latter determines how requests are handled within that connection. On Demand can start a connection while Global Routing is set to Direct; choosing Config does not mean on-demand triggers are enabled. Check them separately to avoid mistaking automatic reconnections for a rule issue.
Common questions: Check by interface location
Why can’t I access anything after selecting a server?
Return to Home and check the connection toggle and Global Routing. Then verify the selected entry’s protocol, port, and authentication details. Selecting an entry only chooses a server. If access still fails after connecting, make a request to the same destination and check the result in Data.
Which Config should I choose: the bottom tab or the one under Global Routing?
They serve different purposes. First, use the bottom Config tab to confirm which file you want to use, then go to Home → Global Routing and select Config. Opening the bottom tab to browse files does not automatically switch Proxy or Direct to rule-based routing.
Does switching to Direct turn off the VPN?
No. Direct is a traffic handling mode; the connection toggle controls the session state. To stop the session temporarily, use the connection toggle in Home. If it reconnects afterward, check the trigger conditions under Settings → On Demand.
Do rules update when I update a subscription?
You can’t assume that. First, check the subscription entries in Home, then go to Config to verify the selected file and its source. The server list and rule file are separate items; check each one to see whether it updated and what changed.
Once you know where each term appears, use this order to review the setup: check the server and connection in Home, the traffic handling mode in Global Routing, the rules file in Config, request results in Data, and automatic connection and subscription update conditions in Settings. Each English term then points to a specific task instead of leaving you to guess from its name.