2026-08-08 · Multi-device · 9 min read

Sync V2Ray Configs Across Devices: Moving Subscriptions Between Desktop and Android

Node order and routing rules you tuned on desktop don't follow you to Android on their own. Below we compare three ways to move a configuration to another device and list the settings you have to recheck afterwards.

Quick summary

For people running V2Ray on both desktop and Android, this article compares three ways to move a configuration across devices: exporting share links, sharing one subscription URL on both ends, and running your own sync folder. Each comes with its steps and use cases, followed by the routing mode, per-app proxy, and local port settings to recheck after switching devices.

Three ways to move a configuration across devices, and their trade-offs

Before moving anything, be clear about what is actually being moved. The node list can be pulled again from a subscription, but local routing rules, the per-app proxy list, and DNS settings do not travel with a subscription and need separate handling. By the granularity of what gets moved, the common approaches fall into three groups.

Export share links

In v2rayN, right-click a node and export a vmess:// or vless:// link; v2rayNG imports it from the clipboard. One node at a time, with the parameters carried over as they are.

Best for: adding a node or two on the fly, testing nodes on a single device

Share one subscription URL

Recommended

Enter the same subscription link on both ends. After the server adds or removes nodes, each side updates once and the node sets stay identical, with no files passed between devices.

Best for: long-term use on desktop and Android, node lists that change often

Your own sync folder

Keep the config files in a LAN share or a sync folder you run yourself to move routing and DNS along with the nodes. It carries the most, and costs the most to maintain.

Best for: several desktop machines, moving rules together with nodes

The three approaches are not mutually exclusive. Most people end up keeping the node list in sync through a subscription URL and using share links for the occasional temporary node; only when routing rules and DNS settings also need to be reused across devices is it worth building a sync folder.

Approach 1: export share links and move nodes one by one

Right-click any node in the v2rayN node list to export a share link; the link text begins with one of the vmess://, vless://, trojan://, or ss:// protocol headers. The link packs every connection parameter of that node, and once you copy it to Android, v2rayNG imports it from the clipboard and produces a node with the same parameters as on desktop.

vmess://   Base64-encoded JSON with address, port, UUID, alterId, and transport
vless://   plaintext parameters with encryption=none, type, security (such as reality)
trojan://  password + SNI + transport parameters
ss://      Base64 fragment of the cipher and password + server address

A share link carries the connection parameters of a single node only: the group name inside the subscription, node ordering, and local routing and DNS settings are all left out. That makes it good for adding nodes point by point, not for moving a whole configuration.

  1. Export on desktop

    In the v2rayN node list, right-click the target node and choose "Export share link"; the link goes to the clipboard.

  2. Pass the link along

    Send the link to your phone: clipboard sync, a private chat window, or a LAN file transfer all work.

  3. Import on Android

    In v2rayNG, open the menu at the top right of the main screen → "Import config from clipboard"; the node shows up at the end of the list.

  4. Check the parameters

    Long-press the imported node to open its details and confirm the address, port, and UUID match the desktop exactly.

  5. Test the single node

    Select the node, connect, and open a test page to confirm the exit address has changed.

For a few nodes used temporarily, share links are the fastest route; once the list grows, exporting and importing one by one stops paying off, and it is time to switch to a subscription URL.

Credential warning

Share links contain a UUID or password, so avoid public channels when passing them along, and clear the chat history afterwards if you like.

Approach 2: use the same subscription URL on both ends

A subscription URL is a string generated on the server; a client fetches it and builds the node list automatically. Enter the same subscription URL in desktop v2rayN and Android v2rayNG and the node sets on both sides stay identical; after the server adds or removes nodes, each side runs Update subscription once and the lists match, with no files passed between devices. On Android, if you use v2flyNG (the v2fly core), the entry point and flow for importing a subscription are the same; only the core differs, so the range of compatible node parameters varies slightly.

A subscription covers nodes only; local listening ports are not part of the sync. v2rayN opens a SOCKS inbound on 10808 and an HTTP inbound on 10809 by default, and v2rayNG's default local SOCKS port is also 10808. After switching devices, if a program on the machine has a proxy address hard-coded to a particular port, align that setting by hand.

