Shadowrocket Subscription Import: Subscribe, Add Server, QR Code, and Clipboard

Learn where to use Subscribe, Add Server, QR code scanning, and clipboard import in Shadowrocket, which link formats each accepts, and what to check when an import fails.

At a glance

First identify what you have: a server subscription URL, a single-server share link, or a remote configuration file. Then choose the right import method. This guide is for users who already have their own provider and subscription. It explains Subscribe, Add Server, QR code scanning, and clipboard import, and distinguishes remote configurations in Config from server lists in Home. After importing, select a server and test the connection.

1. Tell server subscriptions and remote configurations apart

In Shadowrocket, a “subscription” generally means a remote update relationship; it does not mean every subscription belongs on the same page. Home manages servers and connections, Config manages configuration files and rules, and Settings manages app preferences. If nothing changes in the list after importing, first check that you’re on the right page. That’s usually more useful than repeatedly pasting the link.

A server subscription is usually an HTTPS URL that returns a server list the app can recognize. A remote configuration can also use an HTTPS URL, but its contents may include sections such as [General] and [Rule]. The two can look alike, so an https:// prefix alone doesn’t tell you what a link is for. Check the description from the source of your existing subscription and the content it returns.

4 methods
Methods covered: Subscribe, Add Server, QR code, and clipboard
3 pages
Main pages to check: Home, Config, and Settings
2 types
Remote content to distinguish: server lists and configuration files
What you haveWhere to import itWhat to check afterward
Server subscription URLHome → + → Type → SubscribeSubscription group and server entries in Home
Server parametersHome → + → Add Server editor; select the correct TypeServer address, Port, and authentication details
Server share QR codeScanner in HomeRecognized type and destination address
Share link in the clipboardCopy the full text, return to the app, and check what it recognizesWhether the import is a single server or a subscription
Remote configuration URLAdd and manage remote configurations in ConfigWhether the configuration downloaded and is selected for use

2. Subscribe: Handle server subscriptions separately from Config

To add multiple servers, open the Add Server page from Home and set Type to Subscribe. Don’t treat a server subscription as a rules file. The example https://example.com/sub?token=xxxx illustrates URL structure only; it is not a working subscription. Copy the complete address you already have, including any query parameters after the question mark.

  1. Check the content

    Make sure the source identifies it as a server subscription, and keep the full URL intact. Don’t copy the page title, explanatory text, or quotation marks surrounding the link.

  2. Choose the type

    Go to Home → + in the top-right corner to open the Add Server editor, then choose Subscribe under Type.

  3. Enter the address

    Paste your subscription URL into the appropriate address field and add a note that will help you identify it. Before saving, check for line breaks, spaces, or non-ASCII punctuation.

  4. Save and update

    After saving, return to Home and check the subscription group and its entries. To fetch the content again, update the subscription and check the list when the update finishes.

If you’re looking at Subscribe in Config or its remote configuration subscription manager, first confirm that you’re working with a configuration file. Rules such as DOMAIN-SUFFIX, IP-CIDR, GEOIP, and FINAL belong to the rules system; they are not server addresses, passwords, or other server parameters. A successful remote configuration download does not mean a connectable server has appeared in Home.

3. Add Server: Use manual entry when you have all the parameters

Add Server is the editor for adding servers, and Subscribe is one of the available Type options. To enter a single server manually, select its actual protocol, such as Shadowsocks, VMess, VLESS, Trojan, Hysteria2, or WireGuard. Don’t choose Subscribe just because you have an address.

Manual entry requires complete parameters. A domain name and Port alone usually aren’t enough to connect. Depending on the protocol, you may also need a password, UUID, key, TLS settings, or transport parameters. Fields are interdependent; don’t fill in unknown values based on another server’s settings.

If you already have a complete ss://, vmess://, vless://, or trojan:// share link, let the app recognize the entire link, then check the parsed result. Manually decoding and splitting the contents can leave out parameters. Seeing an entry means parsing succeeded; you still need to test whether the connection works.

4. QR code and clipboard: Different input methods, same content types

QR code scanning works well when the code is displayed on another screen. Open the scanner from Home and allow camera access if prompted the first time. Fit the entire QR code in the viewfinder. Once it’s recognized, check whether it contains a server share link, a subscription URL, or an ordinary web address before confirming the import.

