FAQ

V2Ray Client FAQ

21 questions grouped into four categories - Basics, Setup, Usage and Troubleshooting - covering the v2rayN, v2rayNG and v2flyNG clients. Each answer gives the conclusion first, then a troubleshooting order you can follow step by step.

Basics

5 entries

Start with how clients, cores and protocols fit together, then decide which build to install and what to prepare in advance.

v2rayN, v2rayNG and v2flyNG: what is the difference and which one should you install?

v2rayN is the desktop client and covers Windows, macOS and Linux. v2rayNG and v2flyNG are Android clients: the first ships with the Xray core, the second with the v2fly core. Desktop users should install v2rayN; on Android, start with v2rayNG and add v2flyNG only when you need to compare behaviour against the v2fly core. All three import subscriptions the same way, so one subscription link works across them.

How do V2Ray, V2Fly and Xray relate to each other?

V2Ray was the name of the main program in the early Project V ecosystem; the community-maintained fork later became V2Fly, and Xray split off from V2Fly. V2Fly and Xray share most protocols and configuration syntax, while Xray iterates faster on its transport-layer implementation. What people call a V2Ray client today usually runs a V2Fly or Xray core, and the same configuration can normally be swapped between the two.

What do protocol names such as VMess, VLESS and Trojan mean in the client?

They are the protocols used to carry data between the client and the server. The server configuration decides which one is used, and the client simply fills in the parameters given by the subscription. VMess is the early V2Ray protocol; VLESS is lighter and relies on outer encryption such as TLS; Trojan traffic closely resembles standard HTTPS. After a subscription is imported, the client detects the protocol type automatically, so manual selection is rarely needed.

What is the difference between a subscription link and a single node link?

A single node link describes one server and adds one entry to the node list when imported. A subscription link points to a list of nodes that the client fetches automatically at a set interval, so the local list follows any nodes the provider adds or removes. For everyday use, import the subscription link and only add individual node links when you are testing one specific server.

Is the client itself paid, and what do you need to prepare before using it?

v2rayN, v2rayNG and v2flyNG are all open-source clients that are free to use, and none of them provide or sell node services. Before you start, you need your own working node configuration, usually in the form of a subscription link or a node share link. The client only handles the connection and traffic routing; actual speed and stability depend on the node itself.

Setup

5 entries

From picking a build to importing a subscription, work through these steps in order and you are ready to connect.

On Windows, should you choose the v2rayN desktop version or the classic WPF version?

The desktop version is the newer cross-platform interface with a fast release cadence, which suits first-time installs. The classic WPF version has kept the same interface for years and behaves predictably, which suits users who are used to the old layout or need a pinned version. Both offer the same features, so you can install them side by side with the same subscription and keep whichever one you prefer after comparing.

On macOS, should you download the Apple Silicon or the Intel build?

Open About This Mac and check the Chip field: if it shows an Apple chip (M series), choose the Apple Silicon build; if it shows an Intel processor, choose the Intel build. The wrong build will not launch properly, so just download the matching one - there is no need to remove the old files first.

On Android, should you choose the arm64 build or the universal build?

Mainstream Android phones released after 2015 are almost all arm64, so pick the arm64 build first: it is smaller and runs more efficiently. If you are unsure about the architecture, or you are installing on an emulator or an older device, choose the universal build - it covers more hardware at the cost of a larger package.

Subscription import fails or the node list is empty after import - how do you troubleshoot?

Check three things in order: whether the link is complete, since a truncated start or end or a stray space picked up while copying will break it; whether the client can reach the subscription address, which you can test by opening the same link in a browser; and whether the link has expired or been reset by the provider. If all three are fine, delete the subscription, import it again and trigger a manual update.

After importing a subscription, how do you confirm the configuration is active?

Update the subscription once and confirm that entries appear in the node list. Then select a node and run a latency test - a numeric result means the server is reachable. Finally, turn on the system proxy and open a site you know goes through the proxy to verify connectivity. If all three steps pass, the configuration is working and you can start using it day to day.

Usage

5 entries

