When multiple subscription sources get mixed together, create a separate group for each source, then distinguish between searching the main window and filtering during updates. This guide walks through adding groups, verifying imports, setting filters, updating in bulk, and handling duplicates. It’s for v2rayN users who can already import subscriptions but need a better way to manage long lists. Example names and counts illustrate matching rules only; they say nothing about actual service quality.
1. Group by Source, Then Name by Purpose
A subscription URL is a source of configuration; a subscription group is the client’s container for managing that source; server entries are the actual connection profiles. Naming a group “Hong Kong” does not mean every server in it is located in Hong Kong or change any routing rules. Groups organize lists, while routing rules determine where traffic goes—they serve different purposes.
Use short names in the format “source + purpose,” such as “Source A - Daily,” “Source B - Backup,” or “Source C - Test.” Don’t use the full subscription URL as a source name, and never include its token in a group name. That information can easily be exposed in screenshots or shared logs from the main window.
Group by Subscription Source
RecommendedCreate one group per URL and add a purpose such as Daily or Backup to its name. When an update fails, you can identify the source immediately, and changing a filter won’t affect other subscriptions.
Best for: Users with two or more long-term subscription sources that need to be updated and troubleshot separately.
Keep Manual Configurations Separate
Manage manually imported connections separately from subscription-generated lists so temporary edits aren’t mistaken for upstream settings. Subscription updates may regenerate entries, so keep important local changes elsewhere.
Best for: Testing compatibility on individual connections or keeping manual configurations on hand.
2. Add a Group and Verify a Complete Import
This guide uses common menus from the Chinese-language v2rayN interface. Button placement can vary between desktop versions. Find the Subscription Group Settings window, then check its alias, URL, and filter fields. Don’t confuse the editor for an individual server with the subscription settings. For the first import, leave the filter blank and confirm the original list loads successfully.
-
Open Group Settings
From the main window, go to “Subscription Groups” → “Subscription Group Settings” and use the Add button to create an entry. Set the alias to “Source A - Daily” so you can identify the source from its group tab later.
-
Enter the Subscription URL
Paste the full subscription URL provided by your service provider into the URL field. Check for leading or trailing spaces and accidental line breaks. Don’t mistake a web login, order page, or individual VLESS share link for a subscription URL.
-
Save and Select the Group
Save the settings, return to the main window, and select the group you just created. Update this group alone for the first import rather than updating everything, so you can distinguish download or parsing errors from messages about other sources.
-
Update and Check the Logs
From the “Subscription Groups” menu, choose “Update current subscription (without proxy).” If your current network can’t reach the subscription URL and you already have a working connection, try the corresponding “via proxy” update option instead. Follow the wording shown in your local menu, including its parentheses.
-
Verify the Import
Clear the main-window search field, check whether servers appear in the selected group, and note the update log results. Once the list looks right, add other sources. Add filters to each group only after that.
3. Know the Difference Between Search and Subscription Filters
The main-window search is generally for quickly finding servers you’ve already imported; clear the search term to show the full list again. The filter field in Subscription Group Settings applies to subscription update results. To find a Japan server temporarily, use search. To keep a source limited to servers with specific names, consider a group filter.
| Action | Where to Find It | How to Verify |
|---|---|---|
| Temporary Search | Search field near the server list in the main window | Search by keyword; clear it to restore the full list |
| Filter by Subscription Name | Filter field in Subscription Group Settings | Save, update the current subscription, then check the imported entries |
| Routing | Routing Settings | Check which rule matches the request and which outbound it uses; don’t infer this from the group name |
Some v2rayN versions label the subscription filter field “Alias Regex.” It matches server aliases, not group names, and it can’t verify a server’s actual location. If your version uses a different label, read the field’s hint and confirm that it supports regular expressions. Don’t enter a regex in the regular search box and assume it works the same way.
- Start by copying keywords from actual server names. For example, if the list says “Hong Kong,” searching only for “HK” may return no matches.
- Chinese text, spaces, capitalization, and prefixes or suffixes can all affect matching. Check the rule again if the upstream provider renames servers.
- Filtering selects which entries to keep; it doesn’t change VMess, VLESS, or other connection settings, and it won’t improve latency on its own.
4. Test a Regex Filter Against Six Server Names
Use the fixed sample below to check the expected results before applying a rule. Assume a subscription returns these six aliases and you want to keep the Daily and Backup entries for Hong Kong and Japan. The sample contains no real URLs or account details.
Daily-Hong Kong-01
Daily-Japan-01
Daily-Singapore-01
Backup-Hong Kong-02
Test-Japan-02
Expiry Reminder
If the filter field supports regular expressions, use this rule to keep matching entries. ^ marks the start of a name, | means “or,” and parentheses group the alternatives. The rule requires a name to start with “Daily-” or “Backup-”, immediately followed by “Hong Kong-” or “Japan-”.
^(Daily|Backup)-(Hong Kong|Japan)-
The rule should keep entries 1, 2, and 4. “Test-Japan-02” contains “Japan,” but its prefix doesn’t match; “Expiry Reminder” is also excluded. Actual subscriptions may use entirely different naming conventions, so don’t copy this rule without checking the server names. To include Hong Kong or Japan names regardless of prefix, start with the simpler Hong Kong|Japan.
Takeaway: Test the Sample Before Updating the Whole Group
Compare the expression against at least one real alias that should match and one that shouldn’t. Then save and update the current subscription. If nothing appears, clear the filter first to restore the import; don’t change the URL and core at the same time.
5. Update in Bulk and Remove Duplicates Separately
After each group imports successfully on its own, use the “Update all subscriptions” option in the “Subscription Groups” menu. A bulk update syncs configurations; it doesn’t guarantee that every source updated successfully. Check the logs for each group to find any failures. Direct and proxy updates only change the network path used to fetch a subscription; neither can fix an expired token.
Removing duplicates is a separate operation. Matching aliases don’t necessarily mean two entries are the same server: they may use different addresses, ports, user IDs, transport settings, or TLS parameters. Conversely, two differently named profiles may connect to the same service. Duplicate detection can also change between client versions, so don’t delete entries in bulk based on their names alone.
- Make a recovery point first: Use your client’s backup or export feature to save the configuration and any necessary settings. Treat backup files as sensitive information, too.
- Limit the scope first: Select the group you want to organize. Read the confirmation prompt for commands such as “Remove duplicate servers” and check whether they affect the current group, selected entries, or the entire list.
- Then check the settings: Spot-check the addresses, ports, protocols, and transport settings of suspected duplicates. If you can’t confirm they’re duplicates, keep the entries with a clear source and avoid a one-click cleanup across groups.
- Test at the end: Confirm that the server you use is still listed and can connect. If duplicates return after another update, the upstream source is still providing them; deleting them locally isn’t a persistent filter.
Don’t rely on manually deleting entries to maintain a long-term allowlist. Subscription updates may restore entries that still exist upstream. Put any conditions you want to keep permanently in the relevant group’s filter field. Also expect updates to overwrite manual changes to subscription-generated nodes.
6. Troubleshooting Empty Lists and Failed Updates
Keep other variables fixed while troubleshooting and change one thing at a time. First check the selected group and search terms, then the filter rule, and only then the network and subscription response. An empty list is a display result, not proof that every server is down.
Just Set a Filter and Now All Servers Are Gone?
First clear the main-window search field and make sure the correct group is selected. Then go to “Subscription Groups” → “Subscription Group Settings,” clear that group’s filter, save, and update the current subscription. Once the entries return, start with a keyword you know is present and narrow the results gradually.
The Update Timed Out. Should I Switch to a Proxy?
First confirm that an existing connection can actually access the internet, then try “Update current subscription (via proxy).” This route may not work if you don’t have a usable server. Next, check the subscription domain’s DNS resolution, your current network connection, and the logs. Avoid repeatedly updating every source.
The Log Shows 401 or 403. Will Changing the Filter Help?
These status codes occur while the content is being fetched, so the filter usually hasn’t been applied yet. Check that the URL is complete and the subscription is valid, and find out whether your provider restricts request methods or client identifiers. Follow the provider’s instructions; don’t randomly change the user agent to hide a URL problem.
The Update Succeeded, So Why Can’t I Find a Japan Server?
Clear the search and filter, update again, and check whether the upstream source actually provides a server with that name. Some providers use “JP” instead of “Japan.” If the log mentions a parsing error or unsupported configuration, check the subscription format and your client version. A successful download alone doesn’t mean every entry was imported.
7. A Maintenance Routine for Organized Lists
For routine maintenance, follow one clear sequence: verify the subscription, check the filter results, then test the connection. Don’t rearrange groups or rewrite expressions with every update. Stable source names make it easier to compare the current state with the last time everything worked.
- When adding a source, create a separate group, import with the filter blank, and confirm the URL works.
- Once you know the actual aliases, set a filter, update that group alone, and verify the entries it keeps.
- After a bulk update, check the logs by source and retry failed groups separately.
- If the upstream provider renames servers or changes the subscription URL, test the filter again and keep any necessary configuration backups.
Groups and filters make configurations easier to manage, but they can’t replace connection testing. Actual connectivity still depends on the subscription parameters, your current network, core support, and server status. First make each entry’s source clear, then troubleshoot speed and routing; this narrows down the cause.