Ten V2Ray Questions for Beginners: Subscriptions, Nodes, Modes, and Connection Checks

From importing subscriptions and choosing nodes to system proxy settings, TUN, and log checks, this guide addresses 10 common issues in the order they arise during initial setup.

At a glance

This guide is for users just getting started with v2rayN, v2rayNG, or v2flyNG. It covers subscription sources, empty-list troubleshooting, protocol identification, proxy mode selection, latency checks, and connection troubleshooting. By the end, you can tell whether the issue lies with the subscription, node, core, system interception, or network path.

Subscription Import: URLs, Updates, and Local Settings

Question 1: Where does the subscription URL come from?

A subscription URL is provided by your node service's management portal or network administrator; the client does not generate usable nodes itself. It is usually a private HTTPS link that returns an encoded node list or structured configuration. An account login URL, website homepage, individual VMess share link, and subscription URL are different things. Pasting the wrong one commonly results in a failed update or an empty list.

Subscription links are usually tied to an account and should be treated like credentials. Do not publish them on public pages or forward them to unrelated people. If the service offers both “Copy subscription” and “Copy single node,” choose the former for automatic multi-node updates. With a single share link, use an entry such as “Import batch URLs from clipboard” in the client.

Question 2: What is the correct order for the first subscription import?

Using the v2rayN 7.x desktop interface as an example, create a subscription group first, update it next, and select a node last. Saving a subscription URL alone does not create an active connection. Node records are added to the group only after a successful update.

  1. Add subscription

    Open “Subscription Groups” → “Subscription Group Settings” → “Add,” enter an alias, paste the complete subscription URL, and save.

  2. Update group

    Go to “Subscription Groups” → “Update All Subscriptions” and wait for the status bar to show completion. For the first update, keep the current network connection unchanged.

  3. Select a node

    Return to the main list, double-click the target node, or use the context menu to set it as the active server. Confirm that the row shows as selected.

  4. Confirm the core

    Open “Settings” → “Parameter Settings” → “Core Type.” For standard VLESS, VMess, and REALITY nodes, Xray is generally the preferred core.

  5. Enable interception

    Choose a system proxy mode first, then test in a new browser window. Existing connections may continue using the old route.

Node Lists: Empty Results, Protocols, and Validity

Question 3: Why is the node list empty after updating the subscription?

First check the update message instead of clicking Update repeatedly. A 401 or 403 usually means the link credentials have expired, the subscription was reset, or the server denied access. A timeout generally points to DNS resolution, the current network, or a temporarily unreachable remote service. If the update reports success but returns zero nodes, check the group filters and the returned content.

In v2rayN, open “Subscription Groups” → “Subscription Group Settings,” confirm that the group is enabled, and check whether the inclusion or exclusion keywords are too restrictive. For example, if the inclusion keyword is “Reality” but node names only specify regions, every record may be filtered during import. Temporarily clear the filters and update again to quickly distinguish a filtering issue from a subscription-content issue.

401/403
Credentials or access status
10 seconds
Timeout troubleshooting reference
10808
Common local SOCKS port
10809
Common local HTTP port

Question 4: What is the difference between a node name, protocol, and route?

A node name is simply a label written by the subscription provider, often indicating a region, entry point, or multiplier. It does not by itself prove the protocol or route quality. VMess and VLESS are protocols used for client-server communication; TCP, WebSocket, and gRPC are transport methods; TLS and REALITY concern connection security and handshake parameters. After import, rely on the configuration fields shown by the client.

Whether a node works depends on the server configuration matching the client core. A VLESS configuration may require an address, port, user ID, transport, flow control, server name, and public key. VMess nodes commonly use a user ID, security settings, transport path, and TLS settings. When importing automatically from a subscription, avoid changing individual fields without understanding the server-side parameters.

VLESS + REALITY

Transport
Usually TCP
Flow
xtls-rprx-vision
Port
Usually 443
Key fields
Public key and server name

Best handled by the Xray core; the fields must correspond exactly to the server configuration.

VMess + WebSocket

Transport
WebSocket
Path
Specified by the server
TLS
Enable according to the subscription value
Key fields
User ID and hostname

A mismatch in the path, hostname, or port can cause the handshake to fail.

Proxy Modes: System Proxy, TUN, and Routing

Question 5: What is the difference between system proxy and TUN mode?

System proxy writes the proxy address to the operating system settings, allowing browsers and desktop apps that follow system proxy settings to use it directly. It is simple to configure with a clearly defined scope, making it a good starting point for initial tests. Some programs ignore the system proxy or create their own UDP connections, so their traffic will not automatically enter the client.

TUN mode uses a virtual network interface to intercept a broader range of IP traffic. It can cover programs that do not read system proxy settings and is better suited to UDP or centralized DNS handling. It involves a virtual adapter, routing table, and DNS forwarding, and may require system permissions on first launch. Conflicts with security software, other virtual networking tools, or enterprise network policies also make troubleshooting more involved.

System proxy

Recommended

The shortest setup path for verifying that the subscription, node, and core can establish a connection. After the browser test passes, decide whether to expand the interception scope.

Best for: Initial setup, browsers, and standard desktop apps

TUN mode

Uses a virtual interface to intercept more connections, handle programs that ignore the system proxy, and apply routing rules to choose direct or proxied traffic.

Best for: Full-device interception, UDP apps, and programs without their own proxy settings

Manual proxy

Enter 127.0.0.1 and the client's listening port in an individual app. This offers the clearest scope and makes port and protocol errors easier to isolate.

