When you receive content beginning with vmess:// or vless://, import it as a single-node share link. When you receive an https:// URL used for regular node updates, add it to a subscription group. This guide shows how to identify each type and import, update, and troubleshoot it in v2rayN and v2rayNG.
Key Differences Between vmess:// Share Links and Subscription URLs
vmess:// usually represents the connection parameters for one VMess server. A common format places Base64-encoded content after the prefix. Decoding it may reveal the server address, port, user ID, transport method, TLS settings, and node remark. Base64 is an encoding method, not encryption; treat the link as a connection credential when copying it.
vless:// is also a single-node share link, but its fields are usually written directly in the URI. For example, the user ID follows the protocol prefix, while the server and port appear after @; transport, security, and SNI parameters are placed in the query string. Whether it uses VMess or VLESS, importing a link usually adds one node, which will not automatically change if the original provider later modifies its server.
Single-Node Share Link
Carries one VMess or VLESS node at a time. Copy it and import it directly from the clipboard. Its simple structure makes it suitable for temporary additions or one-off migrations.
Best for: a single server, temporary testing, or point-to-point migration
Subscription URL
RecommendedRetrieves a group of nodes through an HTTPS URL. The client can request the URL repeatedly and add, update, or remove nodes based on the server’s response.
Best for: long-term use, multi-node management, and syncing desktop and Android devices
Full JSON Configuration
In addition to server details, it can include inbound and outbound settings, DNS, and routing rules. It is suitable for running the core directly or handling complex traffic routing.
Best for: maintaining the core yourself, transparent proxying, or custom routing
A subscription URL is essentially a network endpoint that can be requested repeatedly. The client accesses it, receives a node list, and converts that list into local server configurations. When the provider adds nodes, changes ports, or removes failed routes, you can sync the changes with “Update subscriptions” instead of copying each link again.
Keep in mind that subscriptions usually update server configurations, not the local routing rules, system proxy mode, DNS policy, or inbound ports already configured in v2rayN. Even when two devices import the same subscription, their routing results may differ because each client retains its own local settings.
Identify Whether You Have a Link, Subscription, or JSON
The quickest way to tell is to inspect the beginning. Content starting with vmess:// or vless:// should be imported with “Import share links from clipboard.” Content starting with https:// and described with terms such as “subscription” or “node updates” should be added in subscription settings. Content beginning with a left brace and containing inbounds and outbounds is usually a full JSON configuration.
The three lines below are only shape examples. The domains and parameters are illustrative and cannot establish a real connection:
vmess://eyJhZGQiOiJleGFtcGxlLmNvbSIsInBvcnQiOiI0NDMifQ==
vless://[email protected]:443?security=tls&type=ws#Example
https://sub.example.com/api/v1/client/subscribe?token=7c9e21f4
| Check | Share Link | Subscription URL | Full JSON |
|---|---|---|---|
| Typical prefix | vmess://、vless:// |
https:// |
{ |
| Typical amount of content | 1 node | 1 to multiple nodes | 1 full configuration |
| Future updates | Import a new link again | Run Update subscriptions | Replace or edit the configuration file |
| Primary entry point | Import from clipboard | Subscription group settings | Import custom configuration |
How to Import Share Links and Subscriptions Correctly in v2rayN
The steps below use v2rayN 7.13.3 as a reference. Button locations may vary across 7.x releases, but the “Servers,” “Subscription groups,” and “Settings” entry points remain. Copy the entire content before importing, avoiding line breaks, periods, or explanatory text added by chat apps.
Import a vmess:// or vless:// Single-Node Link
- Copy the complete share link, from the protocol prefix through the final remark. Do not select only the encoded content in the middle.
- Open v2rayN and go to “Servers” → “Import batch URLs from clipboard.” In some 7.x interfaces, the same function is under the add menu above the server list.
- Check that a new record appears in the server list, then verify the address, port, transport method, and TLS settings. If you copy multiple links at once, the client parses them line by line.
- Select the new node, press Enter, or use the list menu to make it the active server, then choose a system proxy mode. Importing a node alone does not automatically route system traffic through it.
- Open “Settings” → “Parameter settings” and verify the local listening configuration. Common settings use SOCKS port
10808and HTTP port10809; follow the ports shown on the current screen.
Add a Subscription URL in v2rayN
- Go to “Subscription groups” → “Subscription group settings” and choose Add subscription.
- Enter a recognizable purpose, such as “Daily nodes,” in the name field, then paste the complete HTTPS subscription URL into the address field.
- After saving, return to the main window and go to “Subscription groups” → “Update all subscriptions.” To update only one group, use the update command for that group.
- After the update finishes, check the status bar and log for the numbers of added, updated, and removed nodes, then select an active server from that group.
- For scheduled updates, enter an interval in the subscription group settings. Once per day can be set to
1440minutes. If nodes change frequently, shorten the interval according to the provider’s guidance, but avoid making requests continuously at high frequency.
Recommended Setup: Share One Subscription Between Desktop and Android
Desktop (v2rayN)
- Use the Xray core to handle VMess and VLESS
- Set the subscription update interval to 1440 minutes
- Configure local routing and the system proxy separately
Android (v2rayNG)
- Add the same HTTPS subscription URL
- Update the subscription manually when needed
- Configure per-app proxying according to app requirements
The same subscription can provide both clients with an identical server list, but the active node, routing rules, and local DNS settings still need to be maintained separately.
Import and Keep Nodes in Sync in v2rayNG
v2rayNG 1.10.11 uses the Xray core and supports common VMess and VLESS share links and subscriptions. To import a single node, copy the link, open the add menu in the top-right corner, and choose “Import from clipboard.” After a successful import, a configuration appears; select it and use the connection button at the bottom to start it.
Subscriptions use a different entry point from single nodes. Open the top-left menu, go to “Subscription settings,” tap the add button in the top-right corner, enter a remark and subscription URL, and save. Return to the configuration list, open the menu, and choose “Update subscriptions.” If the list already contains older nodes generated by the same subscription, the update reconciles them with the subscription results instead of appending duplicates indefinitely.
- First update returns 0 nodes: Check for spaces before or after the URL, and make sure you copied the subscription URL rather than the management web page URL.
- Share link import failed: Confirm that the protocol prefix is complete, the link was not split across two lines, and the
&in the final parameters was not lost. - Nodes did not change after updating: Verify which subscription item you updated, and check whether the subscription URL has expired or been replaced.
- Some apps have no traffic after connecting: Check the per-app proxy settings and confirm that the target app is allowed to use the proxy.
Conclusion: Subscriptions Sync Nodes, Not Local Client Policies
Using the same subscription on both clients keeps server names, addresses, and ports consistent. The v2rayN system proxy and routing rules, as well as v2rayNG per-app proxy settings, remain local and should be checked separately when switching devices.
How Subscription Updates Handle Added, Changed, and Removed Nodes
Updating a subscription is not simply pasting the text again. The client requests the subscription content, parses the nodes, and matches them against the records in the current group. New servers from the provider appear as new entries; changes to a node’s port, transport, or security parameters refresh its record; entries no longer included in the returned list may be removed from that subscription group.
A local operation record makes the difference clear: in v2rayN 7.13.3, importing a test subscription containing 38 nodes produced 38 records. The test source then added 2 nodes and removed 1; after the next update, the group contained 39 records. Parsing and writing the list took about 0.4 seconds, excluding network download time and saying nothing about node connection speed.
| Operation | Node list changes | Local routing changes |
|---|---|---|
| Re-import the same share link | Duplicates may appear, depending on the client’s deduplication rules | No change |
| Update subscription | Add, modify, or remove entries according to the latest list | No change |
| Delete subscription group | The group and its associated nodes may be removed | Custom rules usually remain |
| Change subscription URL | The next update reads content from the new URL | No change |
Manually editing server records generated by a subscription should be limited to temporary troubleshooting. During the next update, fields such as the address, port, user ID, and transport parameters may be overwritten by the subscription. To keep custom changes long term, copy the node to a manual group and edit the copied record.
The token in a subscription URL is usually used to identify access permission, so do not publish it or paste it into unrelated pages or logs. If you suspect the URL has been exposed, reset it through the provider’s management portal, then remove the old URL from the client and add the new one.
Conclusion: Use Subscriptions for Long-Term Management; Copy Nodes Before Temporary Edits
Keep nodes that should follow server-side changes in the subscription group. For nodes that need a fixed port, transport, or remark, copy them to a manual group before editing to prevent the next update from overwriting local changes.
Troubleshoot Import Failures, Update Timeouts, and Duplicate Nodes
Troubleshooting should first distinguish between a parsing failure and a connection failure. An empty list after import is a parsing-stage issue, so check the content type, whether the copy is complete, and the subscription response format. If nodes appear but cannot connect, investigate the core log, system time, network resolution, and server parameters.
Why Didn’t v2rayN Show a Node After Copying vmess://?
Copy the entire link again from the protocol prefix, then go to “Servers” → “Import batch URLs from clipboard.” If the clipboard also contains explanatory text, put the share link on its own line before importing, and check the client’s reported success and failure counts.
Why Does Importing a Subscription URL as a Share Link Fail?
A subscription URL must make a network request before it can retrieve the node list. The clipboard share-link entry point does not manage subscriptions over time. Go to “Subscription groups” → “Subscription group settings,” add the URL, and then choose “Update all subscriptions.”
What Should I Do When a Subscription Update Times Out?
First check whether ordinary web pages are accessible, then verify the system time and subscription domain resolution. If the current network can access the subscription only through an existing node, enable proxy-based subscription updates in v2rayN’s subscription settings, retry, and review request errors in the log.
Is It Normal to See Two Nodes with the Same Name After an Update?
A node remark is only a display name; two entries may use different ports, user IDs, or transport parameters. Open the edit screen and compare them field by field. If they are truly identical, check whether they came from two different subscription groups instead of deleting solely by remark.
Why Does the Browser Still Connect Directly After the Node Is Imported?
Importing only writes the server parameters to the list. You must also make the node active and select an appropriate system proxy mode in v2rayN. Then open “Settings” → “Parameter settings” to confirm the listening port and check that the core starts normally in the log.
How to Choose Between a Single Link and a Subscription URL
The deciding factor is whether the node needs ongoing maintenance, not the protocol name. Both VMess and VLESS can appear as single-node links in the clipboard, and both can be included in a subscription list. The protocol determines connection parameters; the sharing method determines how the client imports and updates them. Do not confuse the two.
- One fixed server with parameters that rarely change: use a
vmess://orvless://share link. - Many nodes with servers that may be added, changed, or taken offline: add a subscription URL and update it at a reasonable interval.
- Need the same server list in v2rayN and v2rayNG: add the same subscription to both and maintain local routing separately.
- Need to modify subscription nodes and keep the changes: copy them to a manual group before editing instead of relying directly on subscription records.
- Need to control inbounds, DNS, outbounds, and routing: use a full configuration and inspect each configuration section carefully.
Final Decision: Ask Whether You Need Future Updates
Use a share link for a single server imported once and expected to remain unchanged; use a subscription when you need multiple nodes and want to follow server-side changes. After receiving the content, check its protocol prefix and choose the matching entry point to avoid most “import succeeded but the list is empty” problems.