Official App Store app · Official manual

ShadowrocketSetup Guide

A rule-based proxy client for iPhone and iPad: follow the steps to import an existing subscription and configure rule-based routing. The official App Store app is a one-time purchase.

Protocols
ShadowsocksVMessVLESSTrojanHysteria2WireGuard
Devices
iPhone iPad App Store
APP STORE EXCLUSIVE One-time purchase Global Routing Rule-based routing Import existing subscriptions
CONNECTION BASICS

From routing mode to rule matching

First decide how connections should be handled, then check the rule order in your configuration. Importing server details, choosing Global Routing, and enabling the connection are three separate actions. Completing one does not mean the others are done.

RULE ENGINE

Rule-based routing:
From DOMAIN-SUFFIX to FINAL

After selecting Config under Global Routing, connections are handled according to the rules in the active configuration. DOMAIN-SUFFIX matches domain suffixes, IP-CIDR matches address ranges, and FINAL handles connections that did not match earlier rules. When reviewing rules, check both the match conditions and the final action. PROXY, DIRECT, and REJECT produce different outcomes; a domain appearing in a rule alone does not tell you how its traffic will be handled.

When troubleshooting routing, first confirm which Config is active, then review potentially matching rules from top to bottom. More specific conditions usually come first, with a fallback rule at the end. Keep a copy of the original configuration, change one condition at a time, and check the connection logs. This helps distinguish a rule-order issue from a problem connecting to the selected server.

Read about rules and routing modes →
Rule syntax example · Not a configuration recommendation
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT
FINAL,DIRECT

The example domains and addresses illustrate syntax only. Choose actual policies based on your configuration and needs.

GLOBAL ROUTING

Config, Proxy, Direct:
Choose how connections are handled

Check Global Routing on Home. Config handles connections according to the active configuration, Proxy routes them through the proxy, and Direct connects directly. Choosing a mode does not add missing server details or replace system connection authorization. The sections below explain each mode; read them before choosing one for your setup.

Compare the three modes →

Config: route according to the active configuration

If you already have a rule configuration, select Config under Global Routing on Home. The client uses the active configuration to decide whether each connection goes to PROXY, DIRECT, or another defined policy, so different destinations may be handled differently. Before choosing Config, check which file is enabled under Config; importing a file does not automatically enable it. If a destination is handled unexpectedly, check the matching rule and policy before reimporting all your servers.

SERVER & CONFIGURATION

Import, update, and connection requirements

The steps below assume you already have your own subscription or server details. Shadowrocket Hub explains client configuration and use; it does not provide, sell, or recommend servers or subscriptions.

PROTOCOLS

Protocol type:
Match the server details

Shadowrocket supports protocols including Shadowsocks, VMess, VLESS, Trojan, Hysteria2, and WireGuard. To add a server manually, go to Add Server from Home, confirm the Type, then enter the Host, Port, and relevant authentication details you already have. Fields and additional options vary by protocol; do not assume that a Password or transport setting for one protocol applies to another.

If you already have a share link or QR code, use the relevant import option to avoid typing errors. After importing, verify the protocol type, address, and port, and check that the copied content does not include line breaks or extra text. Protocols such as Hysteria2 also require matching server-side parameters; selecting the same protocol name does not ensure that the other settings are correct.

Learn about protocols and fields →
Choose a Type based on your existing details
ShadowsocksVMess VLESSTrojan Hysteria2WireGuard HTTPSOCKS5

The protocol name determines what the fields mean; the server settings determine whether a connection can be made.

SUBSCRIBE

Import an existing subscription:
Keep the link and manage updates

In Add Server, select Subscribe, enter your existing subscription link, and save it. A subscription keeps server entries together and retrieves their contents from the same link when updated; it is not the same as a complete rule configuration. After importing, check that the servers appear on Home, select the entry you want to use, then confirm Global Routing and the connection switch.

If an update fails, check in order that the link is complete, the current network can reach it, and the returned content meets the import requirements. Do not delete an entire group repeatedly instead of troubleshooting; keep any information that is still valid before deleting it. Add recognizable notes to multiple subscriptions to avoid selecting the wrong group. Subscription links may contain access credentials, so hide the full link and authentication details before sharing screenshots, logs, or problem reports.

Read the subscription management guide →
Fictitious link · Format example only
https://example.com/sub?token=xxxx
  1. Save the complete link you already have.
  2. After importing, check the group and server entries.
  3. If an update fails, first check the network and returned content.
Troubleshoot subscription updates →
ON DEMAND / DIAGNOSTICS

Connection requirements and Data:
Test first, then set up automatic connections

On Demand can start connections when specified conditions are met; review its options in Settings. First make a manual connection from Home and verify access, then configure conditions one at a time. Otherwise, when a connection starts automatically, it can be difficult to tell whether the issue is with the rules, server, or trigger conditions. After changing networks, check both the main switch and On Demand to confirm the actual behavior.