Best for: Development tools, single-app testing, and limited interception

Question 6: How should you choose global, rule-based, or direct mode?

Global mode usually sends all intercepted connections through the current proxy exit. It is useful for briefly testing a node, but not as a permanent choice for every network environment. Rule-based mode uses domains, IPs, geographic data, and rule order to choose between proxy and direct connections, making it common for daily use. Direct mode bypasses the proxy and can be used to pause interception or run a comparison test.

Routing decisions and interception methods are separate layers. The system proxy or TUN determines whether traffic enters the client; routing rules determine which exit it uses afterward. If the client is running but the target app still uses the original network, check interception first. If some websites use an unexpected exit, then check rule order, domain matching, and outbound tags.

Connection Checks: Latency, Exit IP, and Multi-Device Setup

Question 7: Does a successful latency test mean the node will definitely work?

Latency is only one observation. TCP latency in a client usually measures whether a connection to the target port can be established; it may not complete protocol authentication. A real latency test sends a proxy request and is closer to actual use, but still does not represent sustained transfer speed. A node showing 80 ms only indicates a quick response during the test, not stable throughput during peak hours.

To assess whether a node works, complete at least three steps: test TCP or real latency, open the target website, and confirm that the exit address changes as expected. If latency returns a value but the page will not load, check the protocol handshake, system proxy, DNS, and routing. If the latency test times out, start with the node address, port, current network, and service status.

Question 8: How can you confirm that traffic is going through the proxy?

First record your exit network information with the client disabled. Then enable the active node and system proxy, and use a new browser window to visit a trusted network-information page. The exit region or network operator should match the selected node's characteristics. Next, return to the client and inspect live logs or connection details for the corresponding domain, destination port, and outbound tag.

Seeing the client icon in a running state is not enough. The core process must be running, a node must be selected, application traffic must reach the listening port, and routing must choose the proxy exit. If the browser still shows the original exit, check whether it uses separate proxy settings and whether the system proxy points to 127.0.0.1 and the current listening port.

Recommended setup: Use one subscription on desktop and Android

Desktop (v2rayN)
  • Prefer the Xray core
  • Verify the connection with the system proxy first
  • Check the domain and outbound in the logs
  • Update the subscription on a regular schedule
Android (v2rayNG)
  • Import the same subscription link
  • Select the active node again after updating
  • Configure per-app proxying as needed
  • Check the system VPN connection status

Using the same subscription does not automatically synchronize the active node. After updating on both devices, select a node separately and run a connection test on each one.

Troubleshooting: Logs, Time, and Client Selection

Question 9: How should you troubleshoot when every node suddenly fails?

When multiple nodes fail at the same time, check shared components first instead of editing nodes one by one. Confirm that the device can access the basic network, then update the subscription once and restart the client core. Next, check the system time. TLS and REALITY handshakes depend on accurate time, and a large clock difference can cause certificate or handshake validation to fail.

Logs are the primary basis for troubleshooting. “connection refused” usually means the destination port is not accepting connections or the network rejected the request directly. “timeout” means the connection was not completed within the allowed time. For “authentication failed,” check the user ID, password, or subscription update. For “failed to find an available destination,” continue by checking DNS resolution, routing, and the target address.

  1. Check the basic network

    Temporarily disable the system proxy and TUN, then confirm that ordinary webpages open directly. This rules out a local outage, gateway issue, or DNS failure.

  2. Synchronize the system time

    Enable automatic synchronization in the system date and time settings, confirm the time zone is correct, and restart the client core.

  3. Update the subscription

    Run “Subscription Groups” → “Update All Subscriptions” and check whether it returns a 401, 403, timeout, or parsing error.

  4. Switch nodes

    Select another regional node from the same subscription and run one comparison test in global mode to distinguish a single-node failure from a routing issue.

  5. Read the logs

    Note the time, target domain, port, and error type near the first failure, then classify it as connection refused, timeout, authentication, or DNS.

Question 10: How should you choose between v2rayN, v2rayNG, and v2flyNG?

v2rayN is for Windows, macOS, and Linux desktops, with entry points for subscription management, system proxy, TUN, routing, and multi-core configuration. For desktop users, it works well as a unified management interface. On Android, when compatibility with VLESS, REALITY, and Xray features is a priority, v2rayNG with the Xray core is a suitable choice.

v2flyNG targets v2fly core configurations and suits Android scenarios with existing VMess or other v2fly-based nodes that specifically require that core's behavior. Choose a client based on the platform, protocol, and server parameters—not the node name. If a subscription includes VLESS and REALITY, first confirm that the client's current core supports them.

Desktop option

Client
v2rayN
Platform
Windows、macOS、Linux
Core
Prefer Xray
Starting mode
System proxy
Troubleshooting entry point
Runtime logs

Finish updating the subscription, selecting an active node, and verifying the browser exit before enabling complex routing or TUN.

Android option

Client
v2rayNG or v2flyNG
Xray protocols
Prefer v2rayNG
v2fly configuration
Choose v2flyNG if needed
Interception method
System VPN interface
Verification method
Exit IP and connection logs

After importing, check the actual protocol fields and core family instead of choosing a client solely by the subscription name.

A reliable beginner troubleshooting order is: Can the subscription update? Is a node list generated? Is an active node selected? Is the core compatible? Is application traffic entering the client? Has routing selected the correct exit? Working through these layers is more effective than repeatedly switching nodes and avoids losing a clear comparison after changing several settings at once.

Client downloads View installers for four platforms