Official Guide / FAQ

Shadowrocket
Frequently Asked Questions

Find answers by issue: getting the app, installation, importing existing information, or connection status. Check your device and the message on screen first, then work through the steps one at a time. Change only one setting at a time so you can identify the cause.

Getting the app and account

Purchase and official listing

Understand the difference between getting the app and server access, then verify the store listing and purchase history.

Can I use Shadowrocket on a computer or Android device, and how do I get it?

Yes. Get the iPhone and iPad version from the App Store for a one-time payment of $2.99. The Mac (Apple Silicon and Intel), Windows, Android, and Linux versions are free. Choose your device on this site's download page; desktop and Android installers are provided through this site's /dl/shadowrocket/ path. For iPhone and iPad, check the App Store listing for system requirements. For other platforms, check the download page for architecture and installation instructions. If your system blocks the app on first launch, see the installation FAQ below.

Can I install Shadowrocket on iPad? Do I have to pay again after switching or reinstalling?

Yes, Shadowrocket is available for iPad. The iPhone and iPad version costs $2.99 as a one-time App Store purchase and works on both devices. The Mac, Windows, Android, and Linux versions are free. After switching devices or reinstalling, sign in with the Apple ID used for the original purchase, then find and download the app again from your App Store purchase history or app list. If the price still appears, check your signed-in account, purchase history, and store region before paying again. Check the App Store listing for system requirements.

Can't find Shadowrocket in the App Store? Check these things first

Make sure you searched for Shadowrocket, then check your Apple ID's country or region. The app isn't available in the mainland China App Store. Your device's language and your App Store region are separate settings. Open the App Store product page linked on this site to check availability. To change your region, go to your Apple Account in Settings, then Media & Purchases, View Account, and Country/Region; review Apple's requirements for changing regions. Your balance, subscriptions, or Family Sharing status may affect the change. Changing your device language won't resolve it.

How can I verify the official Shadowrocket App Store listing?

Check three details: the app name, Shadowrocket; the developer, Shadow Launch Technology Limited; and app ID 932747118 in the product page URL. Compare the icon with the official icon in this site's header. The iPhone and iPad version costs $2.99 as a one-time App Store purchase; the Mac, Windows, Android, and Linux versions are free. Don't assume the App Store listing follows the same distribution method as other platforms. For desktop and Android, use this site's download page to access its installers rather than judging a file by its name in search results.

Does buying the app include access to a server?

A one-time app purchase is not a service plan. The iPhone and iPad version costs $2.99 as a one-time App Store purchase; the Mac, Windows, Android, and Linux versions are free. These options cover the app itself, not server access. Before connecting, you'll need your own existing subscription or server details and should make sure they're still valid. This is the official Shadowrocket website and guide; it does not provide, sell, or recommend servers or subscriptions. The guide explains how to import, configure, and troubleshoot information you already have.

Devices and permissions

Installation and first launch

Check the architecture and file source first, then follow system prompts for installation and VPN permissions.

Which Mac version should I choose: Apple Silicon or Intel?

Open the Apple menu in the top-left corner of your Mac screen and choose About This Mac. If it lists an Apple chip, choose the Apple Silicon version; if it lists an Intel processor, choose the Intel version. The download page offers both options. Don't guess based on the year you bought your Mac or its appearance. Download and open the matching DMG, move Shadowrocket to Applications, then launch it. If macOS says it can't verify the developer, confirm the file came from this site, then choose Open Anyway under Privacy & Security in System Settings.

Windows or Mac warns that the app may be risky. What should I do?

First confirm the installer came from this site's download page and check its file type and device architecture. If Windows SmartScreen appears, select More info, verify the source, then choose Run anyway. Follow your organization's policies on managed devices. If macOS can't verify the developer, choose Open Anyway under Privacy & Security in System Settings. If macOS says the app is damaged, confirm the source and try running xattr -cr /Applications/Shadowrocket.app. Don't disable system security protections entirely just to launch the app.

What should I do before installing Shadowrocket on Android or Linux?

On Android, choose the arm64 installer from the download page. If installation is blocked, allow the browser or file manager you used to open the installer to install unknown apps; you can revoke that permission afterward. On Linux, choose deb, rpm, or AppImage for your distribution. Install deb and rpm packages with the corresponding package manager. For an AppImage, allow it to run as a program in its file properties before launching it. If you see an architecture mismatch, missing dependency, or permissions warning, address that specific issue instead of repeatedly running an incompatible file.

The connection switch won't turn on, or turns off right away. What should I do?

On iPhone or iPad, first select a valid server you already have, then turn on the connection switch. When prompted to add a VPN configuration for the first time, allow it and complete system authentication. If you previously denied the request, try connecting again to trigger the prompt, and check whether the VPN configuration appears in Settings. Temporarily disconnect any other active VPN to avoid competing for the same connection. If the switch still turns off immediately, note the error and check the configuration fields. Don't delete all servers or repeatedly reset network settings as a first step.

The interface is in English. How do I match the names in this guide?

This guide keeps interface labels in English so you can match them directly: Home shows servers and connection status; Add Server adds a server manually; Subscribe manages subscriptions; Config opens configuration files; and Settings opens app settings. Global Routing is where you choose how traffic is handled. The options for configuration, proxy, and direct connection are Config, Proxy, and Direct. If your system supports per-app languages, check the app's language options in system settings. Whether this option appears depends on the system and the languages offered by the app; you can follow the English labels either way.

