Aug 3, 2026 · Config Files · About 10 min

Shadowrocket vs Quantumult X: Which iPhone Proxy App Fits You?

See how Shadowrocket and Quantumult X differ in price, rules, scripts, compatibility, and ease of setup. Get a practical recommendation based on whether you are new to iOS proxy apps, customize rules, or want to migrate from Quantumult X.

Choosing an iPhone proxy app is not only a question of which feature list looks longer. The practical differences are how you obtain the app, what its purchase covers, how you manage rules and configuration files, and how much work you want to do when a setup changes. Shadowrocket is a paid iPhone and iPad app distributed through the App Store. This guide explains what it can do, where hands-on configuration matters, and how to decide whether its workflow fits your needs. It assumes you already have your own service details; the app purchase does not include a proxy service or subscription.

At a glance

Shadowrocket is a good fit if you want one iPhone or iPad app for importing your own service details, choosing a routing mode, and adjusting rules in a configuration file. Its flexibility comes with a learning curve: you need to understand the difference between a server, a Config file, and Global Routing. Check the current App Store listing for price and compatibility, and assess scripting or rewrite requirements against the specific configuration you intend to use.

1. What the purchase covers—and what it does not

Shadowrocket is a paid app obtained from the App Store. Its purchase is separate from any proxy service: buying the app does not provide a server, subscription, account, or access credentials. If you already have service details, you can enter or import them in the app. If you do not, the app by itself cannot create a remote service for you.

The listed price and availability can differ by App Store storefront and may change. Check the product page in the storefront associated with your Apple Account before purchasing. The same listing is the place to confirm current device and operating-system requirements. Do not rely on an old price, a screenshot, or a claim about compatibility when making a current purchase decision.

It also helps to separate three things that are often confused: the app purchase, the app’s local data, and the service you already use. The purchase record is tied to the purchasing Apple Account. Server entries and configuration files are app data. Whether a server can connect is determined by the service details and the conditions of the network you are using. Restoring one does not automatically restore the others.

1 purchase
App access through the App Store; service costs are separate
3 areas
Home, Config, and Settings handle different tasks
3 modes
Config, Proxy, and Direct are common Global Routing choices

For a new user, the most useful buying question is not simply whether the app has many options. Ask whether you are prepared to maintain your own service details and, if needed, review rules or configuration files. If you want a basic connection with no interest in understanding the active routing mode, the extra choices may feel like work rather than a benefit.

2. Rules and Config: flexibility depends on understanding the pieces

Shadowrocket separates connection information from routing instructions. A server entry in Home describes how to reach a service using the details you already have. A file in Config can define how requests are handled, including which policy applies when a rule matches. Global Routing determines the overall routing mode. Seeing a server in the list, importing a file, and turning on the connection are separate actions; none alone proves that a particular website is using the route you intended.

For rules-based routing, select the relevant configuration in Config and set Home → Global Routing to Config. Rules are evaluated in order, so specific exceptions usually need to appear before broader matches, with a fallback such as FINAL at the end. For example, the following lines illustrate a direct exception followed by a broader proxy rule; the example domains are placeholders, not service information.

[Rule]
DOMAIN,account.example.com,DIRECT
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT

In this example, the exact account hostname is checked before the domain-wide rule. If the broader rule appeared first, the request could match it before reaching the exception. A rule can only use a policy that exists in the active configuration or is otherwise available in the current setup. It does not create a server or supply missing credentials.

Routing checklist

Routing mode
Home → Global Routing → Config
Active file
Confirm the intended file in Config
Rule order
Specific matches before broad matches
Fallback
Place FINAL at the end

A correct rule list still depends on selecting the matching Config and routing mode.

Keep the concepts separate

Server entry
Connection address and authentication details
Config file
Rules and other configuration settings
PROXY
A policy used by a matching rule
Global Routing
The overall routing mode on Home

When a result is unexpected, check each item independently instead of replacing everything.