Clipboard import is useful when you receive a text link on the same iPhone or iPad. Copy the complete content, then return to Shadowrocket. If a clipboard recognition or import prompt appears, check the entry before confirming. When iOS asks whether to allow pasting, grant permission for this action as appropriate. If no prompt appears automatically, paste the link manually on the relevant add page; that alone doesn’t mean the link is invalid.

Choose an input method: another screen or this device

Another screen
  • Use the scanner in Home to read the complete QR code.
  • Avoid glare, obstructions, and cropping the edges of the QR code.
  • If the result is a web page, first check whether it’s only an informational page.
This device
  • Copy the complete share text, return to the app, and check what it recognizes.
  • When copying a URL, keep the ?, &, and all following parameters.
  • If automatic recognition doesn’t appear, paste the link manually on the relevant add page.

QR code and clipboard are just ways to provide input. The content itself determines whether it goes into the server list or configuration manager.

Subscription URLs and QR codes may contain access credentials. Hide the full token, password, and QR code in troubleshooting screenshots. To describe the issue, include the error text, the page or entry point used, and when it occurred. Don’t submit a real subscription to an unfamiliar conversion site just to inspect its contents.

5. Choosing between a subscription and manual entry

If you already have a server subscription and need to keep its list updated, retaining the Subscribe relationship is easier to maintain. For a single server or to check an individual field, manual entry is more direct. This comparison covers server entry settings in Shadowrocket, not service quality.

Subscribe

Best for

If you already have a server subscription, save its URL so you can fetch the remote list again later. The update reflects the remote content, so check whether you need to keep any manually changed entries before updating.

Best for: Users with a complete subscription URL who want to manage a group of servers.

Single-server entry

Choose the correct protocol and enter its parameters to check the address, Port, and authentication fields individually. The entry won’t automatically receive new parameters when another subscription changes.

Best for: Users with complete parameters for one server, or those checking a single server in isolation.

Scanning a QR code to import one server doesn’t create a subscription update relationship; clipboard import works the same way. To tell whether an entry can be updated, check whether you saved a subscription URL or an individual server—not which input method you used to add it.

6. Import troubleshooting: Check the stage where it failed

Record “can’t import,” “update failed,” and “can’t connect” as separate issues. The first usually occurs while the content is being recognized, the second while remote content is fetched or parsed, and the last after a server entry already exists. Each calls for different checks, so trying another import method repeatedly may not help.

What you seeCheck firstNext step
Message says the text can’t be recognizedWhether you copied the complete link with the correct protocol prefixRemove any surrounding explanatory text, keep the link’s characters intact, and paste it again.
Subscription update returns 401 or 403Whether the URL credentials are complete and the subscription is still authorizedCheck with the source of your existing configuration. Don’t change the server protocol parameters first.
Subscription update returns 404Whether the path has expired or was copied incorrectlyCheck the full path; don’t just check whether the domain opens.
Update times outWhether your current network can reach the subscription URLCheck over both Wi-Fi and cellular, and note whether the failure occurs on only one network.
Request succeeds, but no servers appearWhether the response is a login page, error page, or configuration fileCheck that the subscription format matches the import method. An HTTP success response doesn’t confirm the format is correct.
Server appears but won’t connectWhether the server is selected and its parameters match the routing settingsMove on to connection diagnostics instead of importing the same entry again.

Minimum checks after import

  1. Return to Home, select the server you want to use, and confirm that the selection indicator appears beside it.
  2. Check Global Routing. Config routes traffic according to the active configuration rules; Proxy uses the proxy route, and Direct connects without a proxy. Scene involves scene settings, so check which one is active during the test.
  3. Turn on the connection switch in Home. The first time you connect, follow the system prompt to allow adding a VPN configuration.
  4. Run Connectivity Test and note the result. A successful test only means the specified test destination was reachable at that time; it doesn’t guarantee that all requests are working.
  5. If the connection reconnects automatically, check Settings → On Demand to make sure an automatic reconnection isn’t being mistaken for an import issue.

At this point, subscription retrieval, content parsing, and connection testing have been checked separately. To continue troubleshooting, keep the error message and sequence of steps, and change one variable at a time—for example, switch networks or check just one parameter. Changing the subscription, rules, and connection settings all at once makes it harder to find the cause. See the rules manual for rule syntax.

Download on the App Store