10808
Local SOCKS port
10809
Local HTTP port
1
subscription shared by both ends
3
ways to move a configuration across devices

Three things in the subscription settings trip people up, and both ends deserve attention:

Approach 3: run your own sync folder and move rules along with the nodes

When what needs to move is not just nodes but also routing rules, DNS settings, and the per-app proxy list, a subscription URL cannot help. That is when syncing the config files themselves makes sense: v2rayNG's menu at the top right of the main screen offers "Export config to clipboard", and the exported content covers nodes plus some local settings; on desktop, v2rayN keeps its configuration as guiNConfig.json in the program directory. Put files like these in a LAN share or a sync folder you run yourself and read them on each end as needed, and you save a great deal of manual entry.

The cost is a clear rise in maintenance effort. On Android, storage permissions mean you usually have to export manually and drop the file into the sync folder by hand, which is less automated than a subscription. The cores and config structures on the two ends also differ, so desktop guiNConfig.json cannot be fed straight to v2rayNG; what can be reused is mainly node parameters and rule text. Compared side by side, the three approaches differ mainly in what they move and how it gets updated.

ApproachWhat it movesNode updatesRules and DNSMain cost
Export share linksA single nodeManualNot carried overRepetitive work with many nodes
Share one subscription URLThe whole node listAutomaticNot carried overDepends on the server subscription being reachable
Your own sync folderConfig filesDepends on the fileCan be carried overBoth ends must maintain folder access

The low-effort combination: sync nodes with a subscription, configure routing rules and the per-app proxy list separately on each end, then write the result down as a checklist you can follow whenever you switch devices.

Settings to recheck after switching devicesThe node list follows the subscription; local settings do not. After moving from desktop to Android, go through the items below one by one, since defaults often differ from what you were used to on the other end.

Checklist: settings beyond the nodes

Desktop (v2rayN)
  • "Settings" → "Parameter settings" to confirm the Core type
  • The routing mode in the Routing menu
  • Local ports 10808 (SOCKS), 10809 (HTTP)
  • System proxy switch and launch at startup
Android (v2rayNG)
  • Routing mode: Global / Bypass LAN and mainland China
  • Per-app proxy: tick the apps that should go through the proxy
  • Local SOCKS port defaults to 10808
  • Launch at startup and the notification-bar quick toggle

A subscription only keeps nodes consistent; these four items are local settings and must be rechecked after switching devices.

The default differences between the two ends come down to four places, and they are the easiest to miss during a migration:

Settingv2rayN sidev2rayNG sideWhat to do after switching
Routing modeSwitch the routing method in the Routing menuRouting mode presets include "Global" and "Bypass LAN and mainland China"Pick again for your current network, don't just carry over old habits
Per-app proxyNo per-app selection; scope is decided by the system proxy or TUNTick apps one by one under "Per-app proxy"The list does not sync with a subscription, so tick them again
Local port10808 / 10809Defaults to 10808Align any program with a hard-coded port number one by one
Launch at startupTick it in parameter settingsTurn it on separately in settingsEach end has its own switch; they don't affect each other

Verification order after syncing

Don't start using the configuration right after moving it. Walk through the steps below and you head off most sync problems.

  1. Check the node count: the two lists should have the same number of entries. One or two missing usually means the subscription update didn't finish, so run "Update subscription" again.
  2. Filter out dead nodes: run a real-delay test and keep only the entries that connect.
  3. Confirm the proxy is working: connect, open a test page, and see whether the exit address has changed.
  4. Check the local port: point your browser proxy extension or command-line tool at 10808 on desktop and confirm the SOCKS inbound responds.
  5. Verify routing: visit a domain that should be direct and confirm it doesn't go out through the proxy.
Port conflicts

Running two clients on the same machine makes them fight over 10808; change the local port to 10809 or another free port in one of them, then verify again.

A subscription URL carries identity information, so forwarding it to someone else hands over your nodes as well. When switching devices, generate a new subscription URL on the server rather than passing the old one around.

Download v2rayNG for Android, Xray core; v2rayN for desktop is on the download page.
Go to downloads Read the guides
Download v2rayNG