How to Manage Multiple Subscriptions in Shadowrocket: Organize Servers, Remove Duplicates, and Delete Subscriptions

Learn how to label subscription sources, reorder servers, find duplicate entries, and back up what you need before deleting a subscription.

At a glance

This guide assumes you already have your own provider and subscriptions. It walks through labeling sources, updating subscriptions one at a time, organizing their order, checking for duplicates, and backing up before deletion. It distinguishes subscription URLs, server entries, and routing rules in Config so you don't delete same-named servers by mistake or mistake list order for an automatic switching policy.

1. Understand the difference between subscriptions, servers, and Config

A Shadowrocket subscription provides server settings. One subscription can return multiple server entries, and two subscriptions can contain entries with the same name but different settings. When organizing multiple subscriptions, preserve their source information before handling the entries. Don't decide whether something is a duplicate based on its displayed name alone.

Home is where you view servers and choose a connection target; Config is where you manage configuration files and rules. Deleting a subscription from Home does not also remove references to server names or policies in Config. Likewise, switching Config does not replace an existing subscription URL.

Home
Check subscription sources, server entries, and the current selection
Config
Check whether rules and policies reference server names
Settings → Subscribe
Review subscription update settings

Here, grouping means identifying sets of servers by subscription source—not creating a policy group that automatically tests speeds or switches servers. List order, the currently selected server, and the policy ultimately used by rules are three separate states to check.

2. Label existing subscriptions, then update them one at a time

Give each subscription a clear purpose and source label, such as “Personal-Primary-A” or “Travel-Backup-B.” Don't put full subscription URLs, passwords, or account credentials in remarks. A label helps you identify a subscription; it doesn't change its protocol, port, or connection priority.

  1. Record the current setup

    Go to Home and note the existing subscription names, the number of entries in each group, and the currently selected server. Don't re-import an existing subscription just to rename it, or you may add a duplicate source.

  2. Check the URL

    Open the target subscription's edit screen and compare its URL with your original records. The example https://example.com/sub?token=xxxx only illustrates the URL format; it is not a usable subscription.

  3. Add a remark

    In the subscription editor, enter a short label in Remarks and save. To add an existing subscription, go to Home → “+” in the upper-right corner → Type → Subscribe, then enter the URL and Remarks.

  4. Update subscriptions individually

    Use the update action for the subscription you want to refresh, handling one at a time. If pulling down to refresh on Home updates multiple subscriptions at once, check each group's result afterward; success for one group doesn't mean they all updated successfully.

  5. Check what changed

    Compare the entry count, names, and current selection before and after the update. If entries are missing afterward, first check what the source returned and the update result. Don't immediately re-import the subscription repeatedly to restore them.

Query parameters in a subscription URL may be used for authentication. Even if two URLs have the same domain and path, a different token means you can't assume they point to the same subscription. Compare full URLs only on your own devices, and redact authentication parameters when describing an issue to others.

3. Set the source order first, then organize server entries

Organize multiple subscriptions in two passes: first group them by source and purpose, then arrange the servers within each group. Finish an update cycle before sorting, so additions, removals, or name changes caused by an update don't disrupt your checks.

Don't assume the entry with the lowest latency is best for every task. Latency tests measure something different from webpage loading or sustained downloads, and results depend on your current Wi-Fi or cellular network and server load. This guide doesn't provide test rankings; use your own results gathered under consistent conditions.

4. Remove duplicate servers by comparing settings, not names

Duplicate entries generally fall into two categories: the same subscription was imported more than once, or different subscriptions returned similar servers. Address duplicate sources first; for similar servers, compare their connection settings. A matching name, region, or resolved IP alone isn't enough to conclude that two entries are interchangeable.

Field to checkExampleHow to assess it
Subscription sourceThe full URL is identical, and the subscription was imported twiceBack up first, then consider removing the extra subscription source
Type and endpointSame-named entries use Trojan and VLESS, respectivelyDifferent protocols; don't merge based on the name
Address and PortThe same address uses ports 443 and 8443, respectivelyDifferent ports mean different connection endpoints
Authentication detailsSame address and port, but different UUID or PasswordDifferent authentication settings mean the entries aren't equivalent
Transport and TLSSame endpoint, but different transport, Host, Path, or SNIThese differences can determine whether a connection succeeds

