At a glance

This guide is for users who already have provider details and are importing them into Shadowrocket for the first time. First, distinguish a server subscription from a single share link or remote configuration. Then choose Subscribe, Add Server, QR code scanning, or clipboard import. Finally, check for subscription updates, review Global Routing, and test the connection—saving an entry does not mean it is ready to use. Interface labels refer to iPhone and iPad; on other platforms, look for the equivalent options.

1. Identify Your Details Before Importing

A subscription URL and a website URL may both start with https://, but they serve different purposes. A server subscription returns server entries the app can parse; a remote configuration contains sections, rules, or policies; a provider account page returns a webpage. Pasting an account page into Subscribe usually will not produce a usable server list. Check your provider’s description of each link rather than judging by its appearance.

Home is mainly for viewing, selecting, and connecting to servers; Config is for configuration files, and Settings is for app preferences. Distinguish Config’s Subscribe option from Home → “+” → Type → Subscribe by the kind of information you have: the former is for configuration subscriptions, while the latter adds a server subscription. Importing a server list does not also install a rules file, nor does it switch Global Routing to Config.

Server details

Subscription URL
https://example.com/sub?token=xxxx, shown as a fictional example only.
Single share link
Protocol links such as ss://, vmess://, vless://, and trojan://.
Main entry point
Home → “+” → Type → Subscribe; individual server details can also be imported by QR code or from the clipboard.
What to expect
A subscription group or individual server entry appears in Home.

A link prefix indicates its format, but successful parsing depends on the complete content and the app’s current support.

Configuration details

Remote configuration
A configuration file URL explicitly provided by your provider for Shadowrocket.
Main entry point
Use the remote configuration or Subscribe option in Config, then enter the URL in the relevant field.
Configuration contents
It may contain sections such as [General] or [Rule]; check the actual file first.
How to apply it
After downloading, select the intended configuration in Config, then check Global Routing.

A file extension is not a reliable way to identify the content; remote endpoints can return a configuration without an extension.

2. Subscribe: Import a Subscription and Check for Updates

If you have a server subscription URL, add it as a Subscribe entry rather than entering each server manually. This lets you refresh the list through the same subscription when your provider changes server addresses, ports, or the number of entries. Updating a subscription fetches the latest details; it does not test connection speed or extend your service period.

  1. Verify the details

    Copy the server subscription URL for Shadowrocket from your provider’s account page. Make sure you have not copied instructions, line breaks, or extra spaces along with it.

  2. Choose the type

    Go to Home → tap “+” in the upper-right corner to open Add Server, then set Type to Subscribe. Do not enter a subscription URL in the Server field for a standard protocol.

  3. Save the subscription

    Paste the full address in the URL field. You can add a recognizable name in Remarks, then save. The name is only for identification on your device and does not change what the subscription returns.

  4. Fetch the entries

    Return to Home and use the subscription’s update option. If the list supports pull-to-refresh, you can also pull down to refresh. Wait for the request to finish, then check whether server entries appear in the subscription group.

  5. Check the configuration

    If your provider also gives you a configuration URL, import it through Config → Subscribe or the remote configuration option. Once the configuration loads, select it for use. Do not use a server subscription URL in place of a configuration URL.

Fewer entries after an update does not necessarily mean the import failed; your provider may have removed or changed entries. Check the account’s service period and subscription notes, then look for any error messages. Manually edited server entries generated by a subscription may be overwritten during the next update. Keep a separate record of changes you need to retain rather than assuming a one-time edit will persist.

3. Add Server: Enter Protocol Details Manually

Use Home → “+” → Add Server when your details are provided as separate fields such as Server, Port, and Password—not as a subscription or share link. Choose Type first, then fill in each field. A matching server address and port do not identify the protocol. Choosing the wrong Type may still let you save the entry, but it will not create a valid connection.

Protocol or fieldDetails to checkCommon mistake
Server / PortEnter the hostname or IP address and port separately. If your details specify port 443, enter 443 rather than choosing a port based on the protocol.Pasting https://, a path, or the port into Server as well.
ShadowsocksCheck Method and Password. If the details require a plugin, enter its settings as specified.Entering only Password and overlooking a Method mismatch.
VMess / VLESSCheck UUID, transport, and TLS-related fields. Do not mix additional parameters from different protocols.Copying only the UUID and missing the WebSocket Path or Host.
Trojan / Hysteria2Check the authentication details and TLS Server Name. For Hysteria2, also check UDP reachability and the server’s requirements.Assuming the connection IP is always the correct TLS Server Name.
WireGuardUse the existing configuration to verify the Private Key, peer Public Key, Endpoint, address, and other required details.Treating a standard subscription URL as WireGuard configuration content.

For example, if your provider specifies Server as example.com, Port as 443, and a different domain for TLS Server Name, preserve each value in its corresponding field. Port 443 alone does not mean you can omit TLS, authentication, or transport settings. Do not disable certificate verification as a substitute for checking the domain and certificate.

