Multi-Provider Subscription Management: v2rayN Subscription Groups and Server Keyword Filtering

Learn how to organize multiple providers into subscription groups in v2rayN and v2rayNG, filter nodes by included or excluded keywords, and keep your server list manageable.

When several subscriptions are imported at once, efficiency is usually affected less by the number of nodes than by mixing sources, regions, multipliers, and use cases in one server list. One subscription may include common routes in Hong Kong, Singapore, and Japan, while another may mainly provide backup routes. Flatten everything into one list and a single update can produce hundreds of similarly named servers, slowing down both manual selection and latency testing.

Quick overview

This guide is for users who can already import subscriptions in v2rayN or v2rayNG but need to manage more than one provider at a time. It covers group naming, update order, include and exclude filters, post-test selection, and the organizational differences between desktop and Android.

Create stable groups by subscription source first

The primary purpose of subscription groups is to preserve source boundaries. Node names change, and the number of regions may rise or fall with each update, but it should always be clear which subscription supplied a record. Use a format such as “Provider + purpose,” for example “Cloud A - Daily,” “Cloud B - Backup,” or “Cloud C - Low Multiplier,” rather than “Subscription 1” or “Subscription 2.” Months later, when troubleshooting a dead link, a clear name saves repeated trips to the settings page to verify the address.

Using the v2rayN 7.15 interface as an example, go to “Subscription Groups” → “Subscription Group Settings” and enter an alias, subscription URL, enabled status, and automatic update interval for each source. Do not paste three subscriptions into one address field or create duplicate groups for the same address. Save them, update each group separately, confirm that every group can generate servers on its own, and only then schedule coordinated updates.

Add subscription Label source Set filters Update separately Test and choose

Suggested group field values

Primary daily subscription

Alias
Cloud A - Daily
Enable updates
Enabled
Update interval
360 minutes
Primary use
Common regions

Keep stable, low-latency routes as the default source.

Backup subscription

Alias
Cloud B - Backup
Enable updates
Enabled
Update interval
720 minutes
Primary use
Failover

It can update less often, but keep at least two reachable regions.

Low-multiplier subscription

Alias
Cloud C - Low Multiplier
Enable updates
Enabled
Update interval
480 minutes
Primary use
High-volume tasks

Keep routes whose names include a 0.5x or low-multiplier marker when filtering.

Temporary test subscription

Alias
Test - Short Term
Enable updates
On demand
Update interval
0 minutes
Primary use
Compatibility testing

Disable the group after testing to prevent automatic updates from writing the nodes back in.

Narrow the node list with include and exclude keywords

Set keyword filters around naming rules you can verify. Common names contain a region, route number, multiplier, protocol hint, and status text, such as “Hong Kong 03 | Dedicated | 0.5x.” If you mainly use Hong Kong, Singapore, and Japan, start with include conditions. If the list contains entries such as “traffic remaining,” “plan expiry,” or “official website,” clean them up with exclude conditions.

In v2rayN versions that provide filter fields, open “Subscription Groups” → “Subscription Group Settings,” select the target group, and edit its filters. Save one ordinary keyword first and update only that group to confirm the scope. When several regions must match at once, use a regular expression. Filtering occurs during subscription parsing, unlike the temporary search at the top of the server list: search only hides non-matching items in the current view, while subscription filters determine which servers are written after an update.

Include conditions: Hong Kong|Singapore|Japan
Exclude conditions: Traffic remaining|Plan expired|Official website|Maintenance|Multiplier 2
Low-multiplier conditions: 0\.5x|0\.5 multiplier|Low multiplier

In a regular expression, the vertical bar means “any one condition,” while a period must be escaped. To match “0.5x,” use “0\.5x” for a more precise result than “0.5x.” Do not add abbreviations that never appear in the server names. Check how the subscription actually names locations before assuming that both “Singapore” and “Lion City” are used.

Organization goal Include condition example Exclude condition example Update result
Keep three common regions Hong Kong|Singapore|Japan Maintenance|Expired Write only available regions whose names match
Find low-multiplier nodes 0\.5x|0\.5 multiplier Multiplier 2|High multiplier Reduce high-traffic billing routes
Keep dedicated-route names Dedicated|Relay Test|Temporary Exclude short-term test records
View Japan nodes only Japan|Tokyo|Osaka Maintenance|Remaining Suitable for single-region latency testing

Conclusion: exclude first, then narrow the include scope

Informational entries and maintenance nodes tend to have consistent naming patterns, so excluding them first usually avoids removing valid servers. Add include conditions one region at a time and check the count after every update to avoid writing an overly broad expression in one step.

Test latency after filtering instead of treating latency as the only measure

Run latency tests after shortening the list to make the results easier to compare. Suppose three subscriptions return 126 records in total, then regional and status filters reduce them to 34; the number of test jobs drops by about 73%. In one Windows 11 cleanup session on a gigabit local network, testing 126 servers took about 52 seconds, while 34 took about 16 seconds. The figures vary with the network, core status, and timeout settings, but the benefit of testing a smaller set is consistent.

