To use the same V2Ray nodes on a computer and Android phone, you usually just need to import the same subscription on each device—there’s no need to route the phone through your computer’s local proxy port. This guide covers subscription updates, sharing individual nodes, and migrating full configs, with steps for v2rayN and v2rayNG, fields to verify, and a troubleshooting checklist. Ideal if you already have one working client and are setting up a second device.
1. Nodes and client settings are different
A node stores remote connection details: server address, port, user ID, transport, and TLS parameters. Client settings control behavior on the device: listening port, system proxy, DNS, routing rules, and startup options. Copying a node does not copy these local settings. A working connection on your computer does not mean your phone is routing traffic through the proxy.
v2rayN is a desktop client for Windows, macOS, and Linux; supported protocols depend on the selected core and version. v2rayNG uses the Xray core, while v2flyNG uses the v2fly core. This guide uses v2rayN and v2rayNG. When moving to v2flyNG, check protocol and transport support again—successful import alone does not guarantee compatibility.
Recommended: connect each device directly to the remote node
Desktop: v2rayN
- Import the subscription and select an active node.
- Set up the system proxy or TUN as needed.
- Keep the routing and DNS settings suited to desktop apps.
Android: v2rayNG
- Import the same compatible subscription and update it separately.
- Start the connection and approve the system VPN request.
- Set per-app proxy rules to suit your phone apps.
Each device connects independently; they don’t need to be on the same local network. The server may still limit device count, concurrent connections, or total traffic.
If your subscription provider lets you choose a client format, select one supported by each device. The same account may not use the exact same subscription URL on both clients, and the server may return different content for each. Check the account rules before reusing an address.
2. Keep both devices up to date with one subscription
A subscription URL is a way to fetch a node list, not a live sync channel. Each client updates locally: refreshing on your computer does not refresh your phone. Subscriptions also typically don’t carry preferences such as the selected node, system proxy status, or Android per-app rules.
-
Check the source
Get a subscription URL that supports both clients from the original provider’s account page. Keep its parameters intact. Don’t use a website login URL as a subscription URL, or submit the address to a public online converter.
-
Add the subscription on your computer
In v2rayN, open “Subscription Group” → “Subscription Group Settings.” Add a group and fill in “Alias” and “Optional Address (Url).” Save, then choose “Update All Subscriptions (without proxy)” from “Subscription Group.”
-
Add the subscription on your phone
In v2rayNG, open “Subscription group settings” from the sidebar, tap “+,” enter a remark and subscription URL, then save. Return to the main screen, open the top-right menu, and select “Update subscription.”
-
Test each connection separately
On each device, select the same remote node, verify the server and port, then connect. Enable the required proxy mode on desktop and approve the VPN request on your phone. Then use a browser on each device to visit the same website.
If a subscription update fails, first distinguish a download error from a parsing error. For download failures, check the network, whether the URL has expired, and whether you need an existing working proxy. For parsing failures, check whether the response is a login page or an unsupported format. Depending on your network, v2rayN can use “Update All Subscriptions (through proxy)”—but only if a working node is available and the core is running.
3. Transfer one node with a share link or QR code
For one or two nodes, a share link is more direct than a full subscription. A QR code is usually just another encoding of the share link, not a separate protocol. Common links start with vmess:// or vless://. A node remark, server hostname, or screenshot of the connection status cannot replace the complete link.
-
Export the selected node
In the v2rayN node list, select the node, right-click, and look for a sharing option. Copy the share URL to the clipboard or display its QR code. Some versions put the export options directly in the context menu.
-
Share the complete link
Send the original text through a private channel, or scan the code directly from your computer screen. Keep the entire link, including everything after the question mark. If the QR code is too dense, use text instead.
-
Import it on your phone
In v2rayNG, tap “+” → “Import from clipboard” or “+” → “Scan QR code.” After importing, open the node editor and check its fields before returning to the main screen to connect.
-
Verify the key fields
Along with the address, port, and user ID, check the transport type, TLS, SNI, and WebSocket Host and path. For Reality, also verify the public key, short ID, fingerprint, and applicable flow.
Sharing a node creates a one-time snapshot. If the server changes its port, credentials, or domain, the old QR code won’t update. Even if the node came from a subscription, an imported standalone copy usually won’t receive updates from it. For ongoing use, keep the subscription source or reimport the updated node.
4. Config exports depend on the core and device
When a node relies on custom routing, DNS, or multiple outbounds, a share link may not capture everything you need. You can instead export a runtime config or migrate a cleaned-up custom JSON file. But a v2rayN backup, a core runtime config, and a single-node share are three different things—not interchangeable files you can import anywhere.
Remote connection fields
- Address and port
- Copy the values from the remote node
- User credentials
- Keep authentication fields such as UUID unchanged
- Transport settings
- Check network, Host, and path
- TLS settings
- Check serverName and certificate verification settings
These fields determine whether you can connect to the same server, but their JSON structure depends on the protocol and core.
Local environment fields
- listen
- Example local proxy address: 127.0.0.1
- port
- Example port: 10808; check whether it’s in use
- Resource files
- Check geosite and geoip paths again
- Logs and certificates
- Adjust local paths and read permissions
The example port is not a required default for both devices. Don’t copy absolute paths from your computer.
In v2rayNG, use the custom config import option under “+” for supported JSON files. In this mode, some node and routing settings in the interface may no longer work as they do with a standard node. Back up your current config before importing and keep a verified working node for comparison while troubleshooting.
- Match the core first. Don’t assume extensions designed for Xray will run on the v2fly core. For the reverse migration, check version and field support too.
- Then review inbound settings. A desktop SOCKS inbound is not the same as Android VPN routing. Check what the target client requires for custom config inbounds; don’t copy the entire desktop config.
- Keep outbound references intact. When migrating routing rules, include the outbound referenced by
outboundTagso no rule points to a missing tag. - Migrate files last. Drive letters, user directories, and certificate paths from your computer usually don’t exist on a phone. The target environment must also provide any required resource files.
5. Which sync method should you use?
Choose based on what you need to maintain, not how many import buttons there are. Use a subscription to keep a remote node list current, sharing to add one node to another device, and custom config only when you need core-level behavior. You can use all three, but label their sources so a manual copy isn’t mistaken for a subscription node.
Subscription URL
RecommendedEach device fetches the remote list independently, making it easier to handle added, removed, or changed nodes. Check when each client updates and what format the server returns. Subscriptions don’t sync local routing or the selected node.
Best for: long-term use across multiple devices and regularly maintained node lists
Share link or QR code
Transfer a specific node once, with a small scope that’s easy to verify field by field. If the remote node changes, share it again. A successful QR scan doesn’t prove that the receiving client supports every parameter.
Best for: temporary setup, a few nodes, or checking compatibility of a single node
Custom config export
Preserves more core-level routing, DNS, and outbound structure, but you’ll need to handle field compatibility, inbound routing, and file paths. It doesn’t replace migrating client-specific settings.
Best for: users with a specific config requirement who can read core logs
6. Troubleshoot differences between devices
Troubleshoot in order: verify the node details, test the connection, then check whether traffic is routed through the proxy. Two devices connected to the same server can behave differently due to mobile data, local networks, DNS, or routing rules. Comparing node names or list order alone won’t identify the cause.
Why does my phone still show the old list after updating on my computer?
Update the subscription separately on your phone. Check that the URL in v2rayNG’s “Subscription group settings” is still valid, and make sure you’re not viewing a manually imported group. Compare the node address, port, and transport settings—not just its remark.
The QR code imported successfully. Why won’t it connect?
Open the node editor and check TLS, SNI, Host, path, and Reality fields one by one. If the share format omitted any parameters, copy them from the original node or use a compatible subscription. Then check the logs to distinguish authentication failures, certificate errors, and connection timeouts.
My computer’s local port is 10808. Should I enter it on my phone too?
When both devices connect directly to a remote node, you don’t need to enter your computer’s local port in the phone’s node settings. Use the remote port provided by the server. On your phone, 127.0.0.1 refers to the phone itself, not your computer.
The node is the same, but some phone apps still connect directly
First make sure v2rayNG is running and has valid system VPN permission. Then check whether per-app proxy rules exclude the app or routing rules send it direct. A successful connection means the tunnel is up; it doesn’t mean every app and destination uses the same outbound.
Can two devices use the same account at the same time?
Check the provider’s device, concurrent connection, and traffic limits first. Importing the same node on two devices doesn’t mean the account allows simultaneous use. If starting the second device disconnects the first, check the provider’s limits and logs before changing the user ID.
7. Post-migration checklist
Keep reusable remote connection details separate from device-specific settings to make future migrations easier. A subscription token fetches the node list, node credentials authenticate the connection, and a local listening port belongs to the device. Each requires a different fix if it’s wrong.
- Record the client and core versions on both devices to help explain protocol compatibility differences.
- Make sure both subscriptions are up to date and use recognizable group names.
- Verify that the address, remote port, authentication, transport, and TLS fields match. Don’t disable certificate verification without a reason.
- Test proxy routing separately on your computer and phone. If needed, compare Wi-Fi and mobile data on your phone.
- Check DNS, routing, per-app rules, and local ports. Set these for each device’s needs; they don’t have to match.
- Delete temporary screenshots, clipboard contents, and exported files containing full subscription URLs or node credentials. Keep backups somewhere secure.
Use subscriptions for routine maintenance, share individual nodes for additional testing, and reserve custom configs for specific core-level needs. This lets you reuse the same remote connection details while keeping the traffic routing each device requires.