Shadowrocket First Connection Guide: Select a Default Server, Turn On the Switch, and Verify with Connectivity Test

After importing a subscription, select a server in Home, allow the VPN configuration, then use Connectivity Test to verify the connection.

Quick overview

This guide is for users who have already imported their own subscription or entered server details manually in Shadowrocket. It explains how to confirm the selected server, configure Global Routing, approve the system VPN request, and use Connectivity Test results to distinguish configuration, network, and rule issues.

Confirm the subscription and server entry first

A first connection requires an available server entry in Home. Shadowrocket is a paid client for Apple platforms; a one-time purchase covers use of the app and does not include proxy service. The subscription URL, server hostname, port, password, and protocol settings must come from a service the user already has. The app does not generate this data automatically.

If Home still shows an empty list, check the import process first. To add a subscription, open the add page from the upper-right corner of Home, set Type to Subscribe, and enter an existing subscription URL. A placeholder used only to understand the format can be written as https://example.com/sub?token=xxxx; actual use requires the user's own valid URL. Save it, return to Home, and pull down to refresh the list.

  1. Verify the app

    Get Shadowrocket from the App Store and confirm that the developer is Shadow Launch Technology Limited and the app ID is 932747118; system requirements are subject to the App Store listing.

  2. Refresh the subscription

    Open Home, pull down to refresh the saved Subscribe entry, and wait for the server list to finish updating. Do not repeatedly switch networks during the update.

  3. Check the parameters

    For a manual Add Server entry, check Type, Address, Port, Password or UUID, as well as protocol-related fields such as TLS and Transport.

  4. Select a server

    Tap the server entry you plan to use in Home and confirm that a selected dot appears on its left or in front of it. An imported but unselected server does not provide a clear target for the connection switch.

  5. Keep the current network

    During the first verification, stay on the current Wi-Fi or cellular network. Switch networks only after testing so a network change is not mistaken for a parameter error.

1
One clearly selected server in Home
4 states
Global Routing:Config / Proxy / Direct / Scene
3 layers
Select the server, establish the connection, and run Connectivity Test

Select a server in Home and set Global Routing

Home may contain multiple servers. Tap one to make it the current connection target, as shown by the selected dot. The latency value reflects the response at the time of that test and does not replace full connection verification. If no latency is shown, do not delete the entry immediately; check the protocol parameters and try Connectivity Test.

After selecting a server, review Global Routing. This setting determines whether traffic follows the Config rules, goes entirely through the current proxy, connects directly, or switches according to a Scene. For the first everyday check, Config is usually the best choice because it verifies both the server connection and the rule file. If you suspect the rules are preventing a target from using the proxy, temporarily switch to Proxy for comparison, then restore the previous setting.

Config

Recommended

Match the rules in the current Config from top to bottom. Apply the corresponding policy at the first match; traffic not matched earlier is handled by FINAL.

Best for: routine routing checks after the basic connection is working

Proxy

Send traffic through the currently selected proxy server instead of directly routing it according to the normal split-routing result. This can help determine whether the issue comes from the rules.

Best for: temporarily ruling out Config rule-matching issues

Direct

Connect directly to the destination without using the current server. Even with the main switch on, staying in this mode does not prove that the proxy server is working.

Best for: comparing whether the local network can reach the destination directly

Scene

Use the policy assigned to the configured network scene. Confirm the scene conditions and their corresponding actions first.

Best for: users who have completed the basic connection and configured network scenes

Rule order in Config directly affects the result. Shadowrocket searches from top to bottom and stops after the first match. The syntax below explains the matching relationship only and should not replace the user's complete configuration:

DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY

Turn on the main switch and approve the system VPN request

After confirming the server and Global Routing, turn on the main connection switch in Home. The first time a system VPN configuration is created, iPhone or iPad displays a system authorization prompt. Follow the system interface and confirm with the device passcode, Face ID, or Touch ID. Apple manages this authorization; Shadowrocket must receive permission before it can create the connection configuration.

After authorization, return to Home and watch the switch state. If it immediately turns off, do not retry repeatedly; check the error shown by the app first. Any mismatch in a key field such as the port, password, UUID, certificate name, TLS, or Transport can terminate the connection during setup.

Before-connection status

Page
Home
Server
A selected dot appears in front of the entry
Routing
Global Routing is set to Config
Network
Wi-Fi or cellular data can access the internet normally

These four items provide repeatable conditions for the first test.

System authorization

Trigger
Turn on the Home main switch for the first time
Authorization target
System VPN configuration
Confirmation
Complete authentication as prompted on the device
After completion
Return to Home to check the connection status

Rejecting authorization prevents the system VPN configuration from being created. Turn the switch on again and follow the system prompt.

  1. Keep the selected dot for the Home server unchanged, and note the current Global Routing mode.
  2. Turn on the main switch and respond only to the VPN configuration request actually shown by the system.
  3. After authorization, wait for the connection state to stabilize. Do not repeatedly toggle the switch within a short period.
  4. If the connection drops automatically, check the error message first, then review the server's protocol fields.
  5. Once the switch stays on, run Connectivity Test. Do not treat the switch state alone as the final result.

Use Connectivity Test to verify the connection