Managing information you already have

Subscriptions and server imports

The steps below assume you already have your own subscription or server details.

An existing subscription won't import. What should I check, and in what order?

First make sure you've pasted the complete subscription link you already have, not an account management page or a single-server share link. Check for leading or trailing spaces, line breaks, missing parameters, and an expired link. Then save it in Subscribe and try updating. If you get a network error, check that your current network can reach the subscription URL. If the response format is invalid, check whether the link returns data supported by the app. Don't post subscription links containing personal access parameters in public comments or screenshots, and don't use the login page shown in a browser as a substitute for the subscription link.

How do I update a subscription, and why are there no new servers afterward?

Open the management screen for the subscription you already have, update it, and check the result. Then return to the server list and review that subscription's group. A successful update means the current response was retrieved and parsed; it doesn't mean the server count must change. If the subscription content hasn't changed, the list may stay the same. If the update fails, check the link and your network, then review the error. Before updating, note which server you're using and any manual changes. Check your selection again afterward, as an existing entry may have been replaced or removed by the subscription.

What can I import with Scan QR Code or from the clipboard?

Both methods import information you already have, but the QR code or clipboard content must be a link or data the app can recognize. A single-server share link usually contains one server; a subscription link retrieves and updates a group of servers. Identify which type you have before importing. For Scan QR Code, allow camera access and make sure the full code is clear and in focus. Before importing from the clipboard, confirm you copied the entire content. After importing, verify the protocol, address, and port. A new entry appearing doesn't by itself mean the connection details are correct.

Which fields are easiest to get wrong when adding a server manually?

Choose the protocol used by the server you already have, then enter its address, port, and authentication details. Shadowsocks encryption settings, VMess or VLESS identity fields, the Trojan password, and TLS and transport settings are not interchangeable. Make sure the address doesn't include a webpage path or extra spaces, and use the port from the original details. If TLS is enabled, check the relevant hostname too. Save and test one entry first. If it fails, compare each field with the original details rather than changing several fields at once to guess the right combination.

How should I organize multiple subscriptions, and what should I back up before deleting one?

Give each subscription you already have a clear, recognizable name, and distinguish manually added servers from subscription entries. Before removing duplicates, check their groups, addresses, and protocols; don't bulk-delete entries based only on similar remarks. Before deleting a subscription or importing it again, save the original subscription link, manually entered fields, and the Config you're using. If you use the app's export feature, keep the export file secure as sensitive information. A subscription backup and a rules configuration backup are different things; check each separately when restoring.

Modes and diagnostics

Rules and troubleshooting

Keep the test destination fixed and check the server, Global Routing, DNS, and rules in order.

How do I choose among Config, Proxy, and Direct in Global Routing?

Config follows the rules in the selected configuration file to decide where traffic goes. Proxy sends traffic handled by the app through the selected proxy. Direct connects without a proxy. For rule-based routing, first check that Config is selected and its rules are complete. Compare with Proxy to see whether the rules are the issue, and use Direct to check how a direct connection behaves. If the interface also shows Scene, treat it as a scenario setting, not another server. After changing modes, test the same destination and avoid changing servers at the same time.

Shadowrocket says it's connected, but I can't access the internet. What should I check first?

Disconnect first and check that your Wi-Fi or cellular connection works on its own. Reconnect, verify the selected server is valid, and run Connectivity Test to see whether it times out. Then check Global Routing and temporarily compare Proxy with Config. If only Config fails, focus on rule matches and where FINAL sends the traffic. If several destinations fail, check DNS, authentication fields, and server status. Change one thing at a time and retry the same destination. An active connection switch doesn't guarantee that the remote server or every website is reachable.

How can I narrow down a suspected DNS or routing rule problem?

Note the failed domain and the time it occurred. Then check the current Config and connection logs to see whether the request followed the expected policy. DOMAIN-SUFFIX matches domain suffixes, IP-CIDR matches IP ranges, and FINAL handles traffic that hasn't matched an earlier rule. Rule order can change the result. If you see a domain resolution error, check the current DNS settings and network; don't replace all DNS settings and rules at once. Retry the request after making a change, so old connections or cached results aren't mistaken for the effect of the new settings. Redact personal information from logs before sharing them.

Battery use increases after enabling Shadowrocket. Should I check On Demand?

It's worth checking, but first review the system's battery usage for the relevant period and see whether continuous traffic, such as video or downloads, has increased. On Demand controls automatic connections under specified network conditions; it isn't a fixed battery-saving switch. If the settings cause repeated connections when the network changes, check the Wi-Fi and cellular conditions separately. An unstable server, frequent retries, continuous tests, or long periods of detailed logging can also increase activity. Change one setting at a time and observe usage over a comparable period; don't draw conclusions from a single battery reading.

Does Connectivity Test show my actual internet speed?

Not directly. Connectivity Test helps assess connectivity under specific test conditions, and results depend on the test destination, current network, and server response. A response doesn't mean every website or protocol is working, and a timeout needs to be considered alongside the test method and actual browsing results. To troubleshoot, keep the network, server, and destination the same, then compare before and after connecting and across Global Routing modes. To investigate further, note the error time, protocol, mode, and redacted logs. Don't share passwords, identity fields, or complete subscription links.