How to Add Servers to Shadowrocket: Subscribe, Add Server, QR Code, and Clipboard Import

Learn where to find Subscribe, Add Server, QR code scanning, and clipboard import, plus which formats each option supports.

At a Glance

When adding a server in Shadowrocket, start by identifying the format of the information you have: use Subscribe for a URL that updates periodically, Add Server for individual parameters, QR code scanning for a QR code, or clipboard import for complete, supported share text. This guide explains where to find each option, how to check the fields, and what to look into first if the list is empty after import.

First, Understand the Difference Between Server Entries, Subscribe, and Config

“Adding a server” usually means making existing server details appear in Shadowrocket’s Home list. A server entry stores the protocol and parameters needed to connect. Subscribe retrieves a set of entries from a subscription URL you already have, while Config is for viewing and managing configuration files. These are not interchangeable: pasting a single server share link into Subscribe or using a subscription URL as a server’s Address usually won’t work as expected.

Before you begin, make sure the information comes from a service you already use, then check whether you have a subscription URL, complete parameters, a QR code, or copyable share text. A protocol name alone, without an Address, Port, and the required credentials, isn’t enough for manual setup. Shadowrocket reads and uses the details you enter; whether an entry connects also depends on the information being valid and current network conditions.

Subscribe

Recommended

Have an active subscription URL? Import it using the matching option, then check the entries it retrieves.

Best for: a complete subscription URL that you’ll need to refresh when the details change

Add Server

Enter one server’s details field by field, matching the protocol and parameters in your source information.

Best for: individual parameters for a single server

Scan a QR Code

Let the app read the QR code’s contents, then check that the result matches the intended entry.

Best for: a scannable server share code

Import from Clipboard

Read details from copied share text, provided the format is supported by the current option.

Best for: complete share text that’s easy to copy

Method 1: Import an Existing Subscription with Subscribe

If you have a URL that starts with https:// and is used to retrieve a server list, handle it with Subscribe. The path, query parameters, and token are all part of the original URL; don’t remove them when copying, and don’t treat an example URL as a working service. The example below shows the format of a subscription URL only; it is not a real subscription:

https://example.com/sub?token=xxxx
  1. Check the Original

    Copy the complete subscription URL from your existing information. Check that you’ve copied the beginning, end, and all query parameters, and watch for extra spaces or line breaks before pasting.

  2. Open the Option

    In Home, open the add option and choose Subscribe under Type. When viewing configuration files in Config, don’t mistake a configuration file for a subscription server list. Button placement may vary in the current app interface.

  3. Paste and Save

    Enter the URL in the subscription address field and save as prompted. The name can help you identify the subscription; it doesn’t replace the actual URL.

  4. Check the List

    Return to Home and check the subscription and its server entries. To retrieve changes, use the update option currently available for that subscription. Verify separately that it was saved and that entries were retrieved.

A subscription appearing without any servers in the list doesn’t necessarily mean you chose the wrong option. First check that the URL is complete, then confirm it can retrieve content on your current network and that the returned content is in a format the app can recognize. If the subscription has changed, use the update option to retrieve the new content; simply selecting an existing entry won’t update it.

Method 2: Enter Server Details Manually with Add Server

If you have the protocol, Address, Port, and credentials for a single server but no subscription URL, open the add option in Home, choose the appropriate Type, and fill in Add Server. Identify the protocol before entering details: Shadowsocks, VMess, VLESS, Trojan, Hysteria2, and WireGuard require different fields. Don’t enter one protocol’s password or identifier in a field for another protocol. A server name alone isn’t enough to determine the Type.

Enter the domain or IP address provided in your source information under Address, and the specified number under Port. Don’t guess based on the protocol. The 443 below illustrates how a port is written; use it only if the original information explicitly specifies 443. Set TLS, transport, SNI, and other options according to the source information as well. If these settings don’t match, the connection may fail even when Address and Port look correct.

Check a Single Trojan Entry

Type
Trojan
Address
Copy the domain or IP from the source information
Port
Copy the port from the source information, such as 443 if it’s explicitly specified
Password
Use the complete credentials for this entry
SNI
Enter the hostname only if the source information requires it

Similar field names don’t mean their contents are interchangeable. Compare each field with the original information before saving.

Check a Single Shadowsocks Entry

Type
Shadowsocks
Address
Copy the domain or IP from the source information
Port
Enter the port number specified in the source information
Method
Select the encryption method specified in the source information
Password
Enter the password for this server

