App Store listing verified · One-time purchase

Shadowrocket Setup Guide

A rule-based proxy client for iPhone and iPad. Rule-based routing determines where requests go, and the app is available as a one-time purchase on the App Store.

Shadowsocks VMess VLESS Trojan Hysteria2 WireGuard

Check the App Store listing for system requirements and whether the purchase is universal.

  • Verify the app—Check the developer, official icon, and app ID
  • First connection—Have your existing subscription or server details ready
  • Rule order—Rules are checked in order; FINAL handles unmatched requests

Configuration file structure at a glance

rules.conf

A diagram of fields and matching logic, not an app screenshot. Example addresses are for syntax illustration only.

[General]

General settings
  • bypass-system = true
  • dns-server = system

Set system bypass rules and DNS. Keep a copy of your current configuration before changing one setting at a time.

[Rule]

Rule matching
  1. DOMAIN-SUFFIX,example.com,PROXY
  2. DOMAIN-KEYWORD,example,DIRECT
  3. GEOIP,CN,DIRECT
  4. IP-CIDR,192.168.0.0/16,DIRECT
  5. FINAL,PROXY

Rules are checked from top to bottom; the first match takes effect. Put broad conditions after specific ones.

[Host]

Host mapping
  • example.com = 1.2.3.4

Map specific domains. Resolution results and routing policy are separate things to check.

[URL Rewrite]

Rewrite rules
  • ^http://example.com https://example.com 302

Match requests with expressions. This example shows the 302 redirect syntax.

Policy

Request route
  • PROXYRoute through a proxy
  • DIRECTConnect directly to the destination
  • REJECTReject matching requests

Rules specify the policy; server configuration provides the connection details.

Matching order

Stop at the first match
  1. 1Check the first condition
  2. 2No match; continue
  3. 3Match; apply the policy
  4. FINAL handles all remaining requests

This flow shows how rules are evaluated in Global Routing → Config.

Feature index / Identify what you need to configure

Connections, rules, and configuration management

Server details, configuration files, and connection controls each serve a different purpose. Your existing servers determine where you connect; Config determines which policies requests follow; On Demand determines when a connection starts. When troubleshooting, identify which layer is involved before treating a rule issue as a subscription problem.

Global Routing and Rule

In Home, check Global Routing first: Config applies the rules in the selected configuration file, Proxy routes requests through a proxy by default, and Direct connects directly by default. To test Rule behavior, select Config and confirm which configuration is active. Rules are checked from top to bottom, and the first matching condition determines the policy. Put specific domains before broad keywords, and place FINAL last. If the result is unexpected, check the mode and rule order before changing conditions; avoid changing multiple variables at once.

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY
View configuration fields →

This index separates connection details, request policies, and trigger conditions. Follow Getting Started for the full setup, and check each field in the configuration reference.

Devices and App Store / Get the app from the product page

How to get Shadowrocket on iPhone and iPad

iPhone

Check the app on its App Store product page and purchase it there. Once installed, open Home. When you first connect, iOS will ask to add a VPN configuration. Confirm that Shadowrocket initiated the request, then follow the system prompts. This permission lets the app establish a system network connection; it does not create server details. You still need to import your existing subscription or enter server settings.

Before connecting, check the selected server and Global Routing. After connecting, test access to your intended destination. If the expected prompt does not appear, return to the app and check its current status instead of repeatedly toggling the connection. Check the App Store listing for system requirements.

View the iPhone guide →

iPad

On the iPad, use the same Apple ID used for the purchase and check your purchases in the App Store or open the product page. Check the listing to see whether the purchase is universal. Home, Config, and Settings serve the same purposes on iPad, though the layout may differ. When checking settings, use field names rather than relying on fixed button positions.

A connection working on another device does not mean this device has the same configuration. Check your subscription and server list, then verify the selected configuration file. If you use iCloud, wait for sync to finish, then check the selected item and system connection permission. Check the App Store listing for system requirements.

View the iPad guide →

Shadowrocket is also available on the Mac App Store and Apple TV App Store. Check the listing for compatibility details.

Check the current price, system requirements, and purchase details on the App Store listing before buying. Verify connection settings separately on each device.

View the steps to get the app →
On the App StoreDownload Shadowrocket

App details and purchase / Check before you buy

