How to Organize Multiple Shadowrocket Subscriptions: Groups, Sorting, Deleting, and Duplicate Cleanup

Learn how to group and sort subscriptions in Shadowrocket, remove expired subscriptions, and spot duplicate server entries after an update.

At a Glance

This guide is for users who have imported multiple subscriptions into Shadowrocket and want to organize the Home list. Follow this order: verify sources → name groups → sort → check for duplicates → delete → update and review. Keep subscription sources, server entries, and policy groups in Config separate to avoid deleting similarly named items by mistake or repeatedly cleaning up the same entries after updates.

1. Understand Subscription Groups, Server Entries, and Policy Groups

A subscription is a remote data source that can be refreshed; server entries contain its connection details. Subscription groups on Home help you identify which source an entry belongs to. Policy groups in Config are referenced by rules to determine how traffic is routed. Renaming or organizing items on Home does not change rules in Config or automatically make two subscriptions failover alternatives.

This guide assumes you already have a service provider and subscription. Get your subscription link from your provider. A one-time client purchase is not a service plan; buying Shadowrocket and subscribing to a service are separate. Before organizing, check whether you still use each source. Don't decide which group to keep based only on the number of entries.

Home
View subscription sources, server entries, and the current selection
Config
Review rule and policy group references; this does not name subscription sources
Settings
Review subscription update options in Subscribe

2. Name Groups by Source to Avoid Duplicate Imports

Start by organizing subscriptions by source, rather than mixing every server into a group by region. For example, label two existing sources “01-Daily-A” and “02-Backup-B.” These are local naming examples, not indicators of service quality or automatic failover order. Prefixes make groups easier to find; they affect the order only when sorting by name and do not change connection policies.

Before adding a subscription again, expand the existing groups on Home and check whether the source is already there. Subscription URLs often contain access credentials. Don't put a full link in Remarks or share screenshots of an edit screen that includes credentials. The example below shows the URL structure only and cannot be used to import a subscription.

  1. Check Existing Sources

    On Home, expand the existing subscription groups and use a group's edit entry to review its URL and Remarks. If the link is already there, update that group instead of adding it again with “+”.

  2. Add a Missing Source

    Home → “+” in the upper-right corner → Type → Subscribe. Enter the URL provided by your service provider, such as the illustrative format https://example.com/sub?token=xxxx. Use your own valid URL in practice.

  3. Add a Source Note

    Enter a recognizable label such as “01-Daily-A” in Remarks, then save. To rename an existing subscription, edit its Remarks; don't import the same URL again just to change its name.

  4. Check Each Group

    Return to Home, update the new source, and expand it to review its entries. Make sure they appear in the expected group before moving on to the next source. Edit and save controls may look different in the current interface.

3. Sort at Two Levels: Source Order and Order Within a Group

Source order helps you find the right group; order within a group helps you find an entry in that group. Handle these separately. Collapse other groups and expand only the one you're organizing, then use its sorting or editing controls. If the interface supports drag-and-drop sorting, do it in the relevant edit mode. Don't confuse moving an entire subscription group with changing the order of servers within it.

Sorting controls can vary between lists and interface versions. If you don't see a drag handle or sorting option, don't keep long-pressing to try an action that isn't available. Consistent source labels and collapsing inactive groups can also make entries easier to find. Avoid renaming many server entries controlled by your provider just to sort them; an update may restore their remote names.

GoalAction and CheckLimit
Find a frequently used source quicklyUse Remarks to distinguish sources; reorder groups if a group-sorting control is availableOrder does not mean automatic failover when a connection fails
Find servers by nameChoose name sorting in the target group's sorting options, if available in the current interfaceStill check the parameters for entries with the same name
Sort by test resultsRun Connectivity Test for the target scope first, then review the results; sort by result if availableTest results are not bandwidth measurements and don't guarantee requests will succeed
Keep a custom orderAfter organizing, update the subscription once and check whether the order remainsA refresh may reorder entries based on remote data or the current sort setting

To compare latency results, use the same network and test method at roughly the same time. A timeout means only that this test did not get the expected result; it is not a reason to permanently delete an entry. Test again, then confirm whether the source has been discontinued.

4. Identify Duplicate Entries by Comparing Parameters, Not Just Names

Duplicates usually occur because the same subscription was imported more than once, different subscriptions contain the same connection, or an entry from a subscription was also saved separately. First identify where the duplication occurs. If two subscription groups are the same, address the source entries. If entries are duplicated within one group, check what the remote source returns. Consider removing a standalone copy only when it duplicates an entry in a subscription and is no longer needed.

To compare entries, check Type, server address, and port on each entry's details or edit screen, then compare authentication and transport settings. Review sensitive fields only on your own device. Don't paste passwords, UUIDs, or full subscription URLs into a public spreadsheet for easier comparison.