This workflow rewards users who want control over individual domains and can read the configuration they use. It is less convenient if you expect every imported file to work without checking its assumptions. A file may refer to policy names, DNS settings, or server entries that are absent from your current setup. Before replacing an existing file, keep a copy and confirm which file is selected.

3. Scripts and advanced options: verify requirements before relying on them

Some users need more than basic domain rules. A configuration may include URL Rewrite entries or script-related behavior, and advanced settings can depend on the file, the app’s current capabilities, and the permissions needed for a particular operation. Treat the configuration itself as part of the feature: a script name or rewrite line in a file does not guarantee that its dependencies, input data, or expected policy are present.

Before importing an advanced configuration, identify what it changes and whether it requires additional setup. Read its relevant sections, note any referenced policies, and check whether a feature depends on HTTPS inspection or a local certificate. Do not enable certificate-related behavior simply because a guide says it is required; understand what traffic it affects and follow the instructions for the configuration you trust. If you only need domain-based routing, begin with ordinary rules and leave unrelated advanced options unchanged.

These checks matter when adapting an existing setup as well as when starting from scratch. Configuration formats and policy names are not automatically interchangeable. If you bring over a file written for a different app or an older workflow, inspect and test it rather than assuming every section will behave identically. Preserve the original, change one item at a time, and verify a specific request after each change.

4. Setup effort: choose the workflow that matches your use

Shadowrocket can be used with different routing approaches, but those approaches solve different problems. Config is suited to rule-based decisions. Proxy is useful when you deliberately want proxy routing for the current session or need a controlled connectivity test. Direct helps check whether a destination works without proxy routing. Switching modes can change the result for all traffic, so note the current selection before experimenting and return to your intended mode afterward.

Uses the selected configuration and its rules to decide how matching requests are handled. It gives you control over exceptions and fallback behavior, provided the rules and policies are set up correctly.

Best for: Everyday use when you want rule-based routing.

Routes traffic using the proxy mode rather than relying on the specific domain rules you are trying to verify. A successful test in this mode does not prove that your Config rules are correct.

Best for: A deliberate temporary test of proxy connectivity.

Uses direct routing. A rule that points to PROXY does not by itself switch Global Routing out of Direct.

Best for: Checking direct network access or confirming a baseline.

A low-friction first setup is to add only the service details you already have, confirm that the connection works, and then add a configuration only if you need rule-based behavior. This sequence makes failures easier to isolate. If connectivity fails before you introduce rules, investigate the service details, current network, or DNS conditions. If basic connectivity works but one domain behaves unexpectedly, inspect its matching rule, the order of rules, and the selected Global Routing mode.

Keep a short record during setup: selected server, active Config, routing mode, test website, and the result. If you change a server, DNS option, and multiple rules at once, it becomes difficult to know which change mattered. Repeating the same test after one change gives you more useful evidence than toggling several options and relying on memory.

5. Who should choose Shadowrocket?

Shadowrocket is most suitable for users who want to manage their own setup on an iPhone or iPad and are comfortable learning a small number of technical distinctions. The strongest reason to choose it is a concrete need: importing your own service details, selecting a routing mode, applying domain rules, or maintaining a configuration file. The number of advanced options is less important than whether you can identify which option is responsible for the behavior you want.

Three quick questions can help you decide whether the workflow is a good match:

Does buying the app include a proxy subscription?

No. The App Store purchase is for Shadowrocket. You need your own service details, and any service costs are separate.

Can I use rules without selecting Config?

Do not assume so. For rule-based routing, select the intended file in Config and set Home → Global Routing to Config, then test a specific domain.

Should I import an advanced file before I understand it?

First check its rule order, referenced policies, and any script or certificate requirements. Keep a backup and test one change at a time.

In short, choose Shadowrocket when its App Store purchase model and configuration workflow fit your needs—not because a long feature list promises automatic results. Check the current product listing for purchase and compatibility details, use only service information you already have, and begin with the simplest setup that can verify your intended connection. Once the basic path works, add rules or advanced behavior only when you have a clear reason and a way to test the result.

Verify Shadowrocket on the App Store