Common choices for proxy mode, routing mode and subscription updates, plus where each setting lives in the client.

What is the difference between system proxy mode and TUN mode, and when should you use each?

System proxy mode changes the proxy settings of the system or browser and only affects programs that read those settings; it needs few permissions and suits browsers and ordinary desktop software. TUN mode creates a virtual network adapter and takes over all traffic, covering programs that ignore proxy settings; it requires administrator rights and suits command-line tools and situations that need full traffic capture. For everyday browsing, prefer system proxy mode.

How do you choose between global, rule and direct routing modes?

Direct mode bypasses the proxy entirely and is only useful when you are checking whether a node is affecting your network. Global mode sends all traffic through the proxy and suits situations where everything must be proxied for a short time. Rule mode splits traffic according to routing rules - domains and IPs in mainland China go direct while everything else uses the proxy - and is the default choice for everyday use. After switching modes, restart the client once before verifying.

How often do subscriptions update, and where is the manual update option?

v2rayN updates subscriptions automatically at the interval you set, commonly every 6 to 24 hours; v2rayNG provides an update button on each subscription entry. When the provider swaps nodes or changes ports, trigger a manual update to sync immediately instead of waiting for the next automatic cycle.

Local port 10808 is already in use and the client will not start - what should you do?

In the settings, change the local listening port to another unused value such as 10809, save and restart the client. After changing the port, any program that relies on a fixed port needs its proxy settings updated to match. You can also use a system command to list port usage and find out which program is holding 10808.

How do you tell whether current traffic goes through the proxy or connects directly?

Open the client's connection list or routing log. Each connection shows the rule it matched and the outbound it used: proxy means it went through the proxy, direct means it connected directly. Comparing against your routing rules shows why a given domain was routed the way it was, which is also the usual way to investigate slow speeds on specific sites.

Troubleshooting

6 entries

Work from the symptom: check the proxy switch and node status first, then DNS and routing rules.

The client shows connected but the browser cannot open any page - what should you do?

Work through three steps - proxy switch, node availability, DNS. First confirm the system proxy switch is actually on, since some browsers have their own proxy settings that override the system ones. Then check node latency; a timeout means the node is unavailable. Finally check DNS and retry with a working public resolver. In most cases the first two steps are enough to find the problem.

All nodes time out and latency shows -1 - what is the cause?

There are three common causes: the subscription has expired or the nodes were taken offline by the provider; your local network cannot reach the node addresses, which you can verify by opening the subscription link in a browser; or the wrong test method was used, for example pinging a server with ICMP when it blocks ping. Switch to a real-connection latency test in the client, and if everything still times out, update the subscription or contact the node provider.

System proxy is on but has no effect and the browser still connects directly - how do you troubleshoot?

Check each item in turn: whether the client is running with administrator rights; whether the browser has an extension that takes over proxy settings; whether another program has overwritten the system proxy settings; and toggle the switch once so the settings are written again. If only one or two programs are unaffected, they usually ignore the system proxy - switch to TUN mode to capture them.

TUN mode reports insufficient permissions and cannot create a virtual network adapter - what should you do?

TUN mode needs administrator or root rights, so start the client as an administrator first. On Windows, confirm the virtual network adapter driver installed successfully; if security software blocked the installation, allow it and reinstall. On macOS and Linux, check that the client has been granted the relevant system network permissions. Once the permission problem is solved, restart the client and enable TUN mode again.

Subscription update fails with a timeout or a 403 - how do you handle it?

First open the subscription link manually in a browser: if it will not load, the link is dead or your local network is restricted; a 403 usually means the link has expired, was reset, or tripped an access limit on the provider side, so you need a new one. If the browser can open it but the client still fails to update, check the update interval and whether your proxy settings have created a circular dependency for subscription updates.

Some websites will not open while others work fine - where is the problem?

This usually comes down to routing and DNS: the domain matched a direct rule even though it needs the proxy, or DNS resolution was poisoned and returned an unreachable IP. The fix is to add the domain to the proxy rules and switch DNS to encrypted resolution or a reliable public DNS, then restart the client and test again.