V2RAY CLIENTS · CONFIGURATION GUIDE

V2Ray Official Downloads: v2rayN / v2rayNG Clients

Client downloads and setup documentation for Windows, macOS, Android, and Linux, covering practical steps for subscription imports, system proxy, TUN mode, and routing rules.

Open Source Free to Use Xray · V2Fly Core Family Chinese User Guides
ROUTE / LOCAL TO OUTBOUND TCP · SOCKS · ROUTING
04 SUPPORTED PLATFORMS 02 CORE FAMILIES PROJECT V ECOSYSTEM OPEN SOURCE CLIENTS

PLATFORM ENTRY

Choose your operating system to open the installer page

The download page lists available clients, package types, and selection guidance by platform. Desktop systems use v2rayN, while Android users can choose between v2rayNG and v2flyNG based on the core they need.

DESKTOP · V2RAYN

Windows

Desktop and classic WPF editions are available. For a new installation, start with the cross-platform desktop edition. If you prefer the traditional window layout, server list, and tray menu, use the classic edition. Confirm your system architecture before installing, and keep read/write access to the client configuration directory.

Go to Downloads

DESKTOP · V2RAYN

macOS

Packages are split between Apple Silicon and Intel processors. Check the chip name in System Information, then open the matching download. On first launch, follow the system prompts to grant network configuration permission. Subscription import and active-server selection follow the same process as on other desktop platforms.

Go to Downloads

MOBILE · V2RAYNG / V2FLYNG

Android

v2rayNG uses the Xray core and suits common protocols and routing configurations; v2flyNG uses the V2Fly core as an alternative implementation. Most recent devices can use the arm64 package; if you are unsure of the architecture, check the universal package. When connecting, the system will display a network access authorization prompt.

Go to Downloads

DESKTOP · V2RAYN

Linux

v2rayN provides packages suited to the package management systems used by common distributions. Debian- and Ubuntu-based systems generally use deb, while Fedora- and RHEL-based systems generally use rpm. x64 and arm64 packages must also be selected by processor architecture. After installation, launch it from the desktop menu, then configure subscriptions and proxy modes.

Go to Downloads

LINK INSPECTION

Connection Path Checklist

Check each stage from the configuration source to the exit connection. Select the current stage on the left to see which problem it addresses, where to make changes, and which parameters to verify.

SOURCE / UPDATE

Subscription Import: Let the Client Manage Your Server List

A subscription URL is not generated by the client; it is a set of server details delivered by the configuration provider. Add the URL to the correct group and update it. The client parses the protocol, address, port, transport, and security settings, then creates a selectable server list. After updating, check whether the group name and node count changed before choosing an active server. If the list is empty, verify that the URL is complete, the correct group is selected, and the update log contains no errors instead of repeatedly switching proxy modes.

When multiple subscriptions are in use, create groups by source and add clear notes. This lets you update, filter, and sort them separately, preventing servers with the same name from being mixed together. Subscription changes do not automatically replace local configurations you created yourself, so manage manual and remote entries separately.

source: subscription · action: update · result: server list

QUICK START

A Three-Step Path from Installation to Verification

Keep the first setup simple: choose the right package, import a working configuration, and complete a basic check through the system proxy. Once the basic path is confirmed, move on to TUN and more complex routing.

  1. 01

    Choose a Client by Platform and Architecture

    Use v2rayN on Windows, macOS, and Linux; Android users can choose v2rayNG or v2flyNG. Confirm the processor architecture and package format before downloading. On desktop systems, also make sure the current account can write to the configuration directory and that the client is allowed to create a local listening port. After installation, launch it normally once. Do not change firewall, DNS, and routing settings before the main interface appears.

  2. 02

    Add a Subscription and Choose an Active Server

    Enter the complete URL in subscription management, give the source an easy-to-identify group name, and update it. When the server list appears, select an entry as the active server. Check that the protocol, address, port, and transport fields were parsed correctly. The subscription URL delivers configuration; the client reads and runs it. If the update fails, check the subscription operation log first instead of assuming the core is unavailable.

  3. 03

    Enable System Proxy and Verify Each Stage

    Start the core first, enable the system proxy, then send a test request from a browser that follows system proxy settings. If it fails, check the local port, system proxy, DNS, routing rules, and remote connection in that order. After the basic mode works, decide whether to enable TUN based on the applications you need to cover. This separates virtual adapter issues from server configuration issues and reduces interference between them.