Data shows traffic statistics, while Diagnostics provides diagnostic information. Traffic figures represent activity through the client; they are not the remaining balance on a subscription and do not prove that a destination was routed as expected. If you use iCloud sync, check the iCloud settings on your devices and the in-app sync options, then verify the contents on both. Syncing does not replace backing up your configuration before making changes.

Read about On Demand and traffic statistics →
Troubleshooting checklist

When recording an issue, note the network, selected mode, and whether only specific destinations are affected.

APP STORE / DEVICES

Get Shadowrocket for iPhone and iPad

Shadowrocket is purchased and installed through the App Store. Check the product page, then review compatibility and pricing for your device. System requirements, Universal Purchase, and compatibility with other devices are as listed on the App Store page.

iPhone

Before purchasing, check the developer and app ID on the App Store product page. When making your first connection, the system may ask permission to add a VPN configuration. This system authorization is needed to establish a connection; it does not provide the app with server details. After granting permission, import your own subscription or enter server details, then select an entry on Home. System requirements are as listed on the App Store page.

iPhone setup guide →

iPad

Use the same Apple ID you used to purchase Shadowrocket, then check your App Store purchase history and the product page’s purchase status. Check the App Store listing for details on whether the purchase works across iPhone and iPad. The larger display does not change what protocol settings mean: after importing, check Config, Global Routing, and the selected server instead of checking only whether the subscription name appears.

iPad setup guide →
QUICK START

Three steps to your first connection

After installation, start with a complete set of existing details that you can verify. Check each step before moving on. If something goes wrong, return to the last step that worked instead of changing the protocol, mode, and DNS all at once.

  1. IMPORT

    Add Server: Import existing details

    Open Home and go to Add Server. If you have a subscription, select Subscribe and paste the complete link. For a single server, enter the relevant fields for its Type, or import an existing QR code or share link. Save, return to Home, confirm the group and entry appear, then select the server you want to connect to.

    Check: The list contains an entry, and its protocol, address, and other details match what you already have. A successful subscription update only confirms that content was retrieved; you still need to test the connection.

  2. ROUTING

    Global Routing: Choose a mode

    If you have a complete rule configuration, confirm which file is enabled in Config, then set Global Routing to Config. To temporarily check the proxy connection, use Proxy for comparison. A mode is not a server selection: the routing mode and the selected server are separate settings, so check each one.

    Check: You can explain how the current mode handles connections. If a destination is not routed as expected, check the rules and policy first; do not overwrite authentication details you have already verified.

  3. VERIFY

    Home: Enable and test the connection

    Turn on the main switch and follow the system prompt to authorize the VPN configuration. Return to the app to check its status, then visit a familiar destination and review Connectivity Test and the connection logs. A latency test shows the response under a particular test method; it is not actual throughput and cannot replace testing everyday access.

    Check: The connection status, actual access, and logs agree. If only one destination is affected, note the destination, mode, and network, then troubleshoot that specific issue.

Read the complete setup guide →
PURCHASE & VERIFICATION

Verify the app and understand what you’re purchasing

Shadowrocket Hub is the official website and manual for Shadowrocket. This section explains app purchases, configuration, and network services separately so issues with one are not confused with another.

Official Shadowrocket app icon

Check the official icon, developer name, and app ID; all three should match the same App Store product.

App ID 932747118 Developer Shadow Launch Technology Limited One-time purchase

Verify the developer and product page

Open the Shadowrocket product page in the App Store and check that the developer is Shadow Launch Technology Limited. Compare the listing with the official icon shown here. The id932747118 in the product URL corresponds to app ID 932747118. Search results may include similarly named apps, so the nickname “Little Rocket” alone does not identify the product. Before purchasing, verify the developer, official icon, and app ID together.

Store availability and account region

The currency, purchase availability, and purchase history shown in the App Store depend on the Apple ID used for the store. Being able to open a product page in a browser does not guarantee that the same purchase status will appear for your account. Follow the prompts in the App Store on your device and check your account region, compatibility, and payment confirmation. System requirements are always as listed on the App Store page; do not rely on system version numbers from older guides to determine compatibility.

One-time purchase and restoring purchases

Shadowrocket is a closed-source commercial app sold as a one-time purchase. The US storefront reference price is about $2.99; other storefronts show local currency, and the actual amount appears on the purchase confirmation screen. When changing devices or reinstalling, use the Apple ID you purchased with to check your App Store purchase history, then check the product page’s purchase status. See the App Store page for details on Universal Purchase and Family Sharing; do not pay again before checking your purchase history.

App updates and configuration recovery are separate

Update the app through the App Store and manage updates in your device’s store settings. Subscription updates retrieve server content from an existing link in the client; they are different kinds of updates. Reinstalling the app does not necessarily restore all local configuration. Keep important rules, subscription notes, and server details safe in advance. If you use iCloud sync, still check the sync results, confirm the current configuration is enabled, and test the connection.

Read how to restore purchases →

MANUAL NOTES

More setup guides

Find the guide for the issue you’re working on. First identify where the relevant setting is, then compare test results and adjust only the setting related to the problem. This helps avoid confusion caused by repeated imports or changing several settings at once.

View all articles →