In short: remove duplicate sources first, then compare individual settings

Once you've confirmed the same URL was imported twice, keep the copy with clear remarks that you've verified works. Keep same-named servers with different settings for now; don't delete them in bulk based on their names.

Even when two entries have identical connection settings, check which subscription each belongs to. Deleting a single server from a subscription doesn't change what the remote source returns, so the entry may reappear at the next update. Local cleanup can reduce clutter in the current list, but it doesn't permanently change the subscription contents.

Server names may also be referenced by policies in Config. Before renaming or deleting entries in bulk, open the configuration you're using and check for explicit references to those names. Don't just check the matching conditions in DOMAIN-SUFFIX, GEOIP, or IP-CIDR; also check the policy targets at the end of rules and what FINAL points to.

5. Verify your setup: distinguish list issues from Global Routing

If a selected server doesn't connect as expected, the problem may not be the sorting or subscription. First check the current server on Home, then review Global Routing. The three common modes below illustrate what each can help rule out during troubleshooting. You don't need to keep switching all the settings while organizing subscriptions.

Config

Recommended

Connections are handled according to the rules and policies in your current configuration. Rules may specify direct connections, proxy connections, or other policies, so you can't infer the route for every request from the current Home selection alone.

Best for: Checking how your everyday configuration works after organizing subscriptions

Proxy

Routes connections handled by Shadowrocket through a proxy. This can help determine whether an issue is related to rule-based routing, but you still need to confirm the current proxy target.

Best for: Briefly checking whether an issue is with the server itself or rule selection

Direct

Handles connections directly. Being able to open a webpage in this mode doesn't prove that the selected proxy server works.

Best for: Comparing direct access on your current network

Keep the same network during testing, select a specific server, turn on the connection switch, and run Connectivity Test. Then visit a destination you need and check the result. If you temporarily changed modes, restore your original Global Routing setting afterward so you don't leave a troubleshooting mode in place for everyday use.

6. Back up before deleting a subscription, then check references

Leave deletion until the end of the cleanup process. First make sure you can retrieve a valid subscription URL again, then record any local changes. A screenshot showing only server names can't restore full connection settings and isn't a substitute for backing up the subscription URL. Keep records containing authentication details in a secure place you control.

Find the target subscription on Home and use its delete action. If the list offers a swipe menu, swipe left on the subscription row to see Delete. Confirm that you're deleting the subscription source, not an individual server entry, then follow the confirmation prompt. If the scope shown doesn't match what you expect, cancel rather than tapping repeatedly to find out.

Deleting a local subscription doesn't cancel the service with its provider or automatically revoke authentication permissions associated with its URL. If the URL has been exposed, reset the credentials through your service account using the available method. Removing the entry from Home alone won't invalidate the old URL.

Why does a deleted server come back after an update?

The remote subscription is still returning the entry. First confirm whether you deleted an individual server or the entire subscription. If you only want to remove a duplicate source, back up your data and remove the extra subscription instead of deleting entries one by one after every update.

Two subscriptions have the same name. Can I delete one?

Open each subscription's edit screen and compare the full URLs, then check the protocols, addresses, ports, and authentication settings within each group. Matching names only mean the display labels match; that's not a reason to delete one.

One subscription update timed out. Should I reinstall?

First check whether that URL is still valid, then go to Settings → Subscribe → Update via Proxy. If the update needs a proxy, connect to a server you've verified works, retry, and check the result. Don't clear the entire list because one subscription failed to update.

How do I restore my original remarks and ordering after deleting a subscription by mistake?

Use your backed-up URL to add the subscription again via Subscribe and retrieve its remote entries. Local remarks, manual setting changes, and ordering aren't guaranteed to return; restore them from your pre-deletion notes, then check references in Config again.

Verify Shadowrocket on the App Store