Method and Password must come from the same server entry; don’t combine details from different entries.

After entering the details, return to Home and check that the entry’s name, Type, and server address are as expected, then select it and test the connection. For VMess or VLESS, enter the UUID exactly as provided. If transport or TLS parameters are also specified, check each one against the source information. WireGuard uses its own keys and network parameters; don’t use the password fields shown above as a template.

Methods 3 and 4: Scan a QR Code or Import from Clipboard

QR codes and clipboard text are ways to deliver information, not new connection protocols. A QR code may contain a single server share link or just a regular web address. Text may be a supported share link or a few lines of parameters for manual entry. After reading it, check what the app actually recognized rather than assuming the scan or paste worked as intended.

Choose How to Read the Information You Have

QR Code on Another Screen
  • Find the QR code scanning option in Home and allow camera access when prompted by the system.
  • Fit the entire QR code in the viewfinder. After scanning, check whether the result is a server entry or a link.
  • If the result is a subscription URL, follow the Subscribe steps to check and save it.
Share Text You Can Copy
  • Copy the complete text, then use the clipboard option available in the current Home add interface.
  • After import, check Type, Address, and Port. If the text isn’t recognized, check that the original is complete.
  • If the source only lists individual parameters, enter them with Add Server instead of trying to parse them as a share link.

In short: Check the contents and format of the import result before saving. A successful scan or copy doesn’t mean the server parameters have been verified.

If the QR code is displayed on the same iPhone, the camera usually can’t scan the screen it’s on. Use copyable text provided with the existing information, or an image-reading option if the current app offers one. The same principle applies on iPad, though the interface may look different depending on the device layout. If some fields are missing after recognition, don’t guess the password, UUID, or keys; check the original information.

How to Check Whether an Imported Entry Works

First, make sure the intended entry appears in the Home list and that it’s selected. Then connect as prompted by the app and use the connection status shown in Home and Connectivity Test to help troubleshoot. An entry in the list only means its details were saved or read; it doesn’t confirm a successful connection. Interpret test results in light of your current network and routing mode.

When using Config mode, also check the rules in the current configuration file. DOMAIN-SUFFIX matches domain suffixes, IP-CIDR matches IP ranges, GEOIP matches based on geographic location, and FINAL handles requests that didn’t match earlier rules. A rule may route traffic through a proxy or directly. The result for one website doesn’t, by itself, prove that a server entry is correct or incorrect. Check the connection test, selected entry, and rule result separately.

Common Issues: Duplicates, Empty Lists, and Format Mismatches

Start by checking the current app interface against your original information. Before making changes, note the entry’s name and source so you don’t confuse subscription entries with manually added ones. Two entries that look the same may be managed through different options.

I saved a Subscribe entry. Why is the list still empty?

First, confirm that you saved the complete subscription URL. Then update the subscription and check the result. If the list is still empty, check what the URL returns on your current network and whether its format is supported. Don’t enter a subscription URL as a server Address.

The QR code opened a URL, but there’s no server entry. Why?

Check what the QR code actually contains. If it’s a subscription URL, save it with Subscribe and update it. If it only leads to an information page, find an importable link or individual parameters in the information you already have.

There’s text on my clipboard. Why wasn’t it recognized?

Copy the complete original text again, making sure you haven’t missed the beginning, end, or query parameters. Individual fields such as Address, Port, and password aren’t necessarily parseable share text. Enter those details using Add Server instead.

Two entries have the same name. Which one should I change?

Check each entry’s source and fields. Subscription entries are updated through their subscription; manually added entries are maintained field by field. Decide which source you want to use before clearing duplicates, and don’t rely on the display name alone.

Before setting up Shadowrocket for the first time on iPhone or iPad, make sure you’re getting it from the App Store. The listed developer is Shadow Launch Technology Limited, and the app ID is 932747118. Check the App Store page for system requirements. Shadowrocket is a one-time purchase; buying the app and obtaining your own connection details are separate matters. Once you’ve verified the app, choose the import method that matches the information you already have.

Verify the App, Then Choose the Import Method That Matches Your Information

Check the App Store product page on the app verification page. If you already have the app and connection details, continue with the quick-start guide to review Home, Config, and connection steps.

Visit the App Verification Page → Read the Guide →
Verify Shadowrocket on the App Store