When managing multiple subscriptions, identify each source first, then adjust the display order and remove duplicate entries. This guide is for iPhone and iPad users who already have their own service and subscription and use Shadowrocket. Follow the steps to check sources, determine whether same-named nodes are duplicates, and keep what you need to restore them before deleting anything. No nodes or subscriptions are provided, sold, or recommended here.
1. Understand the Difference Between Subscriptions, Nodes, and Config
A subscription is a source address for retrieving node details; a node is a set of protocol parameters used to connect; and Config organizes rules and other settings. They operate at different levels: adding a subscription in Home does not automatically create a separate set of routing rules, and placing two groups of nodes together does not merge their sources.
Before reorganizing, review each subscription’s label, source address, and node count in Home. Use labels that help identify the source or purpose, such as “Primary,” “Backup,” or “Test.” These are local labels, not indicators of connection quality or service level. Avoid putting subscription addresses containing credentials in labels.
| Item | Where to check | How it helps when organizing |
|---|---|---|
| Subscribe | Subscription entry in Home | Identify the source of its nodes and manage whether that source is updated or kept. |
| Node | Expanded list in Home | Check the protocol, server, port, and authentication parameters to identify the connection target. |
| Config | Config | Review rule and policy references to avoid leaving references to old names after cleanup. |
| Update options | Settings → Subscribe | Review subscription-related settings; available options depend on the current interface. |
A subscription may contain entries using different protocols, such as Shadowsocks, VMess, VLESS, Trojan, Hysteria2, or WireGuard. Don’t duplicate a subscription just because its entries use different protocols, or delete a node just because its name matches another. Check the source and connection parameters to determine whether entries are actually duplicates.
2. Add and Group by Source Without Importing the Same Address Twice
If you already have multiple subscriptions, make a list of their sources first, then add only the ones that are missing. Before adding one, look for existing entries in Home and compare their addresses in the subscription editor. If the same address is already there, update that entry instead of adding it again with “+”.
-
Record the sources
Review each subscription group in Home and note its label, node count, and purpose. Keep full addresses somewhere secure under your control; don’t post them in public discussions.
-
Add only missing subscriptions
In Home, tap “+” in the upper-right corner → Type → Subscribe. Enter a subscription address you already have, add a recognizable label, and save. Make sure you select Subscribe, not a protocol type for an individual node.
-
Update one at a time
Return to Home and use the update action for the relevant subscription. Pull down to update everything only when needed. Update one source and check the result before moving on, so you can tell which source caused any changes.
-
Check the groups
Expand the relevant subscription and confirm that its nodes match the expected source, then collapse groups you aren’t currently using. Grouping helps organize the list; it doesn’t determine which group handles requests.
Different addresses don’t always mean different sources. An old and a new address may return identical content, or two entries may belong to the same account. Check the purpose against information from your existing source, and avoid keeping identical entries just to have “one more backup.”
3. Handle Group Order Separately from Connection Strategy
Reordering makes entries easier to find; it doesn’t automatically change the switching strategy. Moving a node to the top of the list does not mean it will take over if the current connection fails. Check “how the list is displayed” and “where requests actually go” separately to avoid mistaking a display change for a connection change.
In Home, open the action menu for the subscription or node you want to organize and check the available sorting or editing options. If manual reordering is available, move your primary source to the top. If the only options sort by name or latency, use what the interface provides. Don’t confuse the order of subscription groups with the order of nodes within a group, and confirm the scope before applying bulk actions.
- Source order: Arrange subscription groups with your primary source first and backups after it. Collapse groups you aren’t using to reduce the chance of selecting one by mistake.
- Order within a group: Sort by name to find entries consistently. Sorting by latency helps you review current test results, but latency is not throughput and does not prove long-term stability.
- Check after updating: A source may change the names or entries it returns, affecting the sort order. After refreshing, check frequently used entries again instead of relying on their previous row numbers.
The following compares three Global Routing modes to explain the difference between sorting and routing. Check Scene settings separately for your own use case; their behavior cannot be inferred from the number of subscriptions.
Config
RecommendedLet the rules in the current configuration determine the policy. Before removing nodes, check whether the Config you use references them through policy groups or names; not all traffic uses the node currently selected in Home.
Best for: Keeping your usual routing behavior with a verified rule configuration.
Proxy
Route requests through a proxy to help isolate the effect of rules. Still check which node or policy is actually selected; the first item in the list is not automatically selected.
Best for: Temporarily testing an existing node to distinguish connection parameter issues from rule issues.
Direct
Connect directly. If a page loads in this mode, that doesn’t confirm that a recently reorganized proxy node works.
Best for: Checking how the current network behaves with a direct connection.
Bottom line: Confirm the selected item after reordering
After reordering, explicitly select the node you plan to use in Home and check Global Routing. If you use Config, check the active policy references too. Don’t rely on list position to determine the connection target.
4. Identify Duplicate Nodes by Their Parameters, Not Just Their Names
Two entries with the same name aren’t necessarily the same connection configuration. Entries with the same name may use different servers, ports, or protocols; one server may also use multiple ports with different authentication details. Conversely, entries with different names may have identical connection parameters.
| What you see | What to check | What to do |
|---|---|---|
| Same name, ports 443 and 8443 | Protocol, server, authentication, TLS, and transport parameters | Don’t delete based on the name alone; they may be different connection endpoints. |
| Same server and port | Password or UUID, TLS Server Name, transport type, and path | Different parameters can still mean different connection configurations. |
| The same subscription address was added twice | Full address, contents of both groups, and Config references | Keep one verified source, then remove the duplicate subscription entry. |
| The same entry appears under two sources | Purpose of each source and plans for future updates | Decide which source to keep first; deleting only the node may not prevent it from returning after an update. |
The ports in this table are examples to explain the comparison process, not values to enter. Don’t change server, port, or authentication parameters just to remove duplicates; they must match your existing configuration. For WireGuard, compare key relationships and parameters such as Endpoint rather than using checks intended for passwords or UUIDs.
A safer cleanup order is to remove duplicate subscription entries first, check for duplicates across sources next, and then review standalone nodes added manually. If a source keeps returning the same entries, deleting them manually only affects the local list; they may reappear at the next update. Check the content and filtering options provided by your existing source rather than repeatedly deleting the same entries.
Bottom line: Remove duplicate sources first
If two groups use the same full subscription address, keep one source and verify its updates first. This is easier to maintain than deleting nodes one by one from one of the groups.
5. Keep Recovery Information Before Deleting and Check References Afterwards
Removing a subscription entry is not the same as canceling a service. Removing it locally doesn’t manage your account with the original service, nor should you assume local deletion invalidates the source credentials. If an address has been exposed, manage its credentials through the account for your existing source rather than simply removing the entry from Home.
-
Keep recovery information
Make sure you still have a valid subscription address and any necessary instructions. If you use the app’s configuration backup or export feature, check what it covers first; don’t assume it includes all subscription credentials.
-
Switch connections
If you’re using a node in the group you plan to remove, disconnect or switch to a node you’re keeping first, then check the policy references in your Config.
-
Remove the source
In Home, delete the target subscription entry and check which item and scope appear in the confirmation prompt. Don’t mistake an action for an individual node for an action on the entire subscription.
-
Verify the result
Check the remaining subscription groups, selected node, and Config. If the configuration still references an old node name, update it according to its structure, then test the connection and access again.
Don’t make deleting a subscription your first response to an update failure. Keep the existing content and check the address, network, and source status first; this usually makes the problem easier to diagnose. Remove an entry only after confirming it’s duplicated, the source is inactive, or you no longer need it. If you haven’t finished checking it, collapse the group to avoid selecting it by mistake.
6. Common Questions About Changed Sort Order and Returning Duplicates
Why did a node I just deleted come back?
First check whether it belongs to a subscription. If the source still returns the entry, it may be imported again during an update. Check the source in Home. If the same address was added twice, remove the extra subscription entry instead of repeatedly deleting its child nodes.
Can I give two subscriptions the same label?
The same label doesn’t merge sources and can make it easier to delete the wrong one. Open each subscription’s edit page, give them different labels, and check their addresses. To make entries easier to find, keep the sources distinguishable first, then organize the names and display order within each group.
The first item changed after sorting. Will my connection change too?
Don’t assume it will. In Home, check which item is actually selected, then review Global Routing. If you use Config, also confirm the current selection in the policy group. To keep using a specific entry, select it explicitly rather than relying on the first row.
One subscription update failed. Should I remove and re-add them all?
No. Update only the subscription that failed and leave other working sources as they are. Check its full address, your current network, and the source status, then review the relevant options under Settings → Subscribe. Record the original values before changing settings, and change one thing at a time.
At the end of each cleanup, run the same checks: Can the sources you’re keeping update? Are your frequently used nodes still there? Does the current policy behave as expected? A successful update only confirms that retrieval and parsing completed; it doesn’t prove every node can connect. Test the specific entry you plan to use.
- Source check: Keep only necessary entries for each full address, and use labels that distinguish their purpose.
- List check: Collapse unused groups, confirm the sort scope, and don’t rely on row numbers from before an update.
- Connection check: Confirm the selected item in Home and review Global Routing. Check references in Config if needed.
- Privacy check: Before sharing troubleshooting details, redact subscription credentials, passwords, UUIDs, private keys, and other sensitive information.