Official Shadowrocket icon

Shadowrocket Official Manual

Shadowrocket
User Guide and Settings

A rules-based proxy client for iOS / iPadOS, available from the official App Store as a one-time purchase. Have an existing configuration ready, then follow the steps to connect.

Official Shadowrocket Home screen showing the connection switch, Global Routing, and Connectivity Test
Shadowrocket · Home

On Demand and DNS settings

Features and settings / Understand the order of operations

Rules, configurations, and connection behavior

Server details determine where the connection goes, Config determines how requests are routed, and Settings control connection and diagnostic behavior. Check each separately to narrow down issues more easily than by changing several options at once.

Rules: DOMAIN-SUFFIX / GEOIP / FINAL

Rules direct different requests to the specified policies. In Config, check which configuration is active, then confirm that Global Routing is set to Config so the rules are applied. DOMAIN-SUFFIX matches domain suffixes, GEOIP matches by the region associated with an IP address, and FINAL catches requests that did not match earlier rules. Rules are usually evaluated in order, so put more specific conditions before fallback rules. After making changes, save and check which policy actually matched. An enabled connection switch alone does not confirm that routing is working as intended.

Rules and routing · From match conditions to the final policy

Read the settings guide

Global Routing:Config / Proxy / Direct

Global Routing determines the overall handling mode in use. Config routes requests according to the active configuration’s rules; Proxy sends requests through the proxy policy; Direct connects directly. For rule-based routing, first make sure Config is selected, then check the relevant rules. For troubleshooting, you can temporarily compare results for the same destination in different modes, then restore your intended setting. Changing modes will not fix an incorrect address, authentication details, or DNS settings, and it does not prove that every app request follows the same route.

Routing mode · Choose a handling mode before checking rule results

View the mode selection steps

Recommended order for reading the settings guide

You do not need to adjust every option in Settings before getting started. First import a configuration and connect manually to establish a baseline you can test again. Then read about DNS, On Demand, or Proxy as needed. DNS affects name resolution; rules determine policy selection. They are related, but not interchangeable. If a domain is unreachable, distinguish a resolution failure from an unexpected policy or a server connection failure. Avoid changing several settings at once, or it may be hard to identify the cause.

In the rule example, example.com is a sample domain, and PROXY is an example policy name. Before using it, confirm that the policy exists in your configuration. The example explains syntax; it does not provide a server you can connect to. If you are unsure what a configuration field means, start with the quick reference, then use the settings guide to check the current interface.

Config and Log reference

Devices and access / App Store is the only source

Getting Shadowrocket on iPhone and iPad

First verify the official listing in the App Store, then purchase or restore on your device. Check the App Store page for system requirements and purchase eligibility; the listing shown in your device’s store is the guide for what to do.

Shadowrocket is also available from the same App Store on Mac and Apple TV. Check the App Store page for compatibility, system requirements, and purchase eligibility.

First connection / Three checks

Get started with an existing configuration

Before you begin, have a subscription link or server details that you are authorized to use. The steps below cover inputs first, routing next, and verification last. Buying the app does not mean a configuration is ready.

  1. 01 / Add Server

    Add a server or import a Subscribe link

    In Home, go to Add Server and select the Type that matches your existing details. To use a subscription, choose Subscribe and paste the complete link. To enter details manually, check the address, port, authentication, and transport settings one by one. Save, return to the list, confirm the entry appears, and select the server you want to test. If the list is empty, first check whether the subscription was retrieved successfully; do not jump straight to connection testing.

    Scan QR Code can read a QR code containing a configuration you already have. After scanning, check the type and contents, and make sure the QR code comes from a trusted source. Do not overwrite a working configuration if you are unsure what the new one does, and do not share QR codes containing authentication details publicly.

  2. 02 / Global Routing

    Choose Config, Proxy, or Direct

    For rule-based routing, choose Config and check which Config file is active. Proxy and Direct can help compare different handling modes, but they are not separate connections in the server list. Before testing, be clear about your goal: are you checking whether a server works, or whether a rule matches? These tests require different information, so do not combine them into a single conclusion.

    If an imported configuration refers to specific policy names, make sure the corresponding items exist. Copying rule text without adding the referenced policies may produce unexpected results. See the quick reference for the meanings of DOMAIN-SUFFIX, FINAL, and DIRECT.

  3. 03 / Connectivity Test

    Turn on the connection and test a real request

    Turn on the connection switch in Home and follow the system prompt to authorize the VPN configuration. Use Connectivity Test as an additional check. Then visit the destination you want to test and review Log for clues about how the request was handled. Connection status, test results, and the destination’s response are different kinds of evidence. An enabled switch only shows that the connection process has started; it does not prove that routing and DNS are correct.

    If a test fails, note what happened and check the server parameters, authentication, DNS, and rule match in that order. Change one item at a time and repeat the same test, recording whether the result changes. Traffic appearing in Data is not a substitute for verifying access; an increase in the traffic count does not mean the request succeeded.

