When you receive text beginning with vmess:// or vless://, the simplest assumption is that it is a single-node share link. An address beginning with https:// that you add to a client’s “subscription group” or “subscription settings” is usually a subscription URL. Both can transfer server configuration to a client, but they differ completely in scope, import method, and how they are updated.
The most common mistake is putting a subscription URL into “Import nodes from clipboard,” or entering a single VMess or VLESS share link in subscription management. The first may produce an ordinary URL the client cannot recognize; the second may trigger a format error during an update. Identify the content type first, then choose the matching menu option to avoid most import problems.
Share Links vs. Subscription URLs: Four Key Differences
A share link is a “portable package for a single configuration.” It puts the server address, port, user ID, transport method, security parameters, and node name into one text string. After parsing it, the client adds one record to its local node list. If the original text changes later, the local record does not change automatically unless you import it again or edit it manually.
A subscription URL is a “remote list endpoint.” The client stores the list address and fetches its contents again when you update it manually or on a schedule. The server can add nodes, remove inactive ones, adjust parameters, or change names; the client synchronizes those changes on its next update. A subscription is not a proxy protocol—it is a way to distribute configuration. It may contain nodes using VMess, VLESS, and other protocols.
| Comparison | Share link | Subscription URL |
|---|---|---|
| Typical prefix | vmess://、vless:// |
https:// |
| Data scope | Usually one node | Usually a group of nodes |
| Import entry | Import from clipboard, import by QR code | Subscription group, subscription settings |
| Future updates | Does not automatically follow changes to the original link | The list can be fetched again |
| Best for | Temporary testing, moving one node, targeted sharing | Long-term maintenance, switching among nodes, bulk changes |
One easily confused case is a text block containing multiple vmess:// or vless:// links, one per line. This is still a “batch of share links,” not a subscription. Some clients can parse multiple lines at once and create several local nodes, but those nodes will not update automatically when the source text changes.
What VMess and VLESS Share Links Contain
VMess: An Encoded Structured Configuration
Common VMess share content uses vmess:// followed by encoded data. Once decoded, it is usually a set of structured fields including the server address, port, user ID, transport network, TLS settings, hostname, path, and node name. You generally do not need to decode it manually; the client reads the fields and converts them into a local configuration.
Whether a VMess node connects successfully depends on more than its address and port. The user ID, transport method, and parameters such as TLS and WebSocket must also match the server. For example, if the server requires a WebSocket path but the imported configuration lacks it, the client may show that the node was added while the connection still fails. “Imported successfully” only means that the format was recognized; it does not confirm that the remote parameters are valid.
VLESS: URI Fields and Query Parameters
A VLESS share link more closely follows a familiar URI structure. It can be understood as:
vless://UUID@host:port?type=transport&security=security#node-name
Here, UUID is the user ID; host and port are the server address and port; parameters after the question mark describe transport and security; and the text after the hash is usually a recognizable node name. A specific link may also include fields such as SNI, fingerprint, path, service name, public key, and short ID. Which parameters appear depends on the node’s transport and security combination.
VLESS itself does not provide a traditional encryption layer; TLS, REALITY, and similar settings generally provide the actual security. Therefore, seeing vless:// alone does not reveal how the connection works. Check security, the transport type, and its additional parameters together. v2rayN and v2rayNG using the Xray core are commonly used for VLESS configurations with Xray-specific features. If a node clearly depends on a particular core capability, use a client and core version that meet its requirements.
Importing Share Links and Subscriptions in v2rayN
v2rayN is a desktop graphical client. Menu labels may vary slightly between versions, but the workflow is consistent: use clipboard import for individual nodes and subscription group management for remote lists.
Importing One or More Share Links
- Copy the complete
vmess://orvless://text. Make sure the protocol prefix is present and that trailing parameters were not cut off by a messaging app. - Open v2rayN and choose the corresponding option, such as “Import batch URLs from clipboard,” from the server or node menu.
- Check that the node list contains the new record, then verify its type, address, port, transport method, and name.
- Select the new node, set it as the active server, and enable the system proxy or another operating mode as needed.
- Run a real connection test. A latency test only reports the result of a probe; whether web or application traffic passes also depends on routing, DNS, and the system proxy state.
If the clipboard contains multiple links, put each link on its own line. Parsers may skip a line when explanatory text, numbering, or full-width punctuation is mixed into it. Duplicate nodes after import are common because clipboard import usually adds entries rather than checking whether an existing node came from the same source.
Adding a Subscription URL
- Open the subscription group or subscription settings page in v2rayN.
- Create a group name and enter the complete subscription URL in the address field. The group name is only for local identification, so name it according to its purpose.
- Save the settings, return to the main screen, and choose “Update subscriptions” or the equivalent update action for that group.
- After the update completes, confirm that the nodes are in the expected group and check the status information for request or parsing errors.
- If you need regular synchronization, use the options available in your version to set an automatic update interval. After adding a subscription for the first time, update it manually once to confirm that the address works.
A subscription URL opening successfully in a browser does not guarantee that the client can parse it correctly. The response must also use a subscription format supported by the client. Conversely, a browser showing a long string of unreadable characters does not necessarily indicate a problem; many subscription responses are encoded node lists.
Importing Share Links and Subscriptions in v2rayNG
v2rayNG is an Android client built on the Xray core. Its import options are usually found in the top-right menu or the add button on the main screen. As on desktop, first determine whether you have a single-node share link or a subscription URL.
Importing VMess or VLESS from the Clipboard
- Copy the complete share link instead of selecting only the visible portion.
- Open v2rayNG, enter the add-configuration menu, and choose an option such as “Import from clipboard.”
- After importing, find the new node in the configuration list and select it as the active configuration.
- Before starting the connection, review any system permission prompts required by the app and confirm that the main screen shows the node you just imported.
- After connecting, test both domain-name access and direct-address access to determine whether the problem lies with the node, DNS, or routing.
If the source provides a QR code, you can also use the client’s scanner. A QR code is simply another way to carry text; the underlying content is still a VMess or VLESS share link. QR-code and clipboard imports do not create a subscription relationship, so later parameter changes require obtaining a new link.
Adding and Updating a Subscription Group
- Open the subscription group settings, create a group, and enter the subscription URL.
- Save it, return to the configuration list, and run Update subscriptions.
- Wait for fetching and parsing to finish, then check the node count and group assignment.
- Choose a node for a connection test instead of judging quality solely by its name.
- For automatic updates, enable the periodic update option provided in the subscription or settings area and choose a sensible interval.
v2flyNG is also for Android, but it uses the V2Fly core. Standard VMess configurations can usually be imported in a similar way. If a VLESS node uses an Xray-specific capability, use v2rayNG as required by the node. Similar client names do not mean that their underlying cores support exactly the same features.
What Subscription Updates Replace—and What Happens to Manual Nodes
Subscription updates usually process remote nodes one group at a time. After fetching the list again, the client may replace the group’s existing contents with the new results or merge them using internal identifiers; the exact behavior depends on the client version and subscription settings. The safest rule is to keep nodes you need to preserve manually in a separate group. Do not edit subscription-generated nodes while expecting those changes to remain permanently.
For example, if you manually change the name or transport parameters of a subscription node, the remote list may restore the original values at the next update. If you need to maintain a long-term variant of a subscription node, copy it to a separate local node and edit the copy. The copy will not receive later corrections from the subscription, so you must maintain it yourself.
Deleting a subscription node may not be permanent either. If it remains in the remote list, it may return during the next update. To keep the list organized, use groups, filters, sorting, or the client’s filtering features instead of repeatedly deleting entries that the subscription continues to publish.
A shorter automatic update interval is not always better. Node lists typically do not change minute by minute, so overly frequent requests offer little benefit. For everyday use, choose a longer interval and update manually when the nodes become broadly unreliable, the service announces changes, or you need to switch routes. When an update fails, whether old nodes are retained depends on the client’s logic, so do not clear the existing configuration in bulk before checking the result.
Troubleshooting Import Failures, Empty Updates, and Connection Failures
Share Link Not Recognized
- Link truncated: Copy the original text again, paying particular attention to the prefix, port, query parameters, and trailing node name.
- Extra characters included: Remove numbering, quotation marks, spaces, and explanatory text before the link. Keep multiple links to one per line.
- Client version too old: New parameters or protocol capabilities may not be recognized by an older core. Check the current client and core versions first.
- Protocol and core mismatch: When a node uses an Xray-specific capability, use v2rayN or v2rayNG with the corresponding core.
- Encoded content corrupted: A VMess encoded section usually cannot be recovered after characters are lost. Obtain the complete share link again.
Subscription Update Succeeds but Returns Zero Nodes
First confirm that you added a subscription URL rather than a login page, information page, or single share link. Then check the client log or update message: a successful network request only means that a response was received. The response may still be empty, an access-denied message, expired information, or a format the client does not support. If the subscription requires specific access conditions, also confirm that the current network path can reach the address.
Some clients offer a “Update subscriptions through proxy” switch. If a direct connection cannot reach the subscription URL but an existing proxy node still works, try updating through the proxy. If the current proxy node is itself unavailable, switch back to a direct update or import a working node first. This switch only changes the network path used to fetch the subscription; it cannot repair an expired address.
Node Imported but Cannot Connect
Separate “configuration parsing” from “network connectivity” when diagnosing this problem. A node appearing in the list only proves that the client understood the link format. Next, check in order whether the server address resolves, the port is reachable, the system clock is accurate, the user ID matches, TLS or REALITY parameters are complete, and the transport path and hostname are correct.
If the node reports a successful connection but websites do not open, check the system proxy, routing rules, and DNS. In v2rayN, the target application’s traffic must enter the local proxy endpoint; in v2rayNG, verify the connection status and app-scope settings. Routing rules are matched in order, so an incorrect direct or blocking rule may keep the request from using the intended outbound. If DNS results conflict with the routing policy, some domains may fail while other addresses work normally.
Recommendations for Saving, Migrating, and Using Links
VMess and VLESS share links and subscription URLs may contain access credentials. Treat them like account secrets: do not publish them on public pages or forward them to unrelated people. Subscription URLs require particular care because anyone who obtains one can usually retrieve the entire node list, not just the node currently selected.
For moving a small number of fixed nodes between devices, individual share links are more straightforward. For long-term use of multiple nodes, subscription groups are easier to synchronize. If you use both methods, choose clear names—for example, keep manual nodes in a “Local configurations” group and create separate subscription groups for each remote source. This reduces confusion during updates, deletion, and troubleshooting.
Do not infer a protocol or its capabilities from the node name alone. The name is editable text; configuration fields determine how the connection actually works. After selecting a node, verify its protocol, transport, security method, address, and port in the client details. For features such as REALITY, also confirm that the public key, short ID, server name, and fingerprint parameters are complete.
A simple decision rule is enough: if you have one vmess:// or vless:// link, import it from the clipboard or by QR code; if you have a web address intended for ongoing maintenance, add it to a subscription group and update it; if you have multiple share links on separate lines, import them in batch but do not expect automatic synchronization. After importing, enable the connection, system proxy, and routing mode suited to your network from the client interface.