“Syncing V2Ray configurations” can mean three different things: giving multiple devices the same set of nodes, copying the complete connection parameters for one node, or migrating routing rules, DNS, and system proxy settings as well. These have different data boundaries, so a successful import alone does not prove that synchronization is complete. With v2rayN 7.x on Windows, v2rayNG 1.10.x on Android, and v2flyNG 1.10.x as examples, node connection fields are usually interchangeable, while client preferences and routing rules often need to be configured separately.
For long-term maintenance across multiple devices, use a subscription link. For a one-time batch migration, export the configuration. When sharing a single node, a QR code is fastest. This guide shows exactly what each method copies and how to verify fields such as VLESS, VMess, Reality, WebSocket, TLS, and local ports in the target client.
Define the Data You Need to Sync
The node list is only one layer of a configuration. A usable node includes at least an address, port, protocol identity fields, and transport parameters. The local device may also store groups, latency results, routing rules, DNS, listening ports, and whether it takes over the system proxy. Subscriptions typically update nodes, QR codes usually carry one node, and full exports depend on the format and client implementation.
Subscription Link
RecommendedMaintain the node source in one place and refresh it on each device. After adding or removing nodes, changing ports, or updating certificate domains, there is no need to scan every device again.
Best for: keeping the same node set on a computer and phone over time
Configuration Export
Best for moving multiple nodes at once. Files or text can be transferred offline, but groups and routing rules are not guaranteed to carry over between clients.
Best for: replacing a computer, pre-reinstall backups, and batch migrations
QR Code Sharing
Encode a single VMess or VLESS sharing link as a QR code. After scanning, the target device immediately creates a node entry.
Best for: temporarily copying one node to an Android device
Also distinguish between “matching nodes” and “matching behavior.” For example, v2rayN on Windows may use local SOCKS port 10808 and HTTP port 10809, along with direct-connection rules for local network addresses. After importing the same node on Android, those listening ports are not copied automatically, nor is the desktop system proxy state inherited. Mobile clients usually forward traffic through the operating system’s network interception mechanism, while desktop clients may use a system proxy or TUN; their entry mechanisms differ.
Method 1: Use a Subscription Link for a Unified Node List
Subscriptions are the most reliable option for long-term maintenance across multiple devices. Each device stores the same subscription URL and retrieves the current node set from the source when refreshed. After a node’s address, port, or transport parameters change, every client can obtain the new values by refreshing once the source has been updated. Subscription URLs usually contain path parameters used to identify the subscriber, so treat them like account credentials. Do not publish them on public pages or forward them to unrelated people.
-
Add a Subscription
In the v2rayN main window, go to “Subscription Groups” → “Subscription Group Settings” → “Add,” enter an alias and subscription URL, then save.
-
Update Nodes
Return to “Subscription Groups” and choose “Update All Subscriptions (Without Proxy).” If the current network cannot reach the subscription source directly, update through a proxy instead.
-
Check the Core
Open “Settings” → “Parameter Settings” → “Core Type” and confirm the core selected for the protocol. In v2rayN, VLESS and Reality configurations are typically handled by the Xray core.
-
Import on Android
In v2rayNG or v2flyNG, tap “+” in the top-right corner, choose “Import Subscription from Clipboard,” or add the URL under “Subscription Settings,” then update the subscription.
-
Cross-Check Both Devices
Check the node count, group names, and update time on each device. For example, if the desktop shows 24 nodes while the mobile client shows only 19, continue by checking protocol support and group filters.
Refreshing a subscription is not real-time push delivery. If the computer updates at 09:00 and the phone at 17:00, the two devices may show different node sets during those eight hours. Set a regular update routine—for example, refresh the subscription first when many connections fail instead of editing old nodes one by one. Do not set the automatic update interval too short; repeated requests will not improve connection quality when the node source has not changed.
Desktop Example
- Client
- v2rayN 7.x
- SOCKS
- 127.0.0.1:10808
- HTTP
- 127.0.0.1:10809
- Update Method
- Update All Subscriptions
Ports are local listening settings and are not copied to another device through a standard node subscription.
Android Example
- Client
- v2rayNG 1.10.x
- Core
- Xray
- Import Method
- Subscription Settings
- Refresh Action
- Update Subscription
v2rayNG is suitable for node sets that require Xray capabilities such as VLESS and Reality.
If the same subscription works in v2rayNG but some nodes are missing in v2flyNG, check the protocol and security layer first instead of repeatedly deleting the subscription. v2flyNG uses the v2fly core and is better suited to configurations supported by v2fly, such as VMess, WebSocket, and TLS. Nodes with Reality, a specific Flow value, or Xray extension fields should be used in a client that supports those fields.
Method 2: Export and Migrate Configuration Files
Exporting is useful when there is no ongoing subscription relationship, when switching computers, or when preserving a snapshot of the current nodes. First identify what is being exported: a collection of sharing links, a client-readable configuration file, or the complete data directory. Sharing-link collections are easier to import across platforms, but usually exclude latency results, active-node state, window layout, and system proxy settings. A full data directory is closer to a complete machine backup, but restoration usually works only with the same client, a similar version, and the same operating system.
- Move one or a few nodes: Select the target entries in the v2rayN node list, use the context menu to copy the selected servers’ sharing links, and import the text into the target client.
- Move a batch of nodes: Filter by group first and make sure temporary test nodes are not included in the export. After importing on the target device, compare the total count and spot-check at least one node for each protocol.
- Back up v2rayN local data: Exit the client and any running core processes before copying the program data directory, so databases and configuration files are not still being written. For restoration, use a nearby 7.x version whenever possible.
- Cross-platform migration: Prefer exporting standard VMess and VLESS sharing links. Do not assume that a complete Windows client settings file can be read directly by an Android client.
Migration Acceptance Record
Source device node count: 24
Target device node count: 24
Protocol spot-check: VMess, VLESS
Transport spot-check: TCP, WebSocket
Security layer spot-check: TLS, Reality
Local listening: configure separately
Routing rules: verify separately
Field names may also differ between configuration files. For example, a UI label such as “masquerade domain” may map to the underlying Host field, while “SNI” in the interface may be written as serverName. Reality’s public key, short identifier, and browser fingerprint may be stored as publicKey, shortId, and fingerprint. The importer must map these fields. If the target client is outdated or its core does not support a field, the imported entry may appear in the list but still fail to connect.
Method 3: Share a Single Node by QR Code
A QR code is not a new proxy protocol; it is simply a visual encoding of shared text. v2rayN converts a node entry into a VMess or VLESS sharing link and encodes that link as an image. v2rayNG scans and parses the same text to create a node. Because a QR code handles one configuration at a time, it is useful for temporarily adding a node, not for maintaining a list of dozens of frequently changing nodes.
VLESS + Reality
- Transport
- TCP
- Security Layer
- Reality
- Flow
- xtls-rprx-vision
- Required Fields
- Public key, short identifier
- Fingerprint
- chrome
After scanning, verify SNI, publicKey, shortId, and fingerprint. Missing any one of them can cause the handshake to fail.
VMess + WS + TLS
- Transport
- WebSocket
- Path
- /ws
- Host
- Must match the server configuration
- Security Layer
- TLS
- Port
- 443
Pay particular attention to the WS path, Host, and SNI; comparing only the server address and port is not enough.
- In v2rayN, select the node and use the QR code or sharing option in the context menu to display a QR code for that node.
- In the v2rayNG main window, tap “+” and choose “Scan QR Code.” Grant camera access, then point the camera at the desktop display.
- After importing, do not delete the source entry yet. Open the edit screen and compare the address, port, user ID, transport method, and security layer field by field.
- Run a real connection test first, then set it as the active configuration. Being able to save an entry does not mean that the Reality or TLS handshake succeeded.
- A QR code contains complete connection information. It should not appear in public screenshots, group announcements, ticket attachments, or searchable pages.
QR codes are also affected by image clarity. Longer VLESS Reality links create denser patterns that can be difficult to recognize when photographed from a distance or compressed. Enlarge the desktop QR code to roughly 400×400 pixels or more, increase screen brightness, and keep the camera perpendicular. If scanning still fails, copy and share the link instead. Do not shorten it by deleting query parameters: the removed SNI, Flow, public key, or fingerprint may be required for the connection.
How to Check Cross-Platform Field Compatibility
Check compatibility in this order: protocol layer, transport layer, security layer, then client capabilities. VMess or VLESS defines identity and the base protocol; TCP or WebSocket defines transport; TLS or Reality defines the security handshake; only then should you verify that the client and core can interpret every field. Nodes with the same name are not necessarily identically configured. A node remark is only a label and does not affect the connection.
| Configuration Area | Subscription | Exported or Shared Link | QR Code | What to Check |
|---|---|---|---|---|
| Address and Port | Usually Includes | Usually Includes | Includes | Is the domain complete, and is the port still 443 or the actual service port? |
| User ID | Usually Includes | Usually Includes | Includes | Avoid introducing spaces or truncated characters when copying. |
| WS Path and Host | Depends on the format | May be included in a standard link | Encoded in the link | Do not confuse the leading slash in the path with Host or SNI. |
| Reality Parameters | Requires format support | May be included in a VLESS link | Encoded in the link | publicKey、shortId、fingerprint、serverName、Flow |
| Routing Rules | Usually not included in a node subscription | Not included in a single-node link | Not included | Domain rules, IP rules, and inbound tags must be configured separately. |
| Local Port | Not included | Not included in a single-node link | Not included | For example, v2rayN ports 10808 and 10809 must be configured locally. |
VLESS Reality is the combination most likely to show “import succeeded but connection failed.” If the source uses xtls-rprx-vision, the target must retain Flow. If the original fingerprint is chrome but becomes empty after import, the handshake may fail. The short identifier may be empty or set by the server; do not fill it in based on guesswork. The public key and user ID are different fields and must not be swapped.
VMess WebSocket TLS is usually more straightforward to migrate, but still requires checking the WebSocket path, Host, SNI, and TLS toggle together. For example, a server address of 203.0.113.10 on port 443 does not mean Host should contain that address; Host and SNI may be domain names specified by the server configuration. Example addresses only illustrate field relationships. Actual configurations must retain the original values provided by the subscription or sharing link.
Treat routing rules as a separate configuration. Rules in v2rayN based on domains, IPs, processes, or inbound tags do not automatically appear in v2rayNG when you scan a node. To make behavior similar across devices, first define a shared goal—such as direct access for local networks and selected domains, with all other traffic using the active node—then implement it through each client’s supported rule editor. Do not compare rule-file text directly, because desktop and Android clients may use different storage structures.
Build a Repeatable Sync Workflow
The key to maintaining multiple devices is not copying more data every time. Keep one authoritative node source, leave device-specific settings on each device, and retain records that allow rollback. A commonly used computer can be responsible for checking subscription content, but do not treat its latency ranking as a fixed order for every device. Phones and backup devices only need to refresh the same subscription periodically and retest according to their own networks.
- Primary source: Maintain frequently used nodes through one valid subscription and avoid adding multiple subscriptions with identical content to the same device.
- Update log: Record the date and node count after each update, such as “2026-07-14, 24 nodes,” to make unexpected drops easier to spot.
- Sample testing: Test at least one node for each protocol, covering VMess, VLESS, WebSocket, TLS, and Reality.
- Local settings: Record v2rayN ports 10808 and 10809 separately, along with the system proxy, TUN, DNS, and routing mode.
- Emergency sharing: Use a QR code to add a single node temporarily. Delete the duplicate after the subscription is restored to avoid confusion between same-named nodes.
- Computer replacement: Import the nodes first, configure routing and DNS next, and enable the system proxy or mobile connection last, verifying each layer in sequence.
Why do the two devices show different node counts for the same subscription?
Record the update time on both devices first, then check the subscription-group filters. If v2rayN shows 24 nodes while v2flyNG shows 19, check whether the missing five use Reality or other fields the target core cannot interpret.
Why can’t it connect after scanning the QR code?
Open the node editor and verify the address, port, user ID, transport, security layer, and SNI in order. For VLESS Reality, also check Flow, publicKey, shortId, and fingerprint, then review handshake errors in the core log.
Can the complete v2rayN setup be imported directly into v2rayNG?
Do not migrate the entire setup as a single package. Import the nodes through a subscription or sharing link, then configure routing, DNS, and connection mode separately in v2rayNG. Windows system proxy settings, local listening ports, and window state are not mobile node parameters.
What if old nodes remain after updating the subscription?
Check whether the old nodes belong to a manual group or another subscription. Review their source by group, then update the relevant subscription. Do not bulk-delete by node name alone, or you may remove manually saved emergency configurations.
Do I have to keep using port 10808 after switching computers?
No. 10808 and 10809 are common examples of local listening ports and can be changed under “Settings” → “Parameter Settings.” After changing them, update any proxy port entered manually in browsers or other programs so they do not continue pointing to the old values.
Final acceptance can be checked in three layers: first verify that node entries are complete; second verify that the core can establish a connection; third verify that real application traffic follows the intended routes. Importing only completes the first layer. A latency value usually means only that the test path responded. Nodes, system entry points, and routing are working together only when web pages, update services, and specified applications all follow the rules as expected.
For most use cases, the conclusion is clear: subscription links handle long-term synchronization of node sets, configuration exports handle computer replacement and offline snapshots, and QR codes handle temporary transfer of a single node. Routing, DNS, local ports, and system takeover settings must be maintained separately by platform. Once these boundaries are clear, multi-device configurations do not need identical files; they only need matching connection fields, compatible core capabilities, and independently verified device behavior.