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. Compare subscription link formats and troubleshoot common import failures.

At a glance

Choosing an import method in Shadowrocket isn’t just about matching a button name. First identify whether you have a server subscription, a single-server share link, or a remote configuration file. This guide explains how to choose among the four import methods, where to verify saved items, and how to distinguish link, response-format, and connection-setting issues when an update fails. This site does not provide, sell, or recommend servers or subscriptions.

1. Identify the content: a subscription link isn’t a configuration file

A server subscription retrieves a set of server details, typically including addresses, ports, and authentication parameters. A remote configuration file loads settings such as rules, DNS, and policies. Both may be provided over an HTTPS URL, but that doesn’t mean they belong in the same place. Check the original provider’s description and make sure the format is supported by Shadowrocket instead of relying on the https:// prefix.

Home is the main place to check servers and connection status; Config is where configuration files are managed. Seeing an entry in the server list does not mean the rules in Config have changed. Likewise, a successful Config download does not mean you have a usable server. Check these results separately to avoid confusing “imported successfully, but no servers appeared” with “servers are available, but traffic isn’t being routed by rules.”

4 methods
Methods covered: Subscribe, Add Server, QR code, and clipboard
2 types
Distinguish first: server subscriptions and remote configuration files
3 places
Check in: Home, Config, and Settings
What you haveRecommended methodWhere to check after importing
Server subscription URLHome → + → Type → SubscribeSubscription group and server list in Home
Remote configuration file URLConfig → + → Download from URL; set Subscribe if neededFile, contents, and selected status in Config
Parameters for a single serverHome → + → Add Server editorNew server in Home
QR code or text on the clipboardQR scanner in Home or clipboard import promptConfirm the detected content type, then check the corresponding list

2. Subscribe: distinguish Config subscriptions from server subscriptions

Subscribe in Config is for subscribing to and updating remote configuration files. Don’t enter an arbitrary server subscription link there. To add a remote configuration file for the first time, go to the add option in Config, choose Download from URL, and enter the full configuration URL. Once downloaded, inspect its contents and decide whether to use it. To keep a remote configuration updated, check the file’s Subscribe setting and source.

If the original provider gave you a server subscription, go to Home → + in the top-right corner → Type → Subscribe. This Subscribe option is a type in the Add Server editor, separate from the remote configuration feature in Config. Enter the URL and save, then return to Home to check for a subscription group and server entries. Don’t look in Config for newly added rules.

  1. Confirm the purpose

    Read the original provider’s description to determine whether the link returns a server list or a complete configuration. Don’t judge by the URL suffix.

  2. Choose a method

    For a server subscription, go to Home → + → Type → Subscribe. For a remote configuration file, go to Config → + → Download from URL.

  3. Paste the URL

    Paste the full URL, preserving query parameters and capitalization. Check for leading or trailing spaces, line breaks, or punctuation added by a messaging app.

  4. Save and verify

    After saving, check the appropriate list. Verify server entries in Home; verify the contents and selected file in Config.

  5. Update one item at a time

    For initial troubleshooting, update just this subscription and keep any error message. Avoid adding multiple entries from the same source at once, so you can tell which one caused the result.

Keep local changes before updating

Updating a remote configuration may replace content retrieved from the source; updating a server subscription may rebuild its list. Back up important rules and manual edits first. Don’t assume local changes will be preserved after every update.

3. Add Server: enter parameters manually or add a subscription

Tap + in the top-right corner of Home to open the Add Server editor. The selected Type determines what the fields mean: choose Subscribe to enter subscription details, or select a type such as Shadowsocks, VMess, VLESS, Trojan, Hysteria2, or WireGuard to enter that protocol’s server parameters. Use the configuration you actually have; don’t switch protocols just to make the form accept the entry.

Manual entry is useful when you have details for a single server, need to check a field, or can’t import the original share text. It doesn’t replace subscription updates: if you enter one server manually, changes the original provider makes to its list won’t automatically update that local entry.

After saving, first confirm the entry appears in Home, then test the connection. Saving in the editor only confirms that a local record was created; it doesn’t prove remote authentication succeeded. A latency test returning a result doesn’t prove that every site or rule works correctly either.

4. QR code and clipboard: check what was detected before confirming the import

QR codes and the clipboard change how information gets into Shadowrocket, not what type of information it is. A QR code may contain a single-server share string or simply an HTTPS URL. The clipboard might contain a subscription URL, a single-server share string, or just the provider’s website. Confirming the detected content type matters more than seeing a “scan successful” message.

Choose an input method based on what you have

