This guide is for v2rayNG users who can already import subscriptions but find their lists cluttered or have trouble locating servers after an update. Create a group for each source, test filtering with a remark that actually exists, then set an update schedule. Groups identify sources, filters narrow the list, and routing rules direct traffic—these serve different purposes.
Understand subscription groups, keyword filters, and routing
A subscription URL retrieves a set of configurations, while an individual VMess or VLESS share link usually describes one configuration. Save subscriptions from different providers separately in v2rayNG to keep updates and troubleshooting clearly scoped. Group names are local labels; they do not change server addresses, credentials, or transport settings.
Server keyword filters generally match the remarks attached to subscribed servers—the names shown in the list. They are not website keyword filters and do not route traffic by app. Keeping configurations with “Tokyo” in the name does not mean all requests to Japanese websites will use those servers; traffic still depends on the active connection and routing settings.
- Groups: Show which subscription a configuration came from, making it easier to edit, update, or delete that source independently.
- Filters: Decide which names to keep when importing a subscription; they do not change a server’s actual location.
- Routing: Selects an outbound connection based on conditions such as domains or IP addresses. It is separate from organizing the subscription list.
Create groups by source: import the full list first
Open the side menu from the top-left corner of the v2rayNG main screen, go to “Subscription settings,” and tap the add button. Enter a remark and the subscription URL, then save. Button icons and field layouts may vary by version, so follow the interface you see. Do not enter a vless:// share link as a subscription URL.
- Create a group for one provider first, such as “Primary provider.” Give it a remark that identifies the source; do not paste a full URL containing a token.
- Paste the complete subscription URL provided by the service, including its path and query parameters. Check for accidental spaces or line breaks at either end.
- For the first import, leave “Server keyword filter” blank. Save, then return to the main screen.
- Open the menu in the top-right corner of the main screen and select “Update subscription.” If your version lets you update a specific group, update only the source you are checking.
- Check whether configurations appear under that group and note a few of their actual remarks. Once the source is confirmed to work, add a backup source using the same steps.
Do not apply a complex filter during the first import. An invalid URL, an incompatible format, or a filter with no matches can all leave the list empty. Change one thing at a time to identify what affected the result. Re-creating the same subscription repeatedly only adds duplicate configurations; it will not fix the original URL.
Primary provider
- Group remark
- Primary provider
- Subscription URL
- The dedicated subscription URL provided by this source
- Initial filter
- Leave blank
- Update order
- Update it separately first and check the remarks
Confirm the full subscription imports before narrowing the list.
Backup provider
- Group remark
- Backup provider
- Subscription URL
- The backup provider’s own subscription URL
- Initial filter
- Leave blank
- Management boundary
- Edit separately from the primary provider
Separate groups do not provide automatic failover. Check which configuration is currently selected.
Server keyword filters: start with one remark fragment
Return to “Subscription settings,” edit the target group, and find “Server keyword filter.” Start with a stable piece of text copied from a name that imported successfully. For example, if a server remark actually contains “Tokyo,” enter just “Tokyo,” save, update that subscription, and check the results.
Do not guess names based on location. Providers may use Chinese, English, or abbreviations, and may add multipliers, route types, or traffic notes to the name. Names are what the filter matches; they do not guarantee a data center location or connection speed. Numeric IDs often change, so they are poor long-term filter terms.
| Name pattern | First test | How to verify |
|---|---|---|
| The actual remark contains “Tokyo” | Enter “Tokyo” | After updating, check that the retained names match |
| The actual remark uses an English city name only | Copy the exact text from the remark | Preserve the original capitalization and test one condition first |
| The name includes a frequently changing number | Do not filter by the trailing number | Choose a more stable region or route label |
| Only traffic or expiry notices remain | Clear the filter and update again | Check whether the source still returns usable configurations |
Check the current version’s field documentation for how it separates multiple keywords and whether it supports regular expressions or exclusions. Do not assume commas mean “OR,” and do not copy syntax from another client. If the syntax is unclear, start with one plain-text keyword. Expand the condition only after confirming that it matches.
Bottom line: verify filters against the updated list
Temporary search on the main screen is not the same as a subscription filter. After changing a group’s filter, update that subscription before checking the results. If the list unexpectedly becomes empty, remove the filter first instead of immediately deleting the group or reinstalling the client.
Automatic update intervals: match the refresh schedule to how often things change
Automatic updates refresh subscription content; they do not switch servers on a schedule or automatically select another source when a connection fails. If a provider changes an address, port, or credential, fetch the updated configuration. Simply restarting the connection may not pick up those changes.
First check the group editor under “Subscription settings” for an “Automatic update” option and interval field. You can also look for related options under “Settings.” Menus and available options vary by version. Enable this only if you can see the feature; do not assume v2rayNG has a scheduled-task option found in another client.
- Check the units: If the field uses minutes, 24 hours is 1440 minutes. If it uses hours, enter 24. This is a suggested starting point, not a built-in default.
- Respect provider limits: Subscription services may limit how often they can be queried. There is no need to keep refreshing when nothing has changed, and you should avoid very short polling intervals.
- Account for background limits: Android battery optimization and background task scheduling may delay updates. If you need new configurations right away, update manually in the foreground and check the result.
- No automatic update option? Keep using the manual update process. When a provider announces a change, update the subscription and verify the selected configuration. Saving a group does not mean a background task has been scheduled.
Whether an update needs a proxy depends on whether the subscription URL is reachable on your current network and on the update methods available in the client. Do not wait until your only working connection fails to test whether you can fetch your subscriptions. Check in advance that your backup group can update and connect—not just that its names appear in the list.
Manage multiple providers: keep sources distinct and avoid duplicate work
The biggest challenge with multiple providers is not having too few configurations; it is mixing servers with the same region name and choosing one from the wrong source. Use group remarks to identify the provider or purpose, and preserve the original server remarks where possible. Names changed manually may be overwritten at the next update, so do not rely on them as your only way to identify a configuration.
- Switch to the target group first: If the main screen has group tabs or a filter, narrow the list to the right source before looking for a region or route type.
- Then select a specific configuration: Do not rely on a shared name like “Tokyo.” Check both the group it belongs to and its full remark.
- Check the connection after switching: Verify the selected configuration, connection status, and access to an actual webpage. A configuration in the list does not guarantee the server is still available.
- Check ownership before cleanup: Before deleting an outdated group, make sure it is not your only working source and save the subscription URL needed to restore it.
If you copy a subscribed configuration into a standalone manual configuration, treat it as a snapshot. It may not reflect later changes to the source, such as a new port or credentials. Use this only when you need to preserve specific settings temporarily, and note that the copy no longer follows subscription updates.
Empty lists after filtering, update timeouts, and stale configurations
Troubleshoot in order: confirm the subscription can fetch content, then confirm the client can parse it, and only then test the filter. Do not change DNS and routing while also rebuilding every group. Even if things start working again, you will not know what fixed the problem.
Why did everything disappear after I added a keyword and updated?
Open “Subscription settings,” edit the group, clear “Server keyword filter,” save, and update again. Once the configurations return, try a short word copied from an actual remark. If the list is still empty, check whether the subscription has expired, the URL is complete, and the response is not a login page or error message.
The same URL used to update, but now it keeps timing out. What should I do?
First check that your current network is working and that your existing connection can open webpages. If your version offers an option to update subscriptions through a proxy, try it while you still have a working connection. If the URL is reachable only through a direct connection, use the appropriate method instead. Change one update path at a time and note the exact error.
Why does the list still look the same after I changed the filter?
First make sure you saved the correct group, then update the subscription instead of simply leaving the edit screen. Next, check whether you are viewing “All”: a configuration with the same name may belong to another group, and manually imported configurations are not controlled by that subscription’s filter field.
Will an automatic update always switch the active server?
Not necessarily. Refreshed configurations, the currently selected item, and the active connection are separate states. After an update, check whether the selected configuration is still there and whether its parameters changed. If the connection is using old parameters, stop and restart it after confirming the new configuration works. A refreshed list does not mean failover has occurred.
Finish with a repeatable check: open the primary and backup groups separately and confirm both can update. Select and connect to each configuration you actually need, then revisit the group editor to ensure the keyword is correct. If the provider changes its naming scheme, review the filter first so a name mismatch is not mistaken for an outage affecting every server.