Buying the app and
connection services

Shadowrocket is a closed-source, paid app for Apple platforms, available exclusively on the App Store. Check the product name, then verify the developer, Shadow Launch Technology Limited, the official icon, and app ID 932747118. A similar name or icon is not enough to confirm that it is the right app; check all three details together.

A one-time app purchase does not include a service plan. The one-time payment covers use of the client; it does not provide a server, subscription link, or service account. This guide does not provide, sell, or recommend servers or subscriptions. Its instructions assume you already have your own subscription or server details, and explain how to import, configure, and test them.

How to verify the developer, icon, and app ID

On the product page, first confirm the name is Shadowrocket, then check the developer's full name. Compare the App Store icon with the official icon used on this site, and check the product page URL for id932747118. This number identifies the app; it is not a version number and does not change with the interface language. Search result rankings, similar names, and app descriptions are no substitute for checking these three details. Once they match, follow the price and purchase steps shown in the App Store.

App Store availability and account region

What you see in the App Store and what you can buy depend on the country or region of the Apple ID used for purchases; the system interface language does not determine the storefront. If you cannot find the app, check your account's country or region, then open the product page and read the App Store's message. If the listing says the app is unavailable or incompatible, follow the current store result. Before changing account details, check Apple's requirements. Being able to open a web page does not prove that the app is available to purchase with your account.

One-time purchase and current price

The U.S. App Store reference price is $2.99 as a one-time purchase; other storefronts display local currency. Check the current App Store listing and purchase confirmation for the actual price. The app price and the cost of any connection service you already use are separate. Buying the client does not change service expiry, data limits, or server status. If a connection fails, first determine whether the issue is with app settings, your network, or your existing service details; a completed purchase does not confirm a working connection.

Purchases, device changes, and reinstalling

To get the app on another device, first check that the App Store is signed in with the account used for the original purchase, then check your purchased items or the product page's download status. Check the App Store listing for whether iPhone and iPad purchases are universal and which other devices are supported. If the listing still shows a price, verify the account and purchase history before paying again. Restoring the app and restoring its configuration are separate tasks: after reinstalling, check that your server details, configuration file, and system connection permission are all in place.

Manage app updates and configuration changes separately

App updates are managed by the App Store. Use automatic updates if your system settings allow, or check the store for available updates. Subscription updates read content from your existing link; editing a configuration file is a separate action. When troubleshooting, note what changed: the app, subscription, rules, or network. Keep your working configuration and change one thing at a time, testing after each change. This narrows down the cause instead of leaving you without a clear comparison after changing several settings at once.

How to use rule examples

example.com and the host mapping examples on this page illustrate fields only; they do not provide a working connection service. A rule's meaning depends on both its condition and policy. Before copying a snippet, understand which section it belongs in and whether it overlaps with existing rules. In particular, FINAL catches requests that did not match earlier rules; placing it too high can prevent later conditions from taking effect. A complete configuration also depends on your own server and network, so do not assume an example snippet is suitable as a drop-in replacement.

Common first-time setup questions

I bought the app. Why is there no server in Home?

Buying the app gives you permission to use the client; the server list comes from a subscription you already have or details you enter manually. Have those details ready, then import them using Getting Started. Turning on the connection will not add server details.

Which Global Routing mode should I choose?

Choose Config to route traffic according to a configuration file, and check that the right file is selected. Proxy and Direct can help isolate routing issues, but neither confirms that rules are working. Read Mode selection and testing steps, then choose based on the destination you need to test.

Does an enabled connection mean all settings are correct?

An enabled connection does not guarantee that every destination is accessible. First test the server, then check the mode, DNS, and which rules match. Keep one reproducible failed request for comparison. Follow the connection testing steps and avoid changing several settings at once.

Will refreshing a subscription update my rules too?

Check the server subscription and Config file separately. After refreshing the server list, confirm the server is still there, then check which configuration is selected. Do not assume that changes to the list mean the rules have been updated. See Import and configuration guide for details.

More from the Shadowrocket guide / Browse by issue

Setup and troubleshooting guides

Use Getting Started to establish a basic connection, then choose a guide for the issue you're seeing. Note your network, Global Routing mode, and active configuration when the problem occurs to help reproduce it. A failure with one destination does not mean you need to re-enter all your server details.