4. QR Code and Clipboard Import: Check the Encoded Content

QR scanning and clipboard import are two ways to enter information, not additional protocols. A QR code may contain a single share link or just a webpage address. Clipboard contents can likewise include a webpage title, instructions, or multiple incomplete snippets. After recognition, check whether the result is an individual server, a subscription group, or configuration details.

Import by QR code

  1. Find the QR code icon in Home and open the scanner. If prompted the first time, grant camera access in the system dialog.
  2. Scan a QR code provided by your own provider, keeping the full code in view. If it is displayed on another device, avoid glare and make sure all four corners are visible.
  3. If the QR code is saved in your photo library, use the scanner’s photo-library option. If that option is unavailable, copy the text link for the same details instead.
  4. Review the detected Type, Server, Port, and other details before saving. If the result is only a regular webpage URL, it has not imported a server.

Import from the clipboard

  1. First, copy a complete, single share link, such as one starting with ss://, vmess://, vless://, or trojan://.
  2. Return to Home and choose Import from Clipboard in the “+” menu. If the app asks to access the clipboard, allow it for this import.
  3. Review the detected entry before saving. If that menu is not available in your current interface, paste the details into the corresponding field in Add Server or use a QR code from your provider.
  4. For an https:// subscription URL, go to Type → Subscribe → URL and paste it there. This makes clear that the link is a subscription and avoids treating a regular URL as a single share link.

5. Check Global Routing and the Connection After Import

A server appearing in Home only means its details were saved. Next, select a server you already have and turn on the connection. When creating a VPN configuration for the first time, follow the system prompt to authorize it. Then check Home → Global Routing. Different modes handle requests differently, so do not judge by the switch alone.

Config

Recommended

Requests are handled according to the rules in the selected configuration. Matching requests use the policy specified by the rule; requests that do not match follow subsequent rules and fallback settings such as FINAL. They do not necessarily go direct.

Use when: You have checked the configuration and want rule-based routing for everyday use.

Proxy

Routes intercepted requests through the proxy. This can help determine whether an issue is related to routing rules. Server authentication must still be correct, the transport must be reachable, and the app and system can only intercept supported traffic.

Use when: Temporarily testing to distinguish a rule issue from a server connection issue.

Direct

Handles intercepted requests as direct connections. If a server is selected but Global Routing remains on Direct, that does not test whether the server can forward requests.

Use when: Checking direct connectivity on the current network or explicitly using a direct connection temporarily.

Scene in Global Routing applies settings according to configured scene conditions; it is not a protocol type. Before checking the conditions and their associated behavior, do not treat Scene as a fixed Proxy or Config mode. For an initial test, use one clearly defined mode, then configure automatic switching.

6. Troubleshoot Subscription and Import Issues in Order

First identify where the failure occurs: subscription content was not downloaded, downloaded content could not be parsed, or entries are present but the connection fails. Repeatedly deleting and re-adding entries can erase useful troubleshooting clues. Keep the error message, and check the URL, network, and returned content without exposing tokens or authentication details.

Subscription updates keep timing out. What should I check first?

First, check whether your current network can reach the subscription URL. If you already have a working connection, connect before updating. If the subscription URL requires a proxy, check Settings → Subscribe → Update via Proxy. On a fresh install with no working server, this option cannot create a proxy connection by itself.

It says parsing failed, but the URL opens in a browser. Why?

Check whether the page contains subscription data, an account sign-in page, or an error. HTTP 200 means the request received a response; it does not guarantee the content is in the right format. Confirm you copied the subscription your provider identifies as compatible with Shadowrocket, not a dashboard URL. Do not share the full response publicly.

The QR code scanned, but no new entry appears in Home. What now?

Check whether the result is just a webpage, a configuration URL, or an incomplete link, then use the appropriate import option. A small image in your photo library may have lost detail through compression. Get a clear QR code from the original source or import the complete text link instead.

The subscription has entries, but webpages still will not load. What should I check?

Select an entry in Home and run Connectivity Test, then check whether Global Routing is set as expected. If only one entry fails, check its authentication and transport details. If all entries fail, check your current network, service period, and whether the server address has changed.

A name or parameter I changed reverted after an update. Why?

Subscription updates refresh generated entries based on remote content, so local edits may be overwritten. If you need to keep separate details, create a manual entry and note its purpose. Check the original subscription for changes after each update; do not use outdated parameters in place of new details from your provider.

After your first import, keep a short record that contains no sensitive credentials: the type of details, the import method, the Global Routing mode, and any error message. If a problem occurs later, update the details and repeat the same test before changing the configuration. Change one setting at a time so you can identify what affected the result.

Get Shadowrocket and Continue Setup

The iPhone and iPad app is a one-time $2.99 purchase on the App Store. The Mac (Apple silicon and Intel), Windows, Android, and Linux versions are free. Check the App Store listing for current iPhone and iPad system requirements. Developer: Shadow Launch Technology Limited. Buying the app does not include a server plan; you still need to use details from a provider you already have.