QR code
  • Use the scanner at the top of Home. Allow camera access when prompted the first time.
  • Fit the entire QR code in the viewfinder. Avoid glare, cropped edges, and excessive zoom.
  • Check whether the result contains server details or a URL before saving.
  • For a QR code displayed on the same device, use text provided by the original source if available. Don’t assume there’s an option to scan from Photos.
Clipboard
  • Copy only the complete URL or share text, not the surrounding instructions.
  • Return to Shadowrocket. If a clipboard import prompt appears, check the content before confirming.
  • If prompted for paste permission, allow it if that matches your current action.
  • If no import prompt appears, open the relevant editor and paste the text into the URL or parameter field.

QR codes and the clipboard are just input methods. Always return to Home or Config to check what was actually saved.

If scanning adds just one server, the QR code probably contains a single-server share string, not a full subscription. Scanning it again won’t turn it into a subscription group. If no clipboard prompt appears, there’s no need to keep copying the text: paste it manually to confirm it’s complete, then check its format and the system’s paste permissions.

Treat subscription URLs as credentials

QR codes, clipboard text, and URL query parameters may contain access credentials. Redact the full token, password, and key when sharing troubleshooting details. Don’t post an unredacted subscription URL in a public screenshot or message.

5. URL formats and troubleshooting failed imports

Subscription URLs don’t follow one standard path format. They may carry access credentials in query parameters or put an identifier in the path; the presence or absence of a .conf suffix isn’t a reliable way to identify the content either. The two URLs below illustrate URL structure only. They are fake and cannot be used for import.

https://example.com/sub?token=xxxx
https://example.com/sub/xxxx?format=shadowrocket

Don’t add the format=shadowrocket parameter from an example yourself; it only works if the original endpoint supports it. When copying, check that & hasn’t been left as escaped webpage text, that a messaging app hasn’t truncated the parameters, and that there isn’t an extra period at the end. Preserve percent-encoded values as they are; don’t decode them before pasting.

What you seeCheck firstWhat to do next
Unable to save or no result detectedCheck whether the copied text includes instructions, spaces, or truncationPaste only the complete URL; use the appropriate method for a single-server share string
Request timed outCheck whether the current network can reach the subscription URLKeep the current configuration, switch to a working network, and retry only this subscription
HTTP 401 or 403 responseCheck whether the token is valid or access is restrictedCheck authorization through your existing provider’s account page. Don’t share the full URL publicly.
HTTP 404 responseCheck whether the path was copied in full and whether the original URL has changedCopy the URL again from the original source, including all parameters
Request succeeds, but parsing failsCheck whether the response is a login page, error page, or unsupported formatCheck that the format is supported by Shadowrocket and that you haven’t used an account page as a subscription
List is empty after updatingCheck whether the remote source returned empty content or has filtering enabledCheck the subscription’s filter settings and the status of the original source. Don’t delete other working entries yet.

A URL opening in a browser doesn’t mean Shadowrocket can parse servers from it. The browser may show an account login page, an access verification page, or an error message. A successful HTTP request and a correctly formatted response are two separate things to check. For troubleshooting, record the error text and the stage where it occurred; there’s no need to send anyone a raw response containing credentials.

6. Verify after import: check updates, connections, and rules separately

After importing, verify in this order: whether the list is correct, whether the server connects, and whether the rules take effect. First, select the newly imported server in Home, turn on the connection, and allow the VPN configuration when prompted by the system. Then test a destination you’re authorized to access. If the server can’t connect at all, check the protocol and authentication first; don’t change the rules at the same time.

Global Routing → Config

Recommended

Traffic is handled according to the currently selected configuration file. The actual route depends on the rules, policies, and selected server—not just the subscription name.

Use when: you have defined rules and want to check everyday traffic routing.

Global Routing → Proxy

Traffic is handled in proxy mode rather than routed according to the usual rules in Config. This can help isolate rule-related issues, but doesn’t guarantee the remote service is available.

Use when: briefly separating server connection issues from rule-matching issues.

Global Routing → Direct

Traffic is handled in direct mode. Being able to reach a site in this mode doesn’t prove the newly imported server is working.

Use when: checking how the current network behaves with direct connections as a troubleshooting comparison.

Scene in Global Routing is for choosing a scenario; it isn’t a fifth import method. Settings → On Demand manages on-demand connection behavior and doesn’t retrieve servers. To prevent connections from changing automatically during troubleshooting, check the existing On Demand settings first. Don’t change automatic connection conditions before confirming that the connection works.

Shadowrocket is a closed-source commercial app, primarily used on iPhone and iPad. The App Store is the only place to get it. Check the App Store listing for system requirements and compatibility details. A one-time app purchase isn’t a service plan; buying the app and using a subscription you already have are separate steps.

Verify the official App Store listing