How to Add a Subscription to Shadowrocket: Step-by-Step Guide

Already installed Shadowrocket but unsure where to enter your subscription URL? Follow this beginner-friendly guide to add a provider link from the Configura…

At a glance

This walkthrough is for iPhone and iPad users who already have their own subscription URL and want to add it to Shadowrocket. You’ll find the subscription entry point on Home, save the URL, load the server entries it returns, and refresh them later. You’ll also learn how to distinguish an invalid or expired link from a connection problem. Subscription contents, access, and update behavior are controlled by the provider; adding a URL does not create an account or supply a service.

Before you add a subscription

A subscription URL is an address Shadowrocket can request to retrieve configuration entries. Depending on what your provider supplies, one URL may return several server entries or other configuration data. This is different from a single-server share link: a link beginning with ss://, vmess://, vless://, or trojan:// usually represents one server configuration, rather than a list that can be refreshed as a subscription.

Use the exact URL supplied for your own account. Subscription URLs often contain access tokens or other credentials, so treat the complete address as private. Don’t post it in a public forum, include it in a screenshot, or send it to someone who does not need access. If the provider gives you several links, check its instructions to identify the subscription URL rather than guessing from the link’s appearance.

Make sure the URL is complete before importing it. A copied link can lose characters if you select only part of a message, omit text after a question mark, or accidentally add a space at the beginning or end. The full URL may contain punctuation and a long token; don’t shorten it or remove query parameters to make it look tidier. If you’re unsure whether you copied the right address, copy it again from the provider’s original account page or message.

Subscription URL

Purpose
Retrieve configuration entries from your provider
Typical entry point
Home → + → Type → Subscribe
Refresh
Request the subscription again to load available updates

The URL is an access credential. Keep it private and use the exact address supplied to you.

Single-server link

Purpose
Import a particular server configuration
Common prefixes
ss://, vmess://, vless://, trojan://
Refresh
A standalone share link is not necessarily a subscription

Choose the import method that matches the item your provider supplied.

These instructions assume Shadowrocket is already installed and that you have a subscription URL from a provider you already use. The app is a paid Apple-platform client; purchasing it and obtaining a subscription are separate matters. Adding a subscription does not include a service plan, server access, or account credentials. If a required URL or account detail is missing, ask the provider that issued it instead of entering a sample address from an article.

Add the subscription URL

In Shadowrocket, open Home and tap the + button. In the add screen, set Type to Subscribe, then enter the subscription URL in the URL field. The exact arrangement of fields can vary with the app version, but the important distinction is that you are adding a subscription, not manually creating one server entry. If the screen is already set to another type, change it before pasting the URL.

  1. Open Home

    Launch Shadowrocket and stay on Home. If you have multiple screens or entries open, return to Home before adding anything.

  2. Choose Subscribe

    Tap +, open the Type selector, and choose Subscribe. Don’t choose a single-server protocol type for a subscription URL.

  3. Paste the URL

    Paste the complete URL provided for your own subscription. Check the beginning and end of the address, and remove any accidental spaces outside it.

  4. Save the entry

    Save the subscription, then allow Shadowrocket to request its contents. Keep the app open while the request is in progress and note any error message shown.

  5. Check the result

    Return to the server list on Home. Confirm that entries have appeared before selecting one; a saved subscription record and a loaded server list are not the same thing.

If the URL is accepted but no entries appear, don’t repeatedly add the same address as a new subscription. First check whether the existing entry shows a request error, then compare the saved URL with the provider’s original copy. Re-adding duplicates can make the list harder to inspect without correcting the underlying issue. If the add screen presents a name or remark field, use a label that helps you identify the subscription; the label does not change the URL or grant access.

After entries load, tap the server you intend to use so it becomes the selected server. Check Global Routing on Home as well: selecting a server and choosing how traffic is routed are separate actions. An imported list does not automatically prove that the selected server can connect or that a destination will be reachable. If this is your first connection on the device, the system may also ask whether Shadowrocket can add a VPN configuration. Read the system prompt and allow it only if you want to use the VPN connection feature.

Refresh and check the server list

A subscription is useful because its contents can be requested again, but the result depends on the provider’s current response and the URL’s validity. To refresh, open Home and pull down on the list if that gesture is available in your version of Shadowrocket. Wait for the request to finish, then check whether the entries or their details have changed. If your provider documents a different update method, follow those instructions. Refreshing a list is not the same as establishing a connection.

Practical check: separate import from connection

First verify that the subscription request completed and entries are visible. Then select an entry and test the connection. If you combine refresh, server selection, and routing changes before checking the result, it becomes difficult to tell which stage needs attention.

When comparing a refreshed list with an earlier one, look for the actual result rather than assuming that every successful request must add new entries. A provider may return the same list when nothing has changed, replace entries, or return no usable entries if the account or subscription is no longer available. Shadowrocket displays what it receives; it cannot restore items that the provider no longer includes.

For a useful troubleshooting record, note the date and time of the update attempt, the exact error text, whether you were on Wi-Fi or cellular, and whether the list was empty or unchanged. You do not need to record or share the full subscription URL. If you contact the provider, describe the outcome without exposing the token; share sensitive details only through the provider’s own appropriate support channel.

An error while retrieving a subscription points to a different stage than an error after selecting a server. Start by deciding whether Shadowrocket failed to fetch the subscription or whether it fetched entries that later failed to connect. That distinction prevents a connection problem from being “fixed” by repeatedly changing the subscription URL, and prevents an invalid URL from being mistaken for a server-selection problem.

Shadowrocket says the subscription URL is invalid. What should I check?

Copy the URL again from the provider’s original source and paste it into the existing Subscribe entry. Check that the full address, including text after any ?, was copied and that no spaces were added. If the same error remains, ask the provider to confirm that the URL is current and intended for Shadowrocket.

I saved the subscription, but no servers appeared. Did I miss a step?

Check whether the subscription request completed or displayed an error. If it completed with an empty list, verify with the provider that your account is active and that the URL returns entries. If the request failed, check the URL and current network first; saving the entry alone does not confirm that its contents were retrieved.

The server list is there, but nothing connects. Should I add the URL again?

No. First confirm that a server entry is selected and check Global Routing on Home. Then try the connection and note the resulting status or error. If the subscription loaded successfully, ask the provider whether the selected entry and account are currently usable; re-adding the same URL does not repair a connection issue.

Is it safe to send my subscription link with a screenshot?

Treat the complete URL as a credential because it may contain an access token. Don’t include it in a public screenshot or forum post. When requesting help, provide the error wording and describe the steps you took, while keeping the URL and account details private.

If an update works on one network but fails on another, record which network you used and check whether the provider requires a particular route to reach its subscription address. Don’t assume that a successful web request from another app proves the same request will work in Shadowrocket under the current routing settings. Change one condition at a time and retry the existing subscription entry. If the error consistently points to an expired, revoked, or unavailable link, only the provider can issue or confirm a replacement.

Keep the subscription entry you actually use, remove only duplicates you recognize, and avoid editing provider-controlled URL parameters unless the provider instructs you to do so. A clean sequence is straightforward: add the exact URL as Subscribe, wait for the returned entries, refresh when needed, select a server, and test the connection as a separate step. For account status, missing entries, or a replacement link, contact the provider that supplied your subscription.

App Store verification