With the main switch on, open Connectivity Test from Home. This performs an actual connectivity check and is more representative of the current connection than a single latency result in the server list. Keep the app in the foreground during testing, wait for all checks to return, and do not change Global Routing while the test is running.

Interpret the result together with the test target. A duration usually means a response arrived within the allowed time; Timeout means the request did not complete within the waiting window. A timeout may result from an unreachable server, incorrect protocol fields, failed DNS resolution, network restrictions, or an unexpected Config route. One Timeout alone cannot identify the cause.

The test returned a result

Entry point
Home → Connectivity Test
Observation
The test item returns a duration or success status
Next step
Access the actual destination that needs verification
Recheck
Switch back to Config and test again

A successful test means that request completed; still evaluate the actual destination and the matched rule before drawing a conclusion.

The test timed out

First
Confirm that the server is still selected
Second
Temporarily compare Config with Proxy
Third
Check Address, Port, and authentication fields
Fourth
Switch back to the original network that can access the internet normally and test again

Change only one variable at a time so the affected layer can be identified from the before-and-after results.

Distinguish latency tests from actual connectivity

For example, if a domain cannot be reached under Config but completes the test under Proxy, the server itself is responding, so troubleshooting should focus on the Config match. Check whether an earlier DOMAIN-SUFFIX, GEOIP, or IP-CIDR rule sends the request to Direct, and confirm that the policy name matches a policy defined in the configuration.

Troubleshoot a failed first connection by symptom

When the first connection fails, the most effective approach is to keep variables fixed: use the same network, server, and test target, changing only one setting at a time. Confirm the Home selection first, check whether the main switch stays on, and then compare Connectivity Test under Config, Proxy, and Direct.

What if the switch turns off immediately?

Check the error currently shown by Shadowrocket, then return to the server details and verify Address, Port, Password, or UUID. For Shadowsocks, also check Method. For VMess and VLESS, check UUID, TLS, and Transport. For Trojan, check Password and TLS. For Hysteria2, check the port, authentication details, and TLS name. For WireGuard, check the keys, Address, and Peer parameters.

What if there is no selected dot in front of the server?

Tap the server entry you plan to use directly in Home and wait for the selected dot to appear before turning on the main switch. If the list is empty, refresh the existing Subscribe entry first; if the refresh fails, verify that the subscription URL is complete.

What if the switch shows connected but webpages still do not open?

Make sure Global Routing is not set to Direct, then run Home → Connectivity Test. If Proxy returns a result but Config fails, check rule order and FINAL. If both time out, check the server parameters and current network.

What if the server changes unexpectedly after a subscription update?

An update may change the list names, order, or entry contents. Confirm again which server has the selected dot, and check that the updated Type, port, and transport parameters match the current configuration provided by the service provider.

What if the connection fails after switching to cellular data?

Without changing the server parameters, run Connectivity Test first, then switch back to the original Wi-Fi network for comparison. If only one network fails, check Settings → On Demand for Connect or Disconnect conditions targeting that network type.

Do not mix fields between protocols

Different Type values in Add Server use different fields. Common core fields for Shadowsocks are Address, Port, Password, and Method. VMess and VLESS usually use UUID and may include TLS and WebSocket Transport settings. Trojan focuses on Password and TLS-related fields. Hysteria2 uses UDP and QUIC; in addition to authentication, check the TLS name. WireGuard uses a local private key, Address, DNS, and the Peer's public key and Endpoint. Similar field names do not make them interchangeable.

Observation Check first Next action
The switch turns off immediately Protocol auth and transport fields Check Type, Address, Port, and auth details
Proxy succeeds, Config fails Rule matching and policy names Check the order of DOMAIN-SUFFIX, GEOIP, IP-CIDR, and FINAL
Wi-Fi succeeds, cellular fails Network conditions and On Demand Keep the server unchanged and test on both networks
Cannot connect after an update Currently selected server Select the entry again and review the updated parameters

A fixed check sequence after the first connection

Once Connectivity Test returns a result and the actual destination is reachable as expected, use a fixed troubleshooting sequence. For future connection issues, check the selected server in Home first, then Global Routing, then connectivity, and only afterward modify protocol parameters or rules. This avoids changing several locations at once and losing a reliable comparison.

On Demand is a later automation setting, not a requirement for the first manual connection. To connect automatically on Wi-Fi or cellular networks, open Settings → On Demand and configure the conditions. First complete one stable manual connection, then confirm that each condition maps to Connect, Disconnect, or another expected action so automation does not interfere with troubleshooting.

Daily connection sequence

Step 1
Confirm the selected server in Home
Step 2
Set Global Routing to Config
Step 3
Turn on the main switch
Step 4
Run Connectivity Test
Step 5
Verify the actual destination

Once the sequence is fixed, it becomes easier to identify the step where an issue occurs.

On Demand

Entry point
Settings → On Demand
Prerequisite
Manual connection has been verified successfully
Condition
Match by Wi-Fi or cellular network
Action
Apply the connection behavior defined by the existing rules
Recheck
Observe the actual state after switching networks

Test automatic connection conditions one by one, separately from the first manual troubleshooting session.

Download Shadowrocket