At a glance

If you already have your own subscription or server details, first identify whether you have a subscription URL, a single-server URI, or a remote configuration file. Then choose Subscribe, Add Server, QR code, or clipboard as appropriate. This guide explains what each import method in Shadowrocket does and what to check afterward. A successful save only means the information was stored; it does not confirm that the server is working.

Tell subscriptions, single servers, and configuration files apart

A subscription is usually a URL that can be refreshed. The app requests that address to retrieve a server list. A single-server URI encodes one server’s protocol and connection parameters in a text string, and usually adds just one entry. Either type may be shared by QR code or clipboard, so scanning or copying describes the input method, not the content type.

Config manages configuration files, Home shows servers and subscription groups, and Settings manages app preferences. A remote configuration file may also use an HTTPS address, but its contents are settings such as rules, DNS, and policies. Don’t treat it as a server subscription just because it looks like a URL.

Subscription URL

Example address
https://example.com/sub?token=xxxx
Import type
Subscribe
What gets saved
A server group that can be refreshed from its original URL
Sensitive information
Path, query parameters, and access token

This is a fictitious example, not a working subscription. Use the complete address you already have.

Single-server URI

Common prefixes
ss://、vmess://、vless://、trojan://
What gets saved
Connection parameters for one server
Import methods
QR code, clipboard, or manual entry by parameter
How updates work
A regular standalone entry does not automatically become an updatable subscription

A protocol prefix can help identify the content, but it does not guarantee that the URI has complete or correct fields.

When you receive a link, check the provider’s description of its content first. If you only have a webpage, find the address or server parameters explicitly identified as the subscription details. Don’t paste a login, order, or information page into Subscribe. Avoid testing private links that contain tokens with public online conversion tools.

Subscribe: Add an updatable server list

To add a server subscription, open Add Server from the “+” in the top-right corner of Home, then select Subscribe under Type. Note the distinction if you’re looking for “Subscribe in Config”: remote configuration actions in Config and server subscriptions in Home are different things. If you see Subscribe, check which page you’re on and what you’re adding. Don’t use a remote configuration URL in place of a server subscription URL, or vice versa.

  1. Check the content

    Have your own subscription URL ready. Make sure it includes the complete scheme, path, and query parameters, without quotation marks, line breaks, or explanatory text from a chat message.

  2. Open the import option

    Go to Home → “+” in the top-right corner → Add Server → Type → Subscribe. Make sure you’re adding a server subscription, not a remote rules configuration in Config.

  3. Paste the address

    Enter the complete address in URL. Use the name or notes field only to identify the group; don’t use the full subscription URL as a public note.

  4. Save and refresh

    After saving, return to Home and check for the subscription group and its server entries. If no list appears, refresh the subscription and check the result.

  5. Check the result

    Expand the group and check that its name, protocols, and entry count match the information you have. If the group is empty, investigate the request or format first; don’t repeatedly add the same address.

Getting the list after saving and refreshing it later both depend on the subscription URL being reachable and returning compatible content. If the group already exists, refresh it instead of importing the same address again. Duplicate imports can create groups with similar names and make it easier to select the wrong entry.

Add Server: Enter one server manually

If you only have fields such as a server address, port, password, or UUID, enter them manually using Home → “+” → Add Server. Choose the actual protocol under Type; having a domain name alone doesn’t mean you should select Subscribe. Shadowsocks, VMess, VLESS, Trojan, Hysteria2, and WireGuard use different fields, so don’t apply the same parameter list to all of them.

FieldWhat to checkCommon mistake
TypeMatch the protocol in the service details you already haveEntering VLESS parameters in a VMess entry
AddressServer domain name or IP addressEntering a full webpage URL, including its path, in the address field
PortThe port the service actually listens on; valid values range from 1 to 65535Changing the port to 443 just because TLS is enabled
CredentialsEnter a password, UUID, or key as required by the protocolIncluding spaces when copying, or using a note as the password
TLS and transportCheck applicable fields such as TLS, SNI, transport type, and pathAssuming the same domain means SNI or path differences don’t matter

Port 443 is just one commonly used service port, not a universal answer. Check your existing configuration to see whether TLS is enabled, what to enter for the server name, and whether a transport such as WebSocket is used. WireGuard also has protocol-specific parameters, including keys, addresses, and peers; don’t infer them from a standard proxy password field.

QR code and clipboard: Choose what to do based on the content

Open the scanner from the scan icon on Home. If you use the camera, grant permission when prompted by the system. A QR code may contain a single-server URI, a subscription URL, or an ordinary webpage address. Review the detected content and confirmation screen before saving; detecting a QR code does not mean a server has been added.

QR code and clipboard import checklist

QR code on another screen
  • Open the scanner on Home and position the QR code fully within the frame.
  • Check whether the detected content is a subscription URL or a single-server URI.
  • After confirming the save, return to Home and check for a new group or entry.
  • If the result is an ordinary webpage address, find the actual configuration content first.
