How to Manage Multiple Shadowrocket Subscriptions: Organize, Reorder, Remove, and Clean Up Duplicate Nodes

Learn how to group subscriptions in Home, reorder them, remove expired subscriptions, and reduce confusion from duplicate nodes.

At a glance

This guide is for users who already have a service provider and subscriptions. Follow these steps: verify sources, name groups, organize their order, update one group at a time, then remove items and review the results. Keep subscription URLs, subscription-generated nodes, and the currently connected node distinct. This helps prevent accidental deletion of similarly named nodes and avoids mistaking a single update timeout for an expired subscription.

1. Confirm the app and where to manage subscriptions

Shadowrocket is a closed-source commercial app for Apple platforms, available exclusively on the App Store. Before purchasing, check the product page for the developer, Shadow Launch Technology Limited, and app ID 932747118. The app is a one-time purchase; that purchase does not include a service plan. This guide focuses on iPhone and iPad. Check the App Store listing for system requirements and device compatibility.

Manage multiple subscriptions primarily from Home. Config is for rule configuration, while Settings controls app behavior. A long node list is not a reason to delete configurations in Config. Organizing subscription sources and changing routing rules are separate tasks.

3 sections
Home / Config / Settings: manage lists, configurations, and app settings separately
2 levels
Subscription sources and node entries: verify each before deleting
4 modes
Global Routing:Proxy / Direct / Config / Scene

In short: verify the source before changing the list

If two groups look alike, open each subscription’s edit details and compare the URLs. Don’t delete based on the display name alone. Duplicate imports of the same URL and different nodes with the same name require different cleanup steps.

2. Track sources before importing to avoid duplicates

A subscription URL is used to retrieve node details and often contains access credentials. Its name is only a label for identification; it does not determine the subscription’s contents. Groups with different names can use the same URL, while two links on the same domain can return different content if their paths or parameters differ.

  1. Find an existing subscription group in Home, open its edit details, and check the subscription URL. Match each existing source against the subscription details you have saved to avoid importing the same link again.
  2. To add a subscription, use the add control in the top-right corner of Home. Select Subscribe under Type, enter your own URL, add a recognizable name under Remarks, and save.
  3. After importing, check only the new group. Confirm that it contains node entries, not an error, an empty list, or unreadable text.
  4. Keep a local record for each source with its purpose, identifying name, and most recent manual verification. There’s no need to copy the full access token into your notes. Don’t post subscription links publicly.

The examples below show how to record sources; they are not usable service details. Both URLs are fictitious. Use information you already have. Choose names that describe the source and its purpose, and avoid unverifiable claims such as “always available.”

Primary source record

Remarks
01 - Primary source
Type
Subscribe
URL (example)
https://example.com/sub?token=xxxx
What to verify
Source name, group contents, and update results

A full URL may contain credentials. Check it only on your own device.

Backup source record

Remarks
02 - Backup source
Type
Subscribe
URL (example)
https://example.com/backup?token=xxxx
What to verify
Whether it is a separate source or a duplicate import

The same domain doesn’t guarantee the same content; check the path and parameters too.

3. Group by subscription, then organize the display order

Subscription groups in Home identify where nodes come from. They are not policy groups in Config or automatic failover settings. Preserve source boundaries first, then organize the order within each group. Renaming nodes from multiple sources to the same name makes future troubleshooting and update checks harder.

  1. Start by standardizing group remarks. Use short names such as “01 - Primary source” and “02 - Backup source.” After editing a remark, return to Home and confirm you changed the intended group, not a node.
  2. Then adjust group order. If the current interface offers an edit or drag-to-reorder control, use it to arrange groups by frequency of use, then finish editing. If no such control is available, keep source prefixes for easy identification. Don’t repeatedly delete and re-import subscriptions to test the order.
  3. Finally, sort nodes within each group. Choose an available option in the current sorting menu, such as name or test results. Options depend on the interface. Name prefixes help with identification but don’t guarantee alphabetical sorting.
  4. Verify the current selection after sorting. Find the node you were using and check its selection indicator. A change to the first row does not mean the app switched to that node.

4. Update groups one at a time and distinguish a bad link from a network failure

Updating a subscription fetches its source again and refreshes that source’s node list. It doesn’t simply rename existing nodes, and it doesn’t update rules in Config. Update one group at a time when troubleshooting so you can identify which subscription caused the issue.

