Adding a subscription to v2rayN gives the client a source from which to import and refresh server configurations. The subscription URL is supplied by the service that provides your access; it is not created by v2rayN. This guide explains how to add that URL to a subscription group, update the server list, select an imported node, and distinguish an import problem from a connection problem. Menu labels can vary between v2rayN versions, so use the equivalent subscription and server-group controls in your installed version.
Use a subscription URL from a trusted provider, save it in a named group, and run the group’s update command. Then confirm that the node list contains newly imported entries before testing a node. If the list remains empty, check the URL, update result, network access, and subscription format in that order. An update can import configurations without proving that the servers are reachable.
1. Understand subscription groups and server nodes
A subscription group is an entry in v2rayN that stores a subscription URL and its update settings. When you update the group, v2rayN requests the subscription content and attempts to import the server configurations it contains. A server node is one imported configuration, with fields such as address, port, protocol, transport, and security settings. The group organizes where configurations came from; it is not itself a server and is not selected as the active proxy.
Think of the process as two separate stages. First, v2rayN retrieves and parses the subscription data. Second, you select an imported node and start the core so traffic can use it. A successful group update only confirms that configurations were retrieved or processed; it does not certify that every node is online, compatible with the selected core, or able to reach its destination.
Keep the subscription URL private. It may contain a token that allows access to your server list, and anyone who obtains it may be able to use or refresh the same subscription. Avoid posting it in screenshots, public support requests, or unredacted logs. If the provider offers separate URLs for different devices or formats, use the one intended for a compatible desktop client and follow the provider’s usage limits.
The port shown above is a common example of a local proxy inbound port; it is not the remote port in your subscription URL and does not need to be copied into the group. Use the actual local port displayed in your own v2rayN settings when configuring an application to use the client. The provider’s server port is part of each imported node and may be different for every server.
2. Add the subscription URL to a group
Before changing settings, obtain the complete subscription URL from the service provider. Copy it using the provider’s copy button when available. A subscription address may be long and may contain letters, digits, punctuation, and a token. Do not remove query parameters, add spaces, or replace characters that look unusual. If the provider has rotated or revoked the address, ask for a current URL rather than trying to reconstruct it.
-
Open subscriptions
In v2rayN, find “Subscription Group” or the equivalent subscription control in the main window. Depending on the version, it may appear in a toolbar, a menu, or a group-management dialog. Choose the command for managing or editing subscription groups.
-
Create a group
Choose “Add” or the plus control. Enter a short name such as “Personal” or the provider’s name. The name is only a local label to help you distinguish groups; it does not change the subscription URL or server settings.
-
Paste the URL
Paste the full address into the group’s URL field. Check the beginning and end of the value, especially if the clipboard copied a trailing space or line break. Keep the provider’s original scheme and query string, and do not substitute an individual server share link for a subscription address.
-
Save the group
Confirm or save the entry, then close the management dialog if required. Look for the new group in the subscription list. If there is a setting for a user agent, update interval, or proxy used for updating, leave it at the provider’s recommended value unless the provider documents a different requirement.
-
Update the group
Open the subscription control and choose the command to update the selected group. If you have several groups, use the selected-group action first so the result is easy to identify. Wait for the operation to finish, then inspect the notification or log for a success message, an imported-node count, or a specific error.
Some builds expose both “Update subscription” and “Update all subscriptions.” The first targets the selected group; the second processes every configured group. Use the single-group command while setting up a new address, then use the all-groups command when you intentionally want to refresh several providers. Exact wording and placement can differ across releases, so rely on the function rather than an assumed menu position.
If the client asks whether to overwrite, merge, or retain existing entries, consider how you organize your list. A refresh normally updates entries managed by that subscription, but manually created servers or entries from other groups should not be assumed to be part of it. If you have made local changes to imported nodes, note that a later provider refresh may replace or remove configurations depending on the client’s behavior and the provider’s current list.
3. Verify that nodes were imported
After the update completes, return to the main server list. Check whether the expected group or its nodes are visible, and look for a changed node count or a recent update message. If the list is sorted or filtered, clear the filter and inspect other groups before concluding that nothing was imported. A group entry can exist even when it contains no usable nodes, so verify the actual server rows rather than only the group name.
- Confirm the source: Check that you updated the new group rather than a different group or only the currently selected server.
- Check the list: Clear search text and any protocol, tag, or availability filter that could hide imported entries.
- Inspect a node: Open its details and confirm that the address, port, protocol, and security fields are populated. Do not edit these fields merely to make them resemble a different node.
- Test separately: Select one node and run the client’s latency or connectivity test if available. A latency result is an initial check, not a guarantee that every website or application will work.
When the node list is populated, select one entry in the main window and use the client’s server-selection command, often available from a context menu. Then start or restart the core if the client requires it, and check the status indicator or log for startup errors. To verify browsing, use a known test destination and make sure the relevant application is actually using v2rayN’s local proxy or the intended traffic-capture mode.
Keep subscription management separate from connection testing
When importing
- Check the group name and full URL
- Review the update result and imported count
- Confirm entries are visible in the server list
When testing a node
- Select a specific imported server
- Check core startup and connection logs
- Test an application through the intended proxy route
A successful subscription refresh means the list was processed; node availability and application routing require separate checks.
If a node appears but fails a connection test, the subscription may still have imported correctly. The problem could be a server that is temporarily unavailable, a configuration that requires a newer compatible core, an incorrect system clock for a time-sensitive configuration, DNS resolution, or a network that blocks the connection. Test a second node from the same group before changing subscription settings. If all nodes fail, compare the core log and provider status before editing imported parameters.
4. Troubleshoot failed updates or an empty list
Start with the message shown by v2rayN. “Network error,” “timeout,” an HTTP status, and “no valid configuration” point to different stages. A timeout means the client did not receive a response in time; it does not by itself prove that the URL is malformed. A response that downloads but yields no nodes may instead indicate an unsupported format, an expired subscription, or content that is not a server subscription.
I saved the group, but the server list is still empty. What should I check?
Run the update for that specific group and read the result. Confirm the group has the complete URL, then clear list filters. If the update reports success but imports zero entries, ask the provider whether the address is active and returns a format supported by your client and core.
The update times out. Is my subscription link wrong?
Not necessarily. Confirm that the computer has network access, retry once, and check whether the provider’s service is reachable. If the provider requires the update request to use an existing proxy, first select a working connection and then enable the subscription update-through-proxy option if your version provides one.
The group updated, but every node fails. Did the import fail?
Probably not if node entries and their configuration fields are present. Select one node, check whether the core starts, and inspect the connection log. Try another node and verify that the selected core supports the imported protocol and transport before changing the subscription URL.
Should I paste the subscription URL into a server field?
No. Add a subscription address through the subscription-group manager. A server editor expects an individual node’s configuration fields; pasting the group URL there does not create a valid server entry.
Use the following checks in order, changing one thing at a time:
- Recheck the URL: Compare it with the provider’s current address. Check for missing characters, spaces, quotation marks, line breaks, or an old token. Do not share the full value when asking for help.
- Check the update target: Confirm that the selected group contains the address you just saved and that you ran an update, not merely added or selected the group.
- Check network access: Open an ordinary website or use a known working connection to determine whether the computer can reach the internet. If the provider blocks direct subscription requests, use the documented update-through-proxy option where available.
- Read the detailed result: Open the v2rayN log or update details. Note the time and exact error text, but redact subscription tokens, server addresses, UUIDs, and other credentials before sharing the excerpt.
- Ask the provider about format and limits: Check whether the URL is still active, whether it has a device or refresh limit, and whether it returns a subscription format supported by the client. Do not repeatedly refresh at very short intervals unless the provider recommends it.
Do not respond to an empty list by manually inventing server details or changing a protocol field at random. A server address, port, UUID, transport path, TLS setting, and other parameters must match the configuration supplied by the provider. If the provider confirms that the URL is valid but v2rayN cannot parse its content, record the client version, selected core, update error, and a redacted log excerpt for a focused support request.
5. Refresh and organize groups safely
Once the first update works, give each group a name that identifies its source or purpose. If you use multiple providers, separate groups make it easier to tell which update produced a node and to remove an obsolete source without disturbing unrelated entries. Avoid adding the same URL several times under different names: duplicate groups can create duplicate nodes and make it harder to identify which entry is current.
Refresh a group when the provider announces new servers, when an imported configuration expires, or when you need to synchronize a changed server list. If the client supports a scheduled update, choose an interval that follows the provider’s guidance. Frequent polling does not make a server more reliable and may trigger provider-side rate limits. For a normal manual refresh, select the intended group, run its update command once, wait for completion, and check the result before retrying.
Keep a simple record of the group label, last successful update date, and any provider-specific instructions. Do not store the raw subscription URL in an unsecured shared document. If an address is exposed, use the provider’s account controls to revoke or rotate it, then replace the saved value in v2rayN. Removing a group from the client may not revoke the URL itself; that action only removes or stops managing the local subscription entry.
Finally, treat updates and node selection as separate routine tasks. A group can refresh successfully while a particular node is offline, and a node can remain visible after the provider has stopped recommending it. After a significant update, check the imported list, choose a node, and verify core startup and the actual application route. If a later refresh changes or removes entries, consult the provider’s notice before assuming that the client has lost data.