For ongoing access to the same set of nodes, add the same subscription on both devices. To move one node temporarily, use a QR code; to move several manually added nodes, import share links; to restore the full setup on the same client, consider a configuration backup. Matching nodes does not mean matching routing, DNS, or proxy settings. This guide walks through v2rayN on a PC and v2rayNG on Android, then shows what to check after syncing.
Four Ways to Sync: Nodes vs. Client Settings
What you share across devices are the parameters needed to connect to a server—not the entire runtime environment. Server address, port, user ID, transport, and TLS settings can move with a node. Windows system proxy settings, Android VPN permissions, app routing, and local listening ports must be configured separately. v2rayN is a desktop client; v2rayNG is an Android client that uses the Xray core. Their configuration directories are not interchangeable.
Subscription Link
RecommendedEach device fetches its own node list. If the server changes an address or adds or removes nodes, update the subscription on both devices. Whether the same link works on both depends on the subscription format and account device limits.
Best for: Using the same node provider long-term and receiving ongoing updates.
Scan a QR Code
Moves the current connection settings for one node. A QR code usually contains a share link; it does not create an ongoing sync relationship or include the client’s preferences.
Best for: Moving one node when your PC and phone are together.
Import Multiple Share Links
Put one node link on each line to import several entries at once. Manually imported nodes usually do not update with the original subscription, so keep them in a separate manual group.
Best for: Moving several self-hosted nodes or keeping a snapshot of your node list.
Client Configuration Backup
Preserves as much of the original client’s groups and preferences as possible. Restore to the same client on a compatible version—not by giving Android a desktop app folder to read.
Best for: Replacing or reinstalling a similar device, or preparing to roll back an upgrade.
Before sharing nodes, check your provider’s terms. An account may limit simultaneous connections or the number of devices; connecting two devices to the same server does not double your data allowance. Don’t share an active subscription with unrelated accounts.
Sync Subscriptions: Add and Update Them on Each Device
Subscriptions work well for ongoing sync, but they do not push changes between devices in real time. Updating on your PC does not update the phone’s local list; the phone gets the server’s current content only after you update it too. The steps below use Chinese-language menu labels; icons and wording may vary slightly by version.
-
Check the Subscription Source
Get a subscription URL from your provider’s account page that supports v2rayN and v2rayNG. Copy the full URL—not the account sign-in page or a single-node link beginning with
vmess://orvless://. -
Add a Group on Your PC
In the v2rayN main window, go to “Subscription Group” → “Subscription Group Settings.” Add an entry, give it a name in “Alias,” paste the subscription URL into “Optional Address (Url),” and save. In some versions, this field is simply labeled “Address.”
-
Update the Subscription on Your PC
Return to the main window and choose “Subscription Group” → “Update All Subscriptions (Without Proxy).” If your network cannot reach the subscription server directly, select an available node first, then use the corresponding “Update via Proxy” option. Check the log to confirm the group received nodes.
-
Add the Subscription on Your Phone
In v2rayNG, open the top-right menu on the main screen and choose “Subscription Group Settings.” Tap “+,” enter a “Remarks” name and the “Optional Address (Url),” then save. Return to the main screen, open the top-right menu, and tap “Update Subscription.”
-
Select a Node on Each Device
Select the target node on each device. On your PC, enable the system proxy if needed. On your phone, tap Connect and allow the VPN connection when prompted. Importing a subscription does not enable either of these settings for you.
QR Codes and Share Links: Moving a Snapshot
To move one node, display its QR code on your PC and scan it with your phone. In v2rayN’s server list, select the node, right-click, and choose a QR code option under “Share Server.” Some versions show “Share Server QR Code” directly. In v2rayNG, tap “+” → “Scan QR Code” and point the camera at the screen to import it.
- What’s in the QR code: Usually a share link for one node. If scanning gives you an HTTPS URL, first check whether it’s a subscription link or an ordinary web page; don’t assume every scanned URL is a node.
- QR scan failed: Make the QR code larger, leave clear space around it, and avoid screen glare. If the code is too dense because the content is long, use a text share link instead.
- Sharing from Android: The share option on a v2rayNG node can display a QR code or copy a link. On your PC, copy the received text, then in v2rayN choose “Import Batch URLs from Clipboard” from the “Server” menu.
- Importing multiple nodes: Select the nodes in v2rayN’s server list, right-click, and copy their share URLs from the share menu. Put each link on its own line, then in v2rayNG tap “+” → “Import from Clipboard.”
Share links commonly start with vmess://, vless://, or trojan://. The prefix determines how the link is parsed; changing it does not convert the protocol. VMess share links and VLESS URI parameters use different formats. Even after a client imports a link successfully, open the node editor and verify the key fields.
After a batch import, keep these entries in a separate manual group so subscription updates won’t overwrite them. Pasting the same links again may create duplicates. Matching node names don’t guarantee matching settings, so compare the address, port, and user ID before deleting anything.
Compare Across Devices: Match Node Details, Keep Local Settings Separate
A name is just a label. Two nodes with the same region name may use different ports, transports, or server names. To check a node, double-click it in v2rayN to open the editor; in v2rayNG, tap the edit button on its row. The cards below separate the remote settings to transfer from the local settings to configure independently.
Node Connection Settings
- Address and Port
- Use the values provided by the server; 443 is just a common example.
- Identity
- For VMess and VLESS, check the UUID. For other protocols, verify the relevant credentials.
- Transport
- Check the type, such as TCP or WebSocket, and the Host and path actually in use.
- Security
- Check the TLS serverName. For Reality, also verify the public key, shortId, and other fields.
Use the values from the subscription or server configuration. Don’t infer settings from a node name or disable certificate verification just to “make it work.”
Device-Specific Settings
- Local Listening Address
- For example, 127.0.0.1:10808. Use the value shown under “Settings” on that device.
- Traffic Routing
- On desktop, distinguish the system proxy from TUN. On Android, confirm the VPN is connected.
- Routing Rules
- Check direct, proxy, and block rules separately; a node QR code does not sync them.
- DNS and Apps
- Check DNS settings on each device. On Android, also check whether the app is excluded.
A local port is not the remote server port. Don’t enter 10808 as the node’s server port when troubleshooting a connection.
In v2rayN, open “Settings” → “Parameter Settings” to view local listening and core options. In v2rayNG, use the side menu → “Settings” to check local runtime options. Settings may move between sections across versions, so note the field names rather than remembering which row contains a toggle.
Protocol support also depends on the core in use. Android v2rayNG uses Xray; v2flyNG uses V2Fly. Don’t assume all node settings are interchangeable just because the names are similar. For configurations such as Reality, confirm that the target client’s core supports them; an import failure doesn’t necessarily mean the QR code is damaged.
Configuration Backups: Restore the Same Client, Don’t Copy Everything Across Platforms
A configuration backup and a shared node serve different purposes. A backup restores local state such as groups and preferences; sharing a node transfers connection settings. The JSON v2rayN generates for the core is not the client’s own settings database. Saving just a runtime configuration file may not restore the server list or subscription groups.
- Record your setup: Note the client version from its “About” page, whether you’re using Windows, macOS, Linux, or Android, and whether the install is portable. When restoring, verify the backup with the same version first, then consider upgrading.
- Copy after exiting: For portable v2rayN on Windows, quit from the tray menu and make sure the process has ended before copying the entire portable folder. Don’t copy only the executable or a single runtime JSON file, and don’t overwrite files while the app is saving its configuration.
- Check where data is stored: On installed versions and other desktop platforms, data may be stored separately from the app. Follow the instructions for your version to find the actual user data folder. If you can’t locate it, preserve the subscription URL and share links for manual nodes; a copy of the program folder alone is not a complete backup.
- Back up Android in layers: Keep the subscription URL in v2rayNG and export manually added nodes using the node sharing option. Record routing, DNS, and app selections separately; share links are not a full settings backup.
- Restore a small set first: Restore one group in the same client and test the connection before restoring anything else. Don’t copy a v2rayN folder into an Android app directory or overwrite another client’s data with v2rayNG app data.
Verify the Sync: Connect First, Then Check What Gets Routed
Don’t judge success by “import complete” alone. First confirm both devices have the same connection settings, then test each connection. An open TCP port only shows that the port is reachable; it doesn’t confirm authentication, TLS, or proxy requests are working. Latency can differ across networks, so different results alone don’t mean the sync failed.
| Check | PC | Android |
|---|---|---|
| Node Source | Check which subscription group it belongs to and confirm the latest update succeeded. | Make sure you haven’t selected an old manually added node. |
| Connection Settings | Double-click the node and compare the address, port, transport, and TLS settings. | Open the node editor and compare each field with the PC. |
| Connection Test | Run a real connection latency test on the selected node and check the log. | Connect, run the configured real connection test, and check the log. |
| App Traffic | Check whether the system proxy or TUN is actually routing traffic from the target app. | Check the VPN status and per-app settings. |
| Update and Retest | After refreshing the subscription, confirm the selected node again. | Update the subscription on its own; don’t rely on the PC’s update. |
Cross-Device Sync FAQ
It works on my PC, but the phone can’t connect after import. What should I check?
In the v2rayNG editor, first compare the remote port, transport, TLS serverName, and identity fields. Then check that automatic time sync is enabled and VPN permission has been granted. Retest on both mobile data and Wi-Fi. If only one app fails, check the per-app options under “Settings” in the side menu instead of reimporting every node.
Will a node imported by QR code update when I refresh the subscription?
No. A QR import is usually a standalone snapshot, so it keeps the old settings if the server changes its port or credentials. For ongoing updates, add the relevant subscription under “Subscription Group Settings” on your phone. Once the new group connects successfully, remove the old manual entry.
Do both devices need to use the same local port?
No. 127.0.0.1:10808 on your PC points to the PC itself; the same address on your phone points to the phone. Configure each device independently. Sharing nodes between devices does not require a LAN listener, so don’t change the listening address to 0.0.0.0 just to sync subscriptions.
Why do two nodes with the same name appear after an update?
First check whether you have both a subscription node and a manually imported node, then check for duplicate subscription groups. Verify the URLs under “Subscription Group Settings” in v2rayN or v2rayNG. Keep the group that’s still maintained, test the connection, and then remove the duplicate source. Don’t delete entries in bulk based on matching names alone.