When managing multiple subscriptions, identify each source first, organize the display order next, and remove duplicates only after checking them. This guide assumes you already have your own provider and subscriptions. It explains the difference between subscription groups and the servers within them in Home, what to save before deleting anything, and why manually removed entries may return after an update. Work on one group at a time to avoid deleting servers from different sources just because they share a name.
1. Understand the difference between subscription groups, servers, and Config
Subscription management in Shadowrocket centers on subscription groups in Home. A subscription URL is the source for a server list, and one subscription can return multiple servers. Each server entry contains the protocol, address, port, and authentication parameters needed to connect. Seeing the same name in two groups does not prove that the entries were imported twice.
Config manages configuration files and routing rules; it is not the server list for your subscriptions. Removing an old subscription does not also remove files in Config, and deleting a configuration file does not clean up duplicate servers. Update-related options in Settings affect how content is fetched, but they do not replace checking subscription sources in Home.
Subscriptions and servers
- Where to check
- Subscription groups and their entries in Home
- How to identify the source
- The URL on the subscription edit screen
- What to check for a connection
- Server protocol, address, port, and authentication parameters
- What an update does
- Fetches the server list returned by that source again
Use the group name to identify a subscription and its URL to verify the source; neither replaces the other.
Configuration and routing
- Where to find the configuration
- Config
- Routing entry point
- Home → Global Routing
- Rule handling
- Config handles connections according to the selected configuration
- Other behavior
- Proxy、Direct、Scene
Changing the list order does not change Global Routing or rewrite the policy selection in a configuration.
2. Name subscriptions by source, then organize groups and their contents
Open Home, expand your existing subscription groups, and check the URL and notes on each subscription's edit screen. Depending on the interface, you may find these controls under an info button, an edit button, or a long-press menu. Before making changes, confirm that you are editing the subscription itself, not a server within the group. A useful naming format is “Purpose — Source — Status,” such as “Daily — Source A — Keep” and “Backup — Source B — Check.”
- Record what belongs to each group: Note an identifiable label, source, and current server count for every subscription group. A full URL may contain access credentials, so keep it somewhere you control and never paste it into public feedback.
- Change the label first: Save, return to Home, and confirm that the group name has changed. Renaming does not merge subscriptions or change the content returned by the provider.
- Then organize group order: Use the available edit or sorting controls to move frequently used groups up and groups that need checking down. If a drag handle appears, reorder the groups, exit edit mode, and confirm that the new positions were saved.
- Check the order within each group separately: Sorting by name, latency, or original order applies to the servers in a group, not the priority of subscription groups. Run a latency test before sorting by latency; an entry with no result is not necessarily unusable.
- Check what changes after an update: Update one group and review its order. If it reverts to the order returned by the source, don't rely on the local display order for long-term organization; use clear group names instead.
Sorting only changes how items are displayed. Moving a group to the top does not switch the active connection or ensure that a policy group in Config uses that source. If the current interface has no separate control for ordering groups, keep the labels clear rather than repeatedly importing the subscription to move it; importing again can create a second group for the same source.
3. Check the source of duplicate servers—don't rely on names alone
Duplicates usually fall into one of three categories: the same URL was saved as two subscriptions; two different URLs return some of the same servers; or a subscription itself contains entries with similar names or identical connection parameters. The first case is a reason to remove a duplicate subscription. For the other two, verify the source and parameters first; don't bulk-delete entries based only on their names in Home.
| What you see | What to check | What to do |
|---|---|---|
| Two groups have the same name and server count | Are the subscription URLs identical? | Confirm which group is selected, then keep one valid source |
| A server with the same name appears in different groups | Address, port, protocol, and transport parameters | Keep entries with different parameters; don't deduplicate by name |
| A deleted entry returns after an update | Does the latest subscription content still include the entry? | Address it through the source content or an available filtering setting |
| Similar names appear within one group | Check for different ports, protocols, or route identifiers | Check each entry; similar names do not mean they are duplicates |
For example, two Trojan entries both using edge.example.com:443 are not necessarily identical. Also compare authentication details, TLS-related settings, and transport parameters. If one uses port 443 and the other uses 8443, they clearly have different connection endpoints. Check authentication details only on your device; don't include full parameters in public screenshots.
Bottom line: remove duplicate sources first, then consider deduplicating servers within a group
If two groups point to the exact same URL, keep one valid group. If entries only share a name but have different sources or connection parameters, keep them for now and add notes instead of deleting them in bulk.
4. Switch away from an old subscription before deleting it
Deleting a subscription affects the list saved locally. It does not end your service relationship with the provider or revoke access credentials on the provider's server. Before removing an old group, confirm that the new group updates and connects successfully. Don't delete your only usable source before confirming that the new URL works.
- Save what you'll need to restore it: Record the old group's label and subscription URL, and securely keep any server parameters you entered manually. A display name alone is not enough to add the subscription again.
- Select a replacement entry: In Home, select a server from the group you plan to keep. If the old server was connected, disconnect and reconnect, then verify the result by visiting a destination you know is available.
- Check references in Config: If the current configuration selects servers or policy groups by name, open Config and review the relevant references. The selected marker in Home alone does not confirm that every rule has switched over.
- Delete the correct level: In Home, delete the old subscription group, read the confirmation prompt, and make sure it refers to the entire group. Deleting only a server entry may leave the subscription source in place.
- Verify after exiting: Confirm that the old group is gone and the group you kept is still there, then update the retained group once more. If you deleted the wrong item, add it again using the source details you saved rather than trying to recreate a batch of servers from memory.
5. If entries return after an update, check the relationship between deletion and the source
Updating a subscription fetches its content from the source again. Manually deleting a server within a group does not remove it from the provider's server; if the next response still includes that entry, it may reappear. This does not necessarily mean the deletion failed—the local list may simply have been regenerated from the source.
Update one subscription at a time instead of updating everything at once. Before updating, note the group's server count and a few representative names, then compare them afterward. An unchanged count only means the total is the same; it doesn't prove that the entries are unchanged. Addresses, ports, and authentication parameters may have changed. Likewise, an increase may mean the source added entries, not that duplicates were created.
- An old entry returns in the same group: Check whether the source still returns it. If the subscription editor offers filtering options, first confirm which names they affect, then test them on a small scale.
- A second group appears: Check whether you added the subscription again. Updating an existing group is not the same as importing its URL again.
- The same name appears with different parameters: Check whether the source changed the endpoint or protocol. Don't delete a valid alternative just to make the names look consistent.
- Both old and new URLs are present: Different query parameters don't necessarily mean the subscription returns different content. Update each source separately, compare the results, and then decide which one to keep.
If you want to keep certain entries hidden over time, use a content adjustment supported by the source or a filtering feature explicitly offered in the current app interface. Don't treat a one-time manual deletion as a permanent filter, and don't invent URL parameters. Change one condition at a time, then update and check that other entries weren't excluded by mistake.
6. Frequently asked questions about managing multiple subscriptions
Will moving a backup group to the top make Shadowrocket connect through it automatically?
Changing the display order alone does not select the connection target. Check the selected server in Home, then review Global Routing. If you're using Config, also verify the policy selection in the active configuration; don't infer the actual outbound route from a group's position.
Why did the connection turn back on after I deleted the old subscription?
The subscription list and automatic connection conditions are separate settings. Go to Settings → On Demand to check the triggers, and confirm which server the current connection is using. An automatic connection being triggered again does not mean the old subscription was restored.
If two groups have servers with the same names, is it enough to keep one?
Open each entry's details and compare the protocol, address, port, authentication, and transport parameters. Matching names alone don't prove that they're the same connection. If the subscription URLs are also identical, follow the steps for removing an old subscription to clear the extra group.
Can I delete the old group right away if the new group fails to update?
Keep the old group for now. Update the new group by itself, and check that the URL is complete, its access credentials are valid, and your current network can reach it. Once the new group returns a server list and passes a connection check, switch the selected entry and update any references in Config.
Why did a server label I edited manually change after an update?
An update may restore the name returned by the source. For long-term identification, use the subscription group's label to mark its source. If you need to keep a separate manual entry, make a note that it no longer syncs with the original subscription; you'll also need to maintain its parameters separately if they change.