How to Manage Multiple Shadowrocket Subscriptions: Organize, Reorder, Remove, and Deduplicate

Organize multiple subscriptions into groups, change their order, remove expired entries, and spot duplicate nodes to keep your Home list easy to navigate.

At a glance

This guide is for users who already have subscriptions from their service provider and want to organize multiple sources. First check where each subscription came from and what is currently connected. Then group subscriptions by source, adjust their display order, and check for duplicates or expired entries. Keep subscription records, nodes within a subscription, and Config separate: tidying the Home list does not change routing rules, and deleting a node does not stop the upstream subscription from returning it.

Subscriptions, Nodes, and Config: Know the Difference

Shadowrocket’s Home screen is where you view the server list, choose a connection, and control the connection. A Subscribe entry stores a subscription URL and retrieves server information from that address when updated; a node contains the specific connection settings. Config manages configuration files, including rules and policies. Adding another subscription does not switch the active Config or mean that connections will automatically choose among all subscriptions.

1 source
Each Subscribe entry corresponds to one subscription URL
2 kinds of deletion
Confirm separately before deleting a subscription record or an individual node
3 things to check
Home、Config、Global Routing

Before organizing, note the currently selected node and its source in Home, then check Global Routing and the active Config. If your configuration uses fixed node names or policy groups, renaming or deleting a node may affect later selections. Keep a recoverable copy of the configuration and the original subscription URLs so you won’t have to guess where an entry came from after cleanup.

Import and Group Subscriptions by Source

Start by distinguishing subscriptions by source, rather than mixing them all together by region. Different sources may use identical node names; if you only look at “region + number,” an update failure from one source can easily be mistaken for a problem with another. Get subscriptions from your service provider. Check what each link is for before deciding whether to keep it alongside the others.

  1. Check Existing Entries

    Go to Home, expand the existing subscription groups, and check whether the same source has already been added. Compare the full URLs on your device; don’t rely on group names alone or send the links to anyone else.

  2. Add a Subscription

    Home → “+” in the upper-right corner → Add Server → Type, then select Subscribe. Paste the subscription URL from your service provider into URL and make sure it has no leading or trailing spaces or line breaks.

  3. Add a Label

    Enter an identifiable source and purpose in Remarks, such as “Source A – Daily” or “Source B – Backup.” Don’t include passwords, full tokens, or other authentication details. Save, then return to Home.

  4. Update and Verify

    Pull down on Home to refresh and wait for the subscription to load. Expand its group and check that nodes appear under the expected source. Add the next subscription only after verifying the first, so errors are easier to trace.

Group names help identify sources; node names help you choose connections. They don’t need to match. Keeping the names returned by the subscription can prevent updates from overwriting local renames and avoid affecting entries referenced by name in Config. If the source isn’t obvious, change the subscription record’s Remarks instead of renaming every node in the group.

Reordering Only Changes How You Find Entries

Ordering is a display setting, not an automatic failover policy. Moving a node to the top doesn’t select it automatically, and moving a backup source to the bottom doesn’t change its connection settings. Before reorganizing, decide whether you’re changing the order of subscription groups or the order of nodes within a group. Don’t confuse the two lists.

The edit and sort controls may appear differently depending on the interface layout. Use the actions actually available in Home; don’t assume every group supports manual reordering if there are no drag handles. Even when group order can’t be customized, consistent Remarks labels make sources easier to identify. Avoid changing your naming convention frequently: renames and order changes at the same time make verification harder.

Bottom line: Set consistent names, then check the order after updates

After grouping and reordering, update the relevant subscription and make sure the selected entry still belongs to the intended source. If the order returns to the upstream arrangement, keep the source label and don’t repeatedly delete and re-add entries to preserve their position.

Check Node Settings to Identify Duplicates

Matching names don’t prove that two entries are duplicates, and different names can still point to the same configuration. Compare the protocol, server address, port, authentication details, and any transport or TLS settings used by that protocol. For example, two entries showing port 443 only share the same port; that doesn’t prove they connect to the same server or use the same credentials.

What you seeWhat to check nextHow to decide
Identical namesProtocol, address, port, and authentication settingsIf the settings differ, keep the source distinctions. Don’t delete entries in bulk based on name alone.
Same address and portApplicable fields such as TLS, Server Name, and transport pathDifferent connection methods may still serve different purposes.
The same link imported twiceThe full URLs of both Subscribe entriesIf they are an exact match, it’s usually enough to keep one source entry.
Similar nodes returned by different linksSource purpose, authentication identity, and actual connection resultsKeep the groups for now; appearances in the list alone aren’t enough to confirm a duplicate.

