When managing multiple subscriptions, start by identifying each source, then filter by server remarks, and finally set update intervals and test server order. This guide is for v2rayN users who already have a working connection. It covers group naming, regular expressions, update schedules, and sorting checks. Most importantly, it distinguishes what appears in the list from what is actually connected, so switching groups isn't mistaken for switching the outbound connection.
Subscription Groups, List Filters, and Routing: What Each One Does
Subscription groups track which subscription a server came from, making it easier to update and manage each source separately. Server filters narrow the list or import results based on conditions such as remarks. Routing rules determine whether a connection uses a proxy, connects directly, or uses another configured outbound. These are separate functions: putting a server in a “Japan” group won't automatically route a particular website through it.
Likewise, switching to another group usually only changes which servers are shown. Check the active-server indicator on the main screen, the status bar, and core logs to confirm which server is actually in use. Moving a server higher in the list does not make it active.
Group subscriptions by source and keep manual servers separate
In v2rayN, open “Subscription Groups” → “Subscription Group Settings” and create a separate entry for each source, with a remark and subscription URL. Button names may vary between versions; make sure you're in the subscription group settings window, not the editor for an individual server. After adding a source, update that group once and confirm the servers import successfully before adding filters.
Use a consistent prefix to identify each source, such as “01-Main” and “02-Backup.” Keep region details in server remarks and filter them there. Adding the same subscription URL again for each region creates separate update entries and may duplicate servers. Avoid splitting a source this way unless you need different filter rules.
01-Main Subscription
- Source
- Subscription URL for regular use
- Initial filter
- Leave blank until you've confirmed the full import
- Update interval
- Suggested starting point: 24 hours
- Remark management
- Keep the source's existing names where possible
After confirming the update succeeds, gradually tighten the filters.
02-Backup Subscription
- Source
- Separate backup subscription URL
- Initial filter
- Leave blank until you've confirmed it works
- Update interval
- For infrequently changing sources, try 168 hours
- Enablement check
- Update and test manually before use
If the backup source changes servers frequently, use a shorter update interval.
- Manual servers: Keep them in a separate group for manual management. Don't mix them into groups that subscription refreshes may rebuild.
- Editing server settings: Copy the server to a manual group before changing transport or security settings. Don't rely on a subscription entry to preserve local changes.
- Backups: Use the backup or export feature in your current version to save the configuration. Treat backups as sensitive files if they contain subscription credentials.
Remark regex filters: test matches before adding exclusions
Regex filters match server remarks; they don't automatically check a server's location, actual exit region, or protocol capabilities. A remark such as “Hong Kong” is only a naming condition—it doesn't prove the server's exit region or performance. Copy a few real remarks from the imported list before writing a rule, rather than guessing at keywords.
The expressions below are for remark-filter fields that support regular expressions, and assume the filter keeps matching entries. If the interface only offers plain-text search, don't paste these expressions there. In the examples, (?i) enables case-insensitive matching; confirm the field supports this syntax before using it.
| Goal | Expression | Notes |
|---|---|---|
| Keep region names | Hong Kong|Japan | Matches if either keyword appears. |
| Keep only the HK prefix | (?i)^HK[-_ ] | Matches remarks that start with HK, followed by a hyphen, underscore, or space. |
| Keep only the JP prefix | (?i)^JP[-_ ] | Won't match JP if it appears elsewhere in the remark. |
| Match region names and exclude status terms | ^(?!.*(?:Expired|Remaining|Traffic)).*(?:Hong Kong|Japan).*$ | Excludes the entire remark if it contains any of the specified terms. |
For example, Hong Kong-Standard-01 and Japan-Standard-02 match the last rule, while Hong Kong-Remaining Traffic does not. The exclusion applies only to remark text: a valid server name containing “Traffic” will also be excluded. Match the rules to your actual naming scheme, and always review the results manually.
Sample remarks to check:
Hong Kong-Standard-01
Japan-Standard-02
Hong Kong-Remaining Traffic
United States-Standard-03
Keep rule:
^(?!.*(?:Expired|Remaining|Traffic)).*(?:Hong Kong|Japan).*$
Expected matches:
Hong Kong-Standard-01
Japan-Standard-02
Automatic update intervals: set them to match how often each source changes
In “Subscription Groups” → “Subscription Group Settings,” check the automatic update interval for each entry. Use the unit shown in the field: if it's in minutes, 24 hours is 1440 minutes and 168 hours is 10080 minutes. Don't enter hours in a field that expects minutes.
These figures are recommendations and example results for this guide, not client defaults or live service data. Updating more often isn't always better: subscription servers may limit request frequency, and endpoints can be temporarily unavailable. If an update fails, check the network path and logs before shortening the interval.
- Connect using a working server and confirm that you can access the internet.
- From the subscription update menu, choose a regular update or an option labeled “via proxy,” depending on whether the subscription URL is reachable directly.
- Update only the target group and check the logs for timeouts, authentication errors, parsing failures, or empty results.
- Review the group contents, confirm the active server still works, then choose an appropriate automatic update interval.
Automatic updates also depend on the client running and the device having a network connection; they aren't server-side scheduled tasks. Don't assume subscriptions will refresh on schedule while the computer is asleep or the client is closed. Manually update a backup source before relying on it rather than trusting its last scheduled run.
Sorting and testing: narrow the list, then check the active server
Select a subscription group, clear any search terms you don't need, then click the remark or test-result column heading to sort. Clicking the heading again usually reverses the order; check the arrow in the header. Sorting by remark helps verify names and sources. Sorting by test results helps compare servers tested in the same run—don't draw conclusions by mixing old results with current ones.
- Check connectivity first: A TCP connection test checks whether a connection to the target port can be established. It doesn't confirm that the full proxy connection has authenticated successfully.
- Then test a real request: Results depend on the test URL, DNS, transport handshake, and target response; they shouldn't be treated as a fixed latency measurement.
- Run speed tests when needed: Download tests use data. Test only candidate servers; there's no need to test every subscription every time.
- Confirm the active server manually: Use the relevant action, such as “Set as active server,” for the target server, then check the status bar. Selecting a row doesn't switch the active server.
A VMess or VLESS remark doesn't guarantee that the current core supports every transport and security setting in that entry. A subscription may import successfully while connections fail due to incompatible fields. Check the actual configuration against the protocol reference instead of trying to fix it by renaming or reordering the server.
Common issues: empty lists, failed updates, and group switches that don't change the connection
The whole group disappeared after I added a regex. How do I restore it?
Clear the main-screen search first. If the list is still empty, open “Subscription Groups” → “Subscription Group Settings,” temporarily remove the filter for that entry, save, and update that group on its own. Once the full list is back, test with a region term that appears in an actual remark. Confirm whether the filter keeps or excludes matches before adding more complex conditions.
Why doesn't switching to the backup group change my exit region?
Selecting a group only changes which servers appear in the list. Set the backup server as active, confirm its name has changed in the status bar, then test with a new request. Existing long-lived connections may still use the previous connection; reconnect the app if needed.
The subscription URL opens, but the client times out during an update. Why?
The browser and client may use different network paths. Connect to a working server first, then try the “via proxy” option in the subscription menu. Update only one group and check the logs. Before sharing logs, remove tokens, authentication parameters, and server credentials from subscription URLs.
Why did my manual remark and settings revert after an update?
A subscription refresh may recreate its entries. Copy servers you want to keep into a separate manual group before editing their remarks or connection settings. Check manual copies yourself when the source changes; they won't continue to update with the original subscription.
Two groups have servers with the same name. Can I deduplicate them?
Compare the address, port, user ID, transport, and security settings first. Identical remarks don't mean the connection settings are the same. Back up before bulk cleanup, and check whether the action applies to the selection, current group, or all servers to avoid deleting entries from the wrong source.
Review steps after making changes
Use the same short workflow to maintain multiple subscriptions: confirm the source, validate the filter, update one group, test candidates, and confirm the active server. Change one type of setting at a time so you can tell whether a problem comes from fetching the subscription, regex matching, connection settings, or routing.
- Confirm that each group remark matches its subscription source, and keep manual configurations out of groups that refresh automatically.
- Test regex rules against real remarks, including examples that should be kept and excluded.
- After saving, update that group on its own and review the logs and imported servers—not just whether the list looks different.
- Check the update interval's units, then confirm the most recent update succeeded after the device is back online.
- Test candidate servers, explicitly set the one you want as active, then use a new request to verify the actual exit.
If the problem is with the initial import or system proxy settings, start with the basic checks in the setup guide. An organized server list is only a management outcome; what matters is whether the connection works, apps follow the intended routes, and subscriptions continue to update reliably.