View the Full Guide →

OPEN ECOSYSTEM

How Project V, V2Fly, and Xray Relate

The client, core, and configuration source are three separate layers. Understanding their boundaries is essential for identifying which layer is responsible for an update, compatibility issue, or failure.

Project V Is the Starting Point of the Protocol and Tool Ecosystem

Project V established a tool ecosystem around proxy protocols, transport methods, routing rules, and local inbounds. A graphical client is not the protocol itself. It turns subscriptions, server lists, system proxy settings, routing, and logs into an operable interface, then passes the resulting configuration to the core. When a user selects a server or switches modes, the client is actually reorganizing configuration and controlling the core process.

This distinction directly affects troubleshooting. A subscription that cannot update is usually a configuration-source or client network-request issue. A core that exits immediately after starting is more likely related to configuration fields, a port, or the runtime environment. If only a specific destination is unreachable, DNS, route matching, transport parameters, or remote status are more likely causes. Calling every symptom “a broken client” hides the actual failure point.

V2Fly and Xray Are Different Core Families in the Same Technical Lineage

V2Fly carries forward core implementations and configuration conventions from the Project V ecosystem, while Xray extends some protocol, transport, and low-level capabilities while remaining compatible with established concepts. Both organize configuration around structures such as inbounds, outbounds, routing, DNS, and policies, but supported fields and behavior can differ by implementation. When importing a configuration, the client must convert the subscription content into a format recognized by the current core.

v2rayN manages related cores and configuration workflows on desktop platforms; v2rayNG primarily uses the Xray core; v2flyNG corresponds to the V2Fly core. When choosing a client, do not conflate the graphical interface with the core. The interface determines how you operate it, the core executes configuration and handles protocols, and the subscription supplies server parameters. The connection can work only when all three layers remain compatible.

Open-Source Licensing and Community Maintenance Make Updates Traceable

All three clients are maintained as open-source projects, with maintainers and the community continually advancing features, configuration changes, and fixes. The practical value of open source is that implementations and changes can be inspected, discussed, and reproduced by the technical community—not that an abstract label replaces security judgment. After installing a new build, read the change notes and confirm whether the configuration directory, core selection, permissions, or system proxy behavior has changed.

Client updates and subscription updates are not the same thing. A client update changes the program and its supported capabilities; a subscription update only refreshes server configuration. When a protocol field is not recognized, determine whether the subscription is wrong, the client lacks parsing support, or the current core does not support the parameter. Layered diagnosis is more controllable than repeatedly deleting all configuration.

COMMON QUESTIONS

Selected Frequently Asked Questions

These questions cover configuration boundaries that are easiest to confuse during first use. The troubleshooting page contains the full categories and diagnostic paths.

Are v2rayN and the V2Ray core the same program?

No. v2rayN is a graphical client that manages subscriptions, server lists, proxy modes, routing, and logs; the core parses configuration and handles actual connections. The client can call the appropriate core based on the configuration and platform, so a successfully launched interface does not guarantee that the core is running correctly. For connection issues, check both the main interface status and the core logs.

Why do I still need to choose a server manually after importing a subscription?

A subscription update converts remote configuration into a server list; it does not decide which entry you should use. After the update completes, choose an active server in the correct group and then start the core. If the client offers an automatic selection strategy, first complete one manual connection test to confirm that the configuration works.

Should I use system proxy or TUN mode first?

For the initial setup, start with the system proxy because its coverage and failure boundaries are easier to observe. Once browsers and other standard applications connect successfully, enable TUN if needed for command-line tools, games, or other applications. TUN involves a virtual network interface, routing, and DNS, so check permissions and interface conflicts when problems occur.

The client says it is running, but webpages will not open. What should I check first?

First confirm that an active server is selected. Then check whether the system proxy is enabled, whether a local listening port exists, and whether the browser uses its own proxy settings. Next inspect DNS, route matches, and remote connection logs. Checking each link in order distinguishes traffic that never entered the client, traffic sent through the wrong exit, and remote connection failures.

Download Client