For Shadowsocks, VMess, VLESS, Trojan, Hysteria2, or WireGuard, don’t apply one universal field checklist. Each protocol uses different settings. Open the entry details and compare only the fields relevant to that protocol. Check authentication details on your device; don’t paste them into public deduplication tools.

If the same subscription was added twice, remove the duplicate Subscribe entry first rather than deleting nodes one by one from both groups. If a subscription keeps returning an entry, it may reappear after an update even if you delete it locally. To have it removed permanently, check the subscription contents with your service provider. Don’t alter URL query parameters casually; similar-looking URLs may grant different access or return different content.

Remove Expired Subscriptions and Individual Nodes

A single connection timeout doesn’t mean a subscription has expired. A failed subscription update, an unreachable node, and a server that can’t be reached on the current network are different problems. Identify which layer has failed before deciding what to delete. Don’t remove a subscription you still use just because an update failed temporarily.

  1. Confirm an alternative connection. Select another node in Home that you’ve verified works, then open a page you need to use. Don’t rely only on the connection toggle being on.
  2. Check configuration references. In Config, look for policy groups or rules that refer to the name you’re about to delete. If there are references, update those selections before cleaning up.
  3. Delete an individual node. Swipe left on the target node in Home and use the delete action. Make sure you’re deleting the node row, not the subscription group. An entry returned by a subscription may reappear after an update.
  4. Delete an entire source. Before deleting a subscription record, read the confirmation prompt and check what it covers. Different delete actions may affect different items. After deleting, check whether the group and its entries are still there.
  5. Review the result. Return to Home and check the selected entry, remaining subscriptions, and connection results. Then update the subscriptions you kept to make sure you haven’t removed a source you still need.

Use Global Routing to Separate List Issues from Routing Issues

If changing nodes after cleanup doesn’t change the result, first check Home → Global Routing. The node list answers “Which connections are available?”; Global Routing determines “How is traffic handled by policies?” Use the comparisons below to troubleshoot routing choices, not as fixed recommendations for every network.

Config

Recommended

Handles connections according to the active configuration. Rules are matched in order, and the corresponding policy applies when a rule matches. A DIRECT rule won’t use the node selected in Home just because you changed it.

Best for: everyday rule-based use after checking Config

Proxy

Routes traffic through the proxy, which can help you temporarily compare node connectivity. Restore the previous mode after testing. A result in proxy mode doesn’t confirm that Config rules are working correctly.

Best for: temporarily troubleshooting differences between rule selection and node availability

Direct

Connects directly to the destination. In this mode, changing the proxy node in Home won’t route the same request through that node, so it can’t be used to compare subscription nodes.

Best for: checking a direct connection on the current network

Scene

Applies routing according to the configured scene conditions. When troubleshooting, also check which scene is currently matched so you don’t mistake a network-triggered change for one caused by subscription ordering.

Best for: when you have clearly defined scene settings and can verify the matching conditions

Rules such as DOMAIN-SUFFIX, GEOIP, and IP-CIDR in Config may match different destinations; FINAL handles connections that didn’t match an earlier rule. If a destination always uses DIRECT, check which rule it matches instead of continuing to clean up subscriptions. If you need connections to be triggered automatically, also check Settings → On Demand. That setting doesn’t manage subscription groups or control list ordering.

Frequently Asked Questions About Subscription Management

Why does a deleted node come back after an update?

First check whether it’s part of the content returned by Subscribe. If the upstream subscription still includes the entry, it may be added back to the list after an update. Check whether the same URL was imported more than once. If there’s only one source entry, ask your service provider about the returned content instead of repeatedly deleting nodes one by one.

Two subscriptions have a node with the same name. Can I delete one group?

Don’t decide based on the name alone. Open the entry details and compare the protocol, server address, port, and applicable authentication and transport settings. Then check whether the two subscription URLs are identical. Delete a record only after confirming that you no longer need either its source or its content.

One subscription update failed. Should I add them all again?

Check that source’s URL separately in Home, make sure it hasn’t been truncated, and confirm that the current network can reach the subscription address. If other sources update successfully, you don’t need to clear all records first. Ask your service provider to verify the link’s access or service status.

Will the fastest node be used automatically if I move it to the top?

No. Display position alone won’t switch connections automatically. Check the selected entry in Home, then review Global Routing and the policy selection in Config. A latency test reflects network conditions at that moment; it doesn’t replace testing the connection with the service you need.

Change one thing at a time: label the sources first, adjust the order next, then remove entries confirmed as duplicates or no longer needed. Update and test after each step to make it easier to pinpoint problems. Keeping clear source labels is easier to maintain than flattening every node into one long list with no indication of where it came from.

Download Shadowrocket