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.
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.
-
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.
-
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=xxxxonly illustrates the URL format; it is not a usable subscription. -
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.
-
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.
-
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.
- For easier lookup: Use a consistent prefix in subscription remarks, such as “01-Primary” and “02-Backup.” Prefixes make subscriptions easier to identify; they affect display order only if the list is actually sorted by name.
- To compare latency: Run tests under the same network conditions, then use the latency sorting option in the list. A test timeout means the test didn't finish in time; it doesn't prove the server is permanently unavailable.
- To arrange entries manually: Check the current list for editing and sorting controls. If the list supports drag-and-drop, reorder the entries and save. Sorting options may vary between lists; sorting servers within a group is not the same as sorting subscription sources.
- To keep a frequently used server handy: After sorting, check which server is selected on Home. Being first in the list doesn't make it the current connection target.
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 check | Example | How to assess it |
|---|---|---|
| Subscription source | The full URL is identical, and the subscription was imported twice | Back up first, then consider removing the extra subscription source |
| Type and endpoint | Same-named entries use Trojan and VLESS, respectively | Different protocols; don't merge based on the name |
| Address and Port | The same address uses ports 443 and 8443, respectively | Different ports mean different connection endpoints |
| Authentication details | Same address and port, but different UUID or Password | Different authentication settings mean the entries aren't equivalent |
| Transport and TLS | Same endpoint, but different transport, Host, Path, or SNI | These 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
RecommendedConnections 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.
- Entry is present but won't connect: Check the protocol settings, authentication details, and whether the service is active.
- Update fails but the old entry still connects: Troubleshoot access to the subscription URL and the server connection separately; they are different issues.
- Connection resumes automatically after you disconnect: Check whether Settings → On Demand is enabled and review its conditions before continuing to organize subscriptions.
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.
- Source details: Keep the subscription URL, Remarks, purpose, and how it differs from other sources.
- Local changes: Record any server names, protocol settings, ordering, and current selection you've changed.
- Configuration references: Back up the Config you're using, especially policies that refer to specific server names.
- Alternative server: If you're about to delete the source currently in use, switch first to another server you've verified works.
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.