Text on this device
  • Copy only the complete link—not its title, bullet point, or explanatory text.
  • Return to Shadowrocket. If a clipboard import prompt appears, check the detected content first.
  • If the system asks for permission to paste, allow access as needed for this import.
  • If no import prompt appears, paste the subscription URL directly into the URL field under Subscribe.

QR code and clipboard change how content is entered. Whether the result is an updatable group still depends on whether you import a subscription or a standalone server.

If the QR code is saved on this device and the scanner offers an option to read from Photos, select the original image. Otherwise, use the text link provided with the content. Cropping, resizing, or compressing an image can prevent scanning. Don’t try to work around this by submitting a private link to a public webpage that re-encodes it.

No clipboard prompt doesn’t necessarily mean the format is wrong; it may be related to system paste permissions or the current screen. First confirm that you copied the complete original text. Don’t paste a single-server URI into the URL field under Subscribe. Use an import option that recognizes the URI, or enter its complete known parameters manually.

Choose between Subscribe and a standalone server entry

Choose based on whether you need to maintain a server list from its original URL, not on which method takes fewer steps. If you already have a working subscription, keeping it as a subscription makes future updates easier. If you have parameters for just one fixed server, a standalone entry is more direct. The comparison below covers the two ways Shadowrocket saves server information.

Subscribe group

Recommended

Save the subscription source and retrieve the list again by refreshing it. Updates may change server names, counts, or parameters, so treat the subscription as a collection maintained by its original source.

Best for: An existing subscription URL that you need to keep updated as the list changes.

Add Server standalone entry

Save the parameters for one server so you can check them individually. A regular standalone entry doesn’t update from a subscription URL; if the parameters change, import them again or edit them manually.

Best for: Complete parameters for one server, or when you need to check a connection independently.

If the same server appears in both a subscription group and a standalone list, these are two separate saved items. Don’t assume that changing one will update the other. Before removing a duplicate, check which entry is selected and keep the original information in case you need to restore it.

After importing: Check the list, then test the connection

A complete check has three stages: saving, retrieving, and connecting. If saving fails, check the input. If fetching a subscription fails, check the URL and response. If the list is present but webpages won’t load, check the server parameters, routing mode, and DNS. Don’t keep deleting and re-adding the subscription when the problem occurs at the third stage.

4
Import methods covered: Subscribe, Add Server, QR code, and clipboard
4 items
Global Routing:Proxy、Direct、Config、Scene
1–65535
Valid numeric range for manual Port entry; the actual value depends on the service configuration
  1. Check the Home list. The subscription group is not empty, the intended server can be selected, and its protocol is as expected. A latency test result does not mean every website will be accessible.
  2. Check Global Routing. Proxy uses the proxy route, Direct connects directly, Config applies the current configuration, and Scene applies the configured scene. Choose the mode that matches your test destination; don’t rely on the connection toggle alone.
  3. Check system authorization. The first time you enable a connection, follow the system prompts to add a VPN configuration. Once authorized, check the connection status and request behavior.
  4. Check Config. In Config mode, confirm which configuration is active. Rules such as DOMAIN-SUFFIX, GEOIP, and IP-CIDR determine matching conditions; FINAL handles requests that didn’t match earlier rules. Importing a server subscription doesn’t configure these rules.
  5. Pause automatic connection. Settings → On Demand controls the conditions for connecting on demand; it can’t fix incorrect credentials or an invalid link. Verify a manual connection first, then adjust the automatic connection settings.

Common import problems and what to check first

Subscription saved, but only the group appears. What should I do?

Refresh the existing group first, then check any error message. Make sure the URL contains its token, has no extra spaces, and isn’t a login page. If the request returns a webpage, empty content, or an incompatible format, the address may still save successfully but won’t produce a usable list. Repeatedly adding the same address won’t fix the response.

What should I check for HTTP 401, 403, or 404?

A 401 usually means authentication failed, a 403 means the request was denied, and a 404 means the requested resource wasn’t found. These status codes can help narrow down the issue, but they don’t prove its exact cause on their own. Check whether the full link has changed, whether the token is still valid, and whether your current network can reach the subscription source. Share the status code when asking for help, but don’t disclose the full URL.

The QR code scans, so why weren’t multiple servers imported?

First check what the scan detected. A single-server URI usually corresponds to one entry. Only a subscription URL that points to a server list may create a subscription group. If the QR code contains an information page, get the actual subscription or parameters from your original materials; scanning a webpage can’t turn it into a subscription.

Should I paste a remote file URL from Config into Subscribe?

Don’t decide based on how the address looks. A remote configuration contains settings such as routing and DNS, while a server subscription primarily provides a server list; both may use HTTPS URLs. Check what the content is for: manage configuration files in Config, and add server subscriptions from Home using the Subscribe type. Before importing a configuration, understand how it will handle requests.