How to Manage Multiple Shadowrocket Subscriptions: Groups, Sorting, Updates, and Duplicate Nodes

Managing several Subscribe links can get messy. Learn how to group subscriptions, reorder and update them individually, remove duplicates, and keep your node list organized.

At a glance

Keep each Shadowrocket subscription tied to its source: check the Subscribe entries and their remarks, update them individually, then organize the list and deal with duplicates. This guide is for users who already have their own service provider and subscription links. It explains the difference between subscription sources, generated nodes, and policies in Config—so deleting a node isn't mistaken for stopping subscription updates.

Understand Subscribe entries, the node list, and Config

A Subscribe entry stores a subscription URL and retrieves the content returned by that URL when updated. Nodes shown in Home are connection entries imported or generated during an update; Config is where rules and policies are configured. These are related, but they are separate layers: changing the display order in Home does not change rule order in Config or the order returned by the subscription source.

Verify the sourceAdd remarksUpdate individuallyOrganize the listCheck policies

For example, if you have two subscription sources, A and B, plus a manually added node, first identify which source each belongs to before making changes. Don't delete one just because two entries are both named “Backup.” Matching names only mean the display labels are the same; they don't prove the server address, port, protocol, or authentication settings match.

Home
Check subscription sources, the node list, and the current selection
Config
Check node references in rules and policies
Settings
Review global Subscribe settings

Group multiple subscriptions by source using remarks

In everyday use, “subscription groups” should mean organizing nodes by their Subscribe source—not creating a policy group with the same name. Give each subscription entry a stable, recognizable Remarks value, such as “Personal Line A” and “Personal Line B.” Don't put the full subscription URL in a remark or use a number that changes with latency results to name a source.

  1. Open Home and review the existing subscription groups and their headings. Check whether the address you want to add is already there.
  2. If you need to add one, tap the add button in the upper-right corner. On the add screen, set Type to Subscribe, then enter the URL and Remarks. Field locations may vary by app interface.
  3. After saving, return to Home and check the new entry's group and the nodes it returned. If the same URL is already listed, edit the existing entry instead of adding it again.
  4. To edit an existing subscription, open the action menu from its group heading in Home and choose the edit action. Check the URL and Remarks, then save. Make sure you're not opening the settings for an individual node.

Query parameters in a subscription URL may contain access credentials. To check whether two URLs match, compare the complete values—but never share them in public screenshots, chat messages, or troubleshooting reports. The URL below only illustrates the field format; it is not a usable subscription. Always use a URL you already have.

Check a subscription entry

Type
Subscribe
Remarks
Personal Line A
URL
https://example.com/sub?token=xxxx

The example address is only for identifying fields; a remark is not a substitute for the subscription URL.

Check which source a node belongs to

Source
Confirm which Subscribe entry it belongs to
Name
For display and references only; not a unique identifier
Parameters
Check the protocol, server, port, and authentication fields

Identify the source before checking for duplicates, so you don't remove a different connection by mistake.

Update individually: confirm the target, then check the result

When you have several subscriptions, update one source at a time while troubleshooting. This helps determine whether a particular URL failed or the current network is affecting all subscriptions. Bulk updates are useful for routine maintenance after you've confirmed that each source works, but not for diagnosing a new issue.

  1. In Home, find the group heading for the subscription you want to update. Touch and hold it to open its action menu, check the heading, then select the update action. Menu wording and available actions may vary by interface.
  2. Wait for the request to finish and review the success or error message. Don't trigger the update repeatedly.
  3. Return to the target group and check that the node names and contents look right. A successful fetch doesn't guarantee that every node can connect; test connections separately.
  4. If only one source fails, open that subscription's edit screen and check the URL. Look for spaces or line breaks added during copying, or missing query parameters.

For a timeout, distinguish between an unreachable subscription URL and content that can't be parsed. For the first, check network access and whether the URL is valid. For the second, confirm that the returned content is still in the expected format for that subscription. Don't import an error page as new nodes, and don't assume a subscription request is working just because a webpage opens in a browser.

Manual sorting: display order isn't policy selection