Verify the source Fetch content Parse entries Refresh the group Check the selection
  1. Note the visible node count in the target group and the name of the node currently in use. Don’t record passwords or other sensitive information.
  2. Update the target subscription in Home and wait for the process to finish. If the interface offers both single-group and all-groups updates, choose a single-group update for your first check to keep results separate.
  3. Check whether entries disappeared, old names were replaced, and the previously selected item is still present. A name change may reflect updated subscription content; it doesn’t necessarily indicate an import error.
  4. If the request times out, first check that the device has a working network connection, then verify that the URL is complete. If the link requires an existing proxy, confirm that the current proxy works before retrying. Don’t rely on the same unavailable source you’re troubleshooting to update itself.
  5. If authentication fails or the content can’t be parsed, check the link status and format against the service details you already have. Don’t repeatedly add the same URL as a substitute for troubleshooting; this usually creates more duplicate groups.

If one node disappears after an update, the source may no longer return that entry. If the entire group has no usable entries, distinguish empty content from a parsing error or a failed request. A lower node count alone is not enough to determine whether a subscription has expired. If you renamed nodes or changed their parameters locally, check them again after updating; the source content may overwrite those changes.

5. Remove expired subscriptions and duplicate nodes in the right order

Identify what you’re deleting first: a subscription entry represents a source, while a node entry is a specific connection configuration. Removing a source may also remove the nodes it manages; read the confirmation prompt to check the scope. Deleting only a node within a group may not last—it can reappear at the next update.

What you seeWhat to check firstWhat to do
The same URL was imported twiceWhether the two complete source URLs matchKeep one group, confirm the current connection, then remove the other subscription
A node with the same name appears in two groupsSource, protocol, server, and portDon’t deduplicate by name alone; compare the connection parameters first
A node reappears after deletion and an updateWhether the subscription still returns that nodeManage it by source, or collapse infrequently used groups to reduce clutter
A subscription keeps failing authenticationThe link credentials and their status in your saved service detailsRemove the source only after confirming you no longer need it; don’t rely on a single timeout

Assessing duplicates: matching names are only a clue

When comparing nodes, check at least the protocol, server address, port, and authentication parameters. TLS connections may also use fields such as Server Name; connections with different transport methods require you to compare their transport settings too. Don’t copy sensitive fields into chat logs or public screenshots just to make comparison easier.

Delete carefully: switch first, then confirm the scope

  1. If the source you’re removing contains the node currently in use, first select another verified working entry. You can also disconnect before organizing the list.
  2. Use the delete action on the target subscription entry. If you delete by swiping on a list, first confirm whether you’re swiping the subscription source or a node within the group, then read the confirmation prompt.
  3. Return to Home and review the remaining groups to make sure you haven’t removed a source you still need. Update the subscriptions you kept and check whether another copy uses the same URL.
  4. If you delete a subscription by mistake, re-import it using a valid URL you saved previously. Re-importing may not restore local sorting or manual remarks, so save any information you need before making changes.

6. Check routing and On Demand after organizing the list

After cleaning up groups, verify list health separately from whether traffic is handled as intended. Proxy and Direct in Global Routing are different traffic-handling modes. Config follows the selected configuration’s rules, while Scene applies settings for a given scenario. Mode names are not node group names, and changing list order does not replace routing settings.

7. Frequently asked questions about managing multiple subscriptions

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

Open the edit details for each subscription and compare the URLs, then check whether either group contains unique nodes. A matching name alone doesn’t prove they’re duplicates. If both are imports of the same link, keep one and remove the other.

Why did a node come back after I deleted it and updated the subscription?

The subscription still returns that node, so deleting it locally didn’t change the source. Check which group it belongs to. If you still need the subscription, collapse the group to reduce clutter. Delete the subscription only if you no longer need that source.

What if the order changes the next time I sort by latency?

Check whether you ran the test again, changed the sort option, or updated the subscription. Test results vary with network conditions, and the order returned by a source can change too. Use consistent remarks to identify sources; don’t treat one sort result as a permanent priority.

Should I delete and re-add a subscription if an update times out?

Keep the existing group for now. Check the device’s network connection, URL, and current connection path, then retry that source on its own. Deleting and re-adding still requires access to the same link, so it won’t fix an unreachable URL or expired authentication. It may also undo your local organization.

App Store listing verification