View the full tutorial →

App Store listing and purchase / Verify the details

Developer, icon, and app ID

Shadowrocket is a closed-source commercial app. Verify that you have the genuine app using details on its App Store product page, not a similar name, search ranking, or unverified description.

Verify the product page before purchasing

On the App Store product page, first confirm the name is Shadowrocket, then check that the developer is Shadow Launch Technology Limited and compare the icon with the official icon shown here. The id932747118 at the end of the product URL is the app ID. Check all three details; a similar name or icon color alone is not enough to verify the app. The download guide on this site brings these checks together so you can review them before purchasing.

A one-time purchase for the client app

The US storefront price is about $2.99 as a one-time purchase. Other storefronts show local currency; the price at checkout is the one shown on the App Store page and purchase confirmation screen. A one-time app purchase does not include a connection plan. App purchase and connection services are separate. After opening the app, you still need to import your own existing subscription or server details. This is the official website and manual. It does not provide, sell, or recommend nodes or subscriptions; it explains how to import and manage existing configurations and troubleshoot settings.

Restore your purchase and device configuration separately

On iPhone and iPad, use the purchase history for the relevant Apple ID to find the app. Check the App Store page for purchase eligibility. When switching devices or reinstalling, first make sure you are signed in to the original purchasing account, then check your purchased items. If the page shows a price instead of an option to redownload, check your account and storefront before buying again. After reinstalling, separately check your configuration backup, iCloud status, and existing subscriptions. Restoring the app does not create server details.

Store availability and account region

Whether the product appears in your storefront depends on what the App Store displays and your account region. If you cannot find it in search, check the official product page first, then review your account’s country or region and any messages from the store. Before changing your account region, read Apple’s guidance on your device and check requirements for your balance, subscriptions, and payment method. Being able to open a web page does not guarantee that your account can make the purchase; follow the in-store purchase flow for the final result.

Updates, system requirements, and settings review

Get and update Shadowrocket through the App Store. Check your device’s App Store settings to see whether automatic updates are enabled. Refer to the App Store page for system requirements. If an option appears in a different place after an update, look for it by its English name in the interface, then check your current configuration and connection results. Keep a copy before changing important settings so you can restore them without relying on memory to re-enter the details.

To check a purchase, read the purchase restoration guide. If the app opens but you cannot connect yet, go to the first connection tutorial. If you are unsure about the difference between Subscribe and Config, start with the quick reference so you do not mistake updating a subscription list for replacing a rules file.

Articles / Continue with a specific question

Entering parameters, first connection, and migration

These articles focus on using the client. First identify whether your question is about protocol settings, purchase and connection, or restoring a configuration, then follow the relevant steps. Use your own existing server details when setting up a connection.

Protocols

Trojan protocol guide: configuring Trojan server details in Shadowrocket

Learn how Trojan works and review the fields for address, port, password, SNI, and Allow Insecure. Match each setting to your existing server details; do not loosen certificate checks as a substitute for correct configuration.

Add Server · Authentication and TLS
Backup & Migration

Back up and restore Shadowrocket configurations when changing devices: iCloud sync and Config file export

Follow the checks for iCloud sync, Config export, and import, and learn how restoring a purchased app differs from restoring its configuration. Before migrating, confirm which backup to keep. After migration, check your servers, rules, and actual connection results.

iCloud · Config · Device migration checklist
Getting Started

10 common Shadowrocket questions for new users: from App Store purchase to the first connection

Answers to common questions about verifying the app, the one-time purchase, importing subscriptions, and choosing Global Routing. Follow the steps in order: purchase, prepare a configuration, connect, and verify. If something fails, first identify which part of the process is affected.

First use · Purchase and connection
View all articles →

If you already have a specific error, go to Troubleshooting. To understand an English setting name, use the settings guide to look it up.