In v2rayN, filter the server list by subscription group first, then choose “Servers” → “Test server real connection latency.” Real connection latency actually attempts to establish a connection through the node, making it closer to real-world use than a transport-layer response alone. Do not update subscriptions during testing or repeatedly start different batch-test commands, or old results, new results, and timed-out jobs may become interleaved.

  1. First stop downloads or sync jobs that are using substantial bandwidth and keep the local network load stable.
  2. Select a subscription group, run the real connection latency test, and record the success rate and response time.
  3. Test each candidate three times, about 30 seconds apart, rather than choosing based on a single best result.
  4. Among nodes with similar average latency, choose the one with fewer errors and smaller fluctuations across repeated tests.
  5. Enable the system proxy only after choosing, then verify the connection with real web or application requests.

For example, node A records 88, 94, and 91 ms across three tests, while node B records 61, 248, and a timeout. Although B produced a lower number, A is more consistent and better suited as a daily node. If node C records 130 ms but transfers large files reliably, it can belong in a “High-volume” group instead of being deleted simply because its latency exceeds 100 ms.

Conclusion: groups define purpose; latency tests choose within a group

Prioritize stability for the primary subscription, independent connectivity for the backup, and traffic usage for the low-multiplier group. Mixing these goals into one latency ranking can favor the lowest number even when the node is unsuitable for the task.

Keep mobile groups clear in v2rayNG

v2rayNG works best when each subscription remains an independent configuration source. Open “Subscription Group Settings” from the top-left menu, add a remark and subscription URL for each entry, save, and update the relevant group. Button placement may vary slightly between versions, but the principle is the same: one provider per subscription entry, with remarks matching the desktop names so the same source is not labeled differently across devices.

Android has less screen space than desktop, so controlling the number of visible nodes matters even more. Switch to the required subscription group first, then use the filter or search function in the configuration list to view a target region. If the current version lacks persistent include and exclude fields, treat search as a filter for the current list only, not as a permanent change to the subscription. Check again after the next update to see whether informational nodes have returned.

  • Keep remarks consistent: use “Cloud A - Daily” on desktop and Android alike; do not shorten it to “A.”
  • Update by group: when backup routes are needed, update only the backup group instead of refreshing every subscription.
  • Core distinction: v2rayNG uses the Xray core; Android clients using the v2fly core use v2flyNG. Name their subscription sources separately.
  • Local port: the common local SOCKS port is 10808; use the value configured under “Settings” → “Parameter Settings.”
  • Check updates: after an update, verify the numbers added and removed and the currently active configuration—not just the “Update successful” message.

Planning automatic updates and failover

Multi-subscription management does not require every group to refresh at the same time. A safer approach is to stagger the schedules: update the primary subscription every 6 hours, the backup every 12 hours, the low-multiplier subscription every 8 hours, and disable automatic updates for the temporary test subscription. This keeps frequently used lists current without making multiple addresses request, parse, and rewrite the server panel simultaneously.

Watch how the node count changes before and after updates. If a group normally has 30 to 40 records but suddenly drops to 2, do not immediately clear the old list and redo everything. Open “Subscription Group Settings” to confirm the address is complete and the filter is not too narrow, then check the system time and current network egress. A single full-width character or incorrectly escaped expression can also sharply reduce matches.

Primary subscription update plan

Cycle
360 minutes
Regions kept
Hong Kong, Singapore, Japan
Candidate count
12 to 24
Test method
Real connection latency

Choose three stable nodes and retain at least two regions.

Backup subscription update plan

Cycle
720 minutes
Regions kept
Different from primary
Candidate count
6 to 12
Test method
Test on demand

Switch over when the primary subscription fails; routine batch latency testing is unnecessary.

Failover order

  1. First switch within the current group to the second candidate that was stable in the most recent test.
  2. If several nodes in the same group fail, update the current subscription once and test again.
  3. If the subscription update also fails, switch to an available node already saved in the backup group.
  4. After the backup connection recovers, check the primary subscription URL, filter fields, and automatic update settings.
  5. Switch back only after confirming that the primary subscription is stable again; do not repeatedly delete and re-import during an outage.

Common questions about managing multiple subscriptions

Two subscriptions contain nodes with the same name. How can I identify the source?

View them by subscription group first instead of relying on the server remark. Set the group alias to “Provider - purpose,” test latency within that group, and keep each same-named node with its original subscription source and connection parameters.

The list is empty after setting an include keyword. What happened?

Change the condition to one word that definitely appears in a node name, such as “Hong Kong,” save it, and update only that group. Once it matches, add “|Singapore.” Also check that the same keyword was not accidentally placed in the exclude condition.

Why did informational nodes return after an update?

The search at the top of the server list is only a temporary display filter and does not change the subscription parsing result. For a persistent rule, enter an exclude condition under “Subscription Groups” → “Subscription Group Settings,” then update the relevant group again.

What automatic update interval should I use?

Start with 360 minutes for the primary subscription and 720 minutes for the backup; disable automatic updates for temporary subscriptions. If the provider specifies an update frequency, follow that guidance instead of refreshing every few minutes.

Does having more nodes make recovery easier during an outage?

What matters is independent sources and viable candidates, not the raw count. Keeping two sources and three common regions, with two or three repeatedly tested nodes selected from each source, is usually easier to switch between than a pile of hundreds of untested records.

After cleanup, the server panel should answer three questions: which subscription supplied the current node, what purpose it serves, and where to switch first if it fails. With stable group names, reviewable filter rules, and sensible update intervals, multiple subscriptions become a connection set maintained by source and purpose instead of an ever-growing node list.

Download v2rayN Open the four-platform downloads