Adding a subscription in v2rayN is a two-part task: create a subscription group that stores the provider’s URL, then update that group to retrieve its server entries. The group is a way to organize and refresh nodes; it is not itself a server, and creating one does not connect the client. The exact menu wording can vary between v2rayN releases, but the workflow is similar. Use the provider’s current subscription URL, update the group, and then check that the imported nodes have the expected names and connection details before selecting one.
This beginner’s guide walks through creating a subscription group in v2rayN, entering and saving a subscription URL, and updating the server list. It also explains how to verify that nodes were imported, choose the appropriate update method, and troubleshoot an invalid URL or an empty result. Menu labels may differ slightly between versions, so follow the setting names rather than relying on a particular window layout.
1. Understand subscription groups and server entries
A subscription group stores information v2rayN needs to retrieve a provider’s server list, usually including a group name and a subscription URL. When you update the group, v2rayN requests data from that URL and converts the returned entries into server configurations in its main list. The group helps you refresh and organize those entries later; it does not carry traffic by itself.
A node is an individual connection configuration. Depending on what the provider supplies, it may use a protocol such as VMess, VLESS, Trojan, or Shadowsocks, together with a server address, port, credentials, transport settings, and security options. You normally do not need to enter those fields manually when importing a subscription. The provider’s response supplies the node data, and v2rayN parses it for you.
- Subscription group: Stores the source URL and group information used for updates.
- Server entry: One imported connection configuration in the main v2rayN list.
- Update: Downloads the current content from the subscription source and refreshes the entries associated with it.
- Connect: Starts the selected configuration through the active core. Importing a node does not start a connection automatically.
This distinction is useful when something appears to be missing. If the group is visible but the node list is empty, the group may have been saved without a successful update. If nodes appear but a connection fails, the subscription import may have worked while the selected node, core compatibility, or network path still needs attention. Treat importing and connecting as separate checks instead of repeatedly adding the same URL.
Before making changes, obtain the subscription URL from the service that issued it. A copied link for an individual node is not necessarily a subscription URL: an individual share link describes one configuration, while a subscription link typically returns a list. If you are unsure which one you have, check the provider’s account or setup page for an option specifically labelled subscription, subscription address, or subscription link.
2. Prepare the URL and choose an update method
Copy the entire subscription URL, including its scheme such as https:// and any path or query string. Do not remove characters after a question mark, add spaces, or replace encoded characters. A URL may be long and may contain an access token; it can look unlike a normal webpage address while still being valid. Paste it directly from the provider’s page when possible rather than retyping it.
Subscription URLs can grant access to account-specific connection information. Keep the address private: do not post it in screenshots, public support threads, or shared documents. If the provider offers a way to regenerate or revoke a link and you believe it has been exposed, use that provider-side control. A group name, by contrast, is a local label you choose to help recognize the source, such as “Personal” or “Work”; it does not change the remote subscription.
v2rayN versions commonly offer an update without proxy and an update with proxy. The first is a direct request from the computer to the subscription host. It is a sensible first choice when that host is reachable on the current network. The second sends the subscription request through an available proxy connection, which can help when the host cannot be reached directly. It requires a working route that can reach the subscription host; it cannot fix a missing or malformed URL.
Requests the subscription directly from the current network. Start here if the provider’s subscription host is reachable without an existing proxy.
Suitable for: first update on a network that can reach the provider
Uses an available proxy route for the subscription request. It depends on a working proxy connection and may not help before any usable node has been imported.
Suitable for: a host that is inaccessible directly but reachable through a working proxy
Choose the route based on reachability
If the first direct update fails, do not immediately edit node settings: the subscription request happens before those newly downloaded nodes can be used. Try the proxied update only if you already have a working route, or ask the provider whether the subscription host is available from your network.
3. Create the group and update its entries
In v2rayN, look for the subscription controls in the top menu or toolbar. In many builds, the path is Subscription Group → Subscription Group Settings; some releases label the menu or dialog simply Subscription Settings. Open the group-management window rather than adding a server manually. If the labels differ, look for the dialog where subscription remarks or addresses can be added and edited.
-
Open group settings
Choose Subscription Group → Subscription Group Settings, or the equivalent subscription settings command in your build. Confirm that the window is for managing subscription sources, not for editing one server entry.
-
Add a group
Use the add or plus control in the group settings window. Enter a recognizable remark, for example
Personal plan. The remark is a local label; choose one that will still make sense if you later add another provider. -
Paste the URL
Paste the complete subscription URL into the address or URL field. Check that the beginning of the link is present, that the end was not cut off, and that no spaces were inserted at either end. Do not paste account passwords into a remarks field.
-
Save the settings
Confirm or save the group in the dialog. If the window has an enable checkbox, make sure the new group is enabled for updates. Close the settings window only after the entry is visible in the group list or the dialog confirms the change.
-
Run an update
Return to the main window and use the subscription update command for the new group. Select the direct update first when appropriate. If the group menu offers an update-all command, use it only when you intend to refresh every configured group.
Wait for the update operation to finish and read any status message or log output it produces. A brief delay is normal if the remote service is responding slowly, but repeatedly clicking update can create overlapping requests and make it harder to tell which result belongs to which attempt. If the client offers separate commands for updating a selected group and updating all groups, use the selected-group command for this first test.
If v2rayN asks whether to update without a proxy or with a proxy, choose the method that matches the network conditions described above. The wording and location of these commands may change across versions. The important point is to use the update action associated with the saved group; do not interpret a save or add action as proof that the URL was fetched.
4. Verify the imported list before connecting
After the update completes, return to the main server list and look for entries associated with the group. Depending on the client version and list layout, the group remark may be shown as a column, a grouping label, or an entry in the subscription management window. Compare the number and names of the imported entries with what the provider says should be available. The list can change when a provider adds, removes, or renames nodes, so an exact match with an older screenshot is not a reliable test.
- Check that entries exist: A successful update should produce one or more usable server configurations if the provider’s subscription currently contains nodes.
- Check recognizable details: Confirm that names are readable and that entries show the expected protocol or location labels, if the provider supplies them.
- Check group association: Make sure you updated the intended group, especially if multiple groups use similar names.
- Check selection separately: Select one imported node before testing a connection. A list being populated does not mean a node is active.
For a first connection test, choose a node whose configuration is supported by the core selected in v2rayN. If the provider specifies an Xray feature or a particular core requirement, follow that information rather than assuming that every imported protocol option is interchangeable. Start the client’s connection or system proxy only after selecting the intended node, then check the client’s status and logs if the connection does not complete.
A latency test, where available, can help identify whether a node responds, but treat it as a reachability check rather than a complete browsing test. A successful test does not guarantee that every destination will work: routing rules, DNS handling, remote service availability, and the node’s own access restrictions can affect results. If every imported node fails, first confirm that the subscription updated recently and that the device is using the intended network before editing individual server fields.
Keep a clear separation between the subscription source and the current list. If a provider changes its server details, updating the group is generally preferable to manually editing imported entries, because a later refresh may replace manual changes. If you need a custom configuration, preserve the provider-managed entries and create or maintain the custom entry separately where the client permits it.
5. Troubleshoot an invalid URL or an empty list
If v2rayN reports that a subscription address is invalid, first check the address itself, not the server entries. Confirm that you copied the provider’s subscription URL rather than a login page, a dashboard link, or a single-node share link. Check the complete beginning and end of the value, including punctuation in query parameters. If the URL is stored in a text editor or password manager, copy it again from the provider’s current account page to rule out a truncated or stale value.
If the URL is accepted but the update returns no entries, distinguish a failed request from a successful request whose response contains no usable nodes. Look for a status message or client log around the time of the update. A timeout suggests that v2rayN could not complete the request to the host; an HTTP error may indicate that the remote service rejected the request or that the link has expired. A completed update with zero parsed entries can point to an empty subscription, an unsupported response format, or a server-side change.
- For a timeout: Confirm that the device has network access, try the other update method only if its requirements are met, and check whether the subscription host is reachable from the current network.
- For an authorization or expired-link response: Sign in to the provider’s service and obtain a current subscription URL. Do not assume that changing the proxy protocol will renew an expired link.
- For a blank list after a completed update: Check whether the group is enabled, whether the correct group was updated, and whether the provider currently has entries available.
- For repeated parse or format errors: Keep the full error text and update time, then ask the provider whether its subscription format or service endpoint has changed.
Make one change at a time and retry once after each change. For example, first recopy the URL and attempt a direct update; if the request times out and an existing proxy is available, try the proxied update next. This sequence gives you useful evidence. Changing the URL, core, node fields, and system proxy together can hide the original cause and make the next result harder to interpret.
When asking the provider for help, describe the client version, the approximate update time, the selected update method, and the exact error category. Do not send the subscription URL in a public post or an unprotected screenshot, because it may contain a credential-like token. If a support request requires diagnostic output, remove the complete URL and any account-specific values first. A sanitized error message is usually enough to identify whether the failure occurred during connection, authorization, or response parsing.
Once the group updates successfully, keep its remark descriptive and refresh it when the provider’s list changes. If you later replace the subscription address, edit the existing group rather than creating several duplicate groups with indistinguishable names. A tidy group list makes it easier to identify which source produced a node and which source should be updated when the server list changes.