What you seeAssessmentWhat to do
Same name and address, but one port is 443 and the other is 8443The connection ports differ, so you can't assume these are duplicatesKeep both and check what each is used for
Same name, address, and port, but the Type is Trojan for one and VLESS for the otherDifferent protocols mean the complete connection parameters are not the sameTest them separately; don't merge them based on their names
Different names, but the protocol, address, port, authentication, and transport parameters all matchThey may be the same connection with different labelsNote which source each belongs to, then decide whether both entry points are needed
The same URL appears in two subscription groups, and their entries also matchThe source was likely imported more than onceKeep one group that updates successfully, verify it, then delete the other group

Bottom line: If duplicates keep coming back, fix the source

If an entry reappears as soon as you update after deleting it manually, stop removing entries one by one. Check whether the same URL was imported more than once or whether the subscription itself returns duplicate entries. Remove the extra subscription entry point in the first case; in the second, tell your service provider which entry is duplicated and what happens.

5. Confirm What You're Deleting, Then Check References

Deleting one server entry is not the same as deleting an entire subscription. The delete control for a single entry usually applies only to that entry. Deleting a subscription group may affect the entire source and its entries. Check the confirmation prompt to see what's included; don't confirm just because you see Delete.

  1. Keep a way to restore it. Make sure you can retrieve the subscription URL from your own private records or service provider. If you need to keep your current configuration, make a personal backup first. Don't put files containing credentials in a publicly shared location.
  2. Switch the current connection first. If the group you're deleting contains the server you're using, select a verified alternative on Home first. If you're in the middle of an important task, wait until it's finished before reorganizing.
  3. Verify what you're deleting. Use the edit or delete control for the relevant row or subscription group. Confirm the name, source, and scope shown in the prompt before proceeding. If you're unsure, cancel instead of deleting it to see what happens.
  4. Check references in Config. If your configuration refers directly to the deleted server name or a policy group depends on that entry, review those references in Config and select a valid replacement.
  5. Run a check. Return to Home, verify the current selection, run Connectivity Test, and visit a page you normally use. Confirm that the connection and expected routing both work.

Deleting a subscription locally does not cancel service with your provider or revoke credentials in a link that has already been exposed. If you're cleaning up because the URL was made public, get a replacement URL from your service provider, edit the existing subscription entry, and check that the old URL no longer works. Don't just rename the old group and keep using it.

6. Updates Determine Whether Your Cleanup Sticks

Updating a subscription fetches remote data again, so check with an actual refresh whether local deletions, names, and ordering are preserved. Update each group as soon as you've finished organizing it; this makes it easier to find the cause than discovering several days later that entries have returned. The available automatic update triggers and options depend on the current interface under Settings → Subscribe.

Update Each Group Manually

Recommended

During cleanup, update one source at a time and check for changes to its entries, names, and order. If duplicates appear, you can identify which subscription brought them back.

Best for: First-time cleanup, removing duplicate entry points, and checking the results

Automatic Update Settings

Once the sources are stable, review the currently available options under Settings → Subscribe. Automatically fetching new data does not identify duplicate sources or guarantee that servers will always be available.

Best for: Confirmed sources and less frequent manual refreshing

Update via Proxy

This option changes how subscription requests are routed; it is not a sorting or deduplication setting. Try it only if the subscription URL can't be reached over your current direct connection and you already have a working proxy connection.

Best for: Troubleshooting network access to subscription requests

If an update fails, keep the existing entries and first check that the URL is complete, the credentials are valid, and your current network can complete the subscription request. Don't make deleting and re-adding the first step: you may lose existing notes and organizational changes, and it won't fix an expired URL or incorrect remote data.

7. FAQs About Organizing Multiple Subscriptions

Why does the same name appear multiple times?

First check on Home how many subscription groups contain these entries. If they come from two groups, check each source URL. If they're all in one group, compare the protocol, address, port, and transport parameters. Matching names may simply be matching labels; that alone is not a reason to delete an entry.

Why does a deleted server come back after an update?

The subscription still includes that entry. If it belongs to a source you still need, it's expected to reappear after a refresh. If you no longer use the entire source, delete its subscription entry point instead of repeatedly deleting entries within the group.

A subscription update times out. Should I import it again?

Keep the existing group and check the URL and your current network first. If you have a working connection, review Update via Proxy under Settings → Subscribe, then retry the target subscription. This option can't fix invalid credentials, an expired service, or a malformed response.

If I put a backup group second, will it take over when the primary fails?

Home's display order alone does not set up automatic failover. When you need to switch, select a verified entry manually on Home. If you use a policy group in Config, check how that group is actually configured; the word “backup” in a note doesn't replace a routing policy.

Can I restore a deleted subscription by restoring my purchase?

Restore Purchases restores eligibility for the app purchase; it does not restore your subscription list. To import a subscription again, you'll need the original URL or your own backup. If you can't find the URL, get it from your service provider, then add it via Home → “+” → Type → Subscribe.

You're done when you can explain what each source is for, verify the current servers, confirm that no unexpected source entry points appeared after an update, and ensure the references you need in Config still work. You don't have to delete every similar-looking entry just to shorten the list. Make sources traceable first, then trim what you see.

Download on the App StoreVerify the official listing first