Before sorting, decide which order you want to change: the subscription groups, the nodes within a group, or the candidate order in a Config policy. These are not interchangeable. Moving a node to the top of Home doesn't make rules use it automatically; the actual connection also depends on Global Routing and the current configuration.

When using Config with Global Routing, the current configuration determines the rules and policies. Proxy and Direct handling are also separate from list order. You don't need to change Global Routing just to move an entry higher in the list, and changing FINAL is not a fix for display order.

Remove duplicate nodes: check for duplicate sources before comparing connection settings

Duplicates most often come from adding the same subscription URL more than once, or from two different subscriptions that contain the same connection. Handle the first case to avoid seeing the same entries again after future updates. Deleting a single subscription-generated row usually won't keep it from returning the next time the subscription updates.

What you seeWhat to checkWhat to do
Two subscription groups have identical contentsCompare the complete URLs of the two Subscribe entriesIf they point to the same source, keep one and remove the extra subscription entry
Two nodes have the same nameCompare the protocol, server, port, and authentication detailsKeep both if the parameters differ; don't deduplicate by name alone
Different names, same addressAlso compare transport, TLS, and authentication settingsA matching server address alone doesn't prove the entries are duplicates
A node reappears after deletion and an updateCheck whether the subscription source still returns that nodeRemove duplicate subscription sources instead of repeatedly deleting generated rows

For example, ports 443 and 8443 on the same server are different endpoints. Two connections on port 443 also aren't interchangeable if one uses Trojan and the other VLESS. Even with the same protocol and port, differences in UUID, password, TLS server name, or transport path can change how a connection works. Compare sensitive fields only on your own device; don't share the full settings.

Bottom line: remove duplicate subscription entries first

After confirming that two Subscribe entries have the exact same URL, keep one working source and remove the extra group. Don't delete only the nodes they generated; a later update may recreate the duplicate list.

Check references before deleting, then verify the connection

Deleting an individual node and deleting an entire subscription entry have different effects. The first removes one connection entry; the second removes a subscription source and its associated content. Before you act, check the selected node in Home, then look in Config for policies that depend on the name you're about to remove. A group heading alone isn't enough to confirm that deletion is safe.

  1. Note the remark for the source you want to keep and confirm that it updates successfully. Don't treat “the nodes are still in the list” as proof that an update worked.
  2. If you're currently using a node you plan to delete, first switch to a retained node you've confirmed works. If you're using Config, also check which nodes the relevant policies actually select.
  3. Return to Home, open the action menu for the subscription group you want to remove, and choose delete. If deletion is available by swiping, first confirm the row is a subscription entry, not an individual node.
  4. Check the confirmation message to see which item will be deleted and what the action affects, then confirm. Afterward, check the groups, nodes, and Config references.
  5. Test that the websites or services you need still work. Removing a local entry from the client does not end your service relationship with the provider.

If the source you're keeping hasn't updated successfully, don't clear all subscriptions and rebuild them first. A safer approach is to confirm that you can recover the URL and settings, then clean up one entry at a time. Treat backups or notes that contain credentials as sensitive information.

Common questions about managing multiple subscriptions

Why does a node come back after I delete it and update my subscription?

In Home, first check which Subscribe group it belongs to. If the source still returns that connection, an update may add it again. Check whether the same URL was added more than once. If you just want to hide some entries, use a display management option available in the current interface rather than treating deletion of a generated row as a permanent filter.

Can I assume two differently named groups are separate subscriptions?

No. Open the edit screen for each subscription and compare the complete URLs. Remarks can differ even when the URLs match; matching remarks don't prove the sources are the same either. Check the URLs before deciding what to keep or remove.

Why not refresh everything when I only want to update one subscription?

Refreshing everything makes it harder to identify which source failed. Update the target subscription from its group menu in Home and note the result. Once you've confirmed that all sources are working, you can use the bulk update option available in the interface.

Why is the connection using a different node even though mine is at the top?

A node's position in Home isn't a routing rule. Check the selected node and Global Routing. If you're using Config, open the current configuration and review policy selections and rule references. Confirm how traffic is actually routed before deciding that sorting wasn't saved.

Verify the official App Store listingPurchase and restore information