client packages

V2Ray Client Downloads and Platform Selection

Choose a package by operating system, CPU architecture, and interface type. Use v2rayN on desktop platforms, and choose between v2rayNG and v2flyNG on Android according to the required core.

Windows / macOS / Android / Linux Graphical clients Chinese installation guide
platform

Choose a client by platform

After switching platforms, only the matching clients, package links, and system requirements are shown. The URL updates with the platform anchor, so the current platform entry can be saved directly.

windows packages

Windows:v2rayN

Each client offers two interface options. Choose Desktop or WPF first, then download the matching x64 installation archive.

v2rayN
Top pick 7.24.1

v2rayN for Windows

For subscription management, node switching, routing, system proxy settings, and TUN configuration. Desktop uses a newer cross-platform UI; WPF uses the classic Windows interface with settings and workflows closer to established usage patterns.

Recommended first

Desktop edition

A newer cross-platform interface for first-time installations or users who want a consistent desktop experience.

Download Desktop edition
Classic interface

WPF edition

A stable classic Windows interface for users familiar with the older menu structure and established configuration workflow.

Download classic WPF edition

Windows system and selection guide

Check Recommendation How to decide
Processor architecture Current entry: x64 Open “Settings → System → About” and check the system type.
Interface type Prefer Desktop for new installations Choose WPF if you are used to its interface or existing configuration workflow.
Installation permissions Follow the system prompts to complete installation Features such as TUN may require elevated permissions to take control of system traffic.
decision path

Package selection checklist

Beyond download failures, many installation problems result from choosing the wrong platform, architecture, or package format. Use the sequence below for a consistent check on desktop and mobile devices.

system

Confirm the operating system, not just the device brand

First confirm whether the device is running Windows, macOS, Android, or Linux, then open the matching platform panel. For dual-boot, virtual-machine, and remote-desktop scenarios, use the system that actually runs the client. For example, a Linux virtual machine on a Windows host requires a Linux package when the client is installed in the VM; installing it on the host requires a Windows package. The platform determines the installer format, permission prompts, and system proxy settings.

architecture

Distinguish x64, arm64, and Apple Silicon

Processor architecture determines whether a package can run directly. The Windows page provides x64 desktop packages; macOS separates Apple Silicon and Intel; Android provides arm64 and universal packages; Linux provides both x64 and arm64. Different systems may display architecture names as x86_64, amd64, aarch64, or arm64. Use the matching mapping rather than relying only on the device's purchase year.

package

Identify the package format and interface option

Windows Desktop and WPF differ by interface; macOS DMG packages differ by chip; Android arm64 and universal packages differ by target architecture range; Linux deb and rpm differ by package-management system. File extensions do not indicate version ranking: rpm is not a newer deb, and a universal Android package does not provide more features. Choose based on the system and architecture.

configure

Continue with configuration after installation

Installing the client does not establish a connection by itself. Import a valid subscription or add a server manually, update the subscription list, select a node and proxy mode, then enable the system proxy or configure TUN as needed. For the first connection, use basic system proxy mode to verify browser traffic, then add DNS, per-app routing, and custom routes step by step so problems are easier to isolate.

View the subscription import and connection guide
after download

Installation and first launch after download

Installation screens differ by platform, but the configuration flow is consistent: install the client, approve permissions, import a subscription, choose a node, enable the proxy, and verify the access path.

01

Complete platform installation

On Windows, extract the downloaded file, run the installer, and complete setup for the selected Desktop or WPF edition. On macOS, open the DMG and move the app to Applications. On Android, open the downloaded package and follow the system prompts. On Linux, install the deb or rpm package with the distribution's package tool instead of extracting the file and running an individual component.

02

Confirm system permissions

The first launch may request permissions for network access, firewall rules, VPN control, or virtual network interfaces. The exact permissions depend on the platform and enabled features. Basic network access is usually sufficient for system proxy mode; TUN also requires permission to create and manage a virtual network interface. Read each prompt in the context of the relevant feature before approving it.

03

Import the subscription and update nodes

Add the complete subscription URL in the subscription management screen, save it, and run an update. When nodes appear, verify that their names, protocols, and server details were parsed correctly. If the update fails, check that the URL is complete, the network request succeeded, and the system time is accurate. Do not repeatedly switch proxy modes while the subscription update is still failing.

04

Choose a mode and verify the connection

Select an available node and first enable basic system proxy mode for verification. After browser traffic works through the client, configure routing, DNS, or TUN. If the client shows connected but an app cannot access the network, check the node status, system proxy, local listening port, DNS, and the app's own proxy settings in order. Avoid changing several options at once.

package notes

Client models and usage boundaries

The three clients target different platforms and core options. Choose based on the operating system, existing configuration, and day-to-day management needs; there is no need to install all three.

v2rayN

A unified desktop entry point

v2rayN covers Windows, macOS, and Linux for managing subscriptions, servers, system proxies, routing rules, and TUN on desktop systems. Windows offers both Desktop and WPF interfaces; macOS and Linux use the cross-platform desktop interface. The same subscription can be used across multiple desktop devices, but permissions, system proxy settings, and installation steps still require platform-specific setup.

v2rayNG

The usual Android choice

v2rayNG uses the Xray core, with mobile features centered on VPN control, per-app routing, subscription updates, and node switching. For common Android setups, start with v2rayNG. After importing a desktop subscription, review routing and DNS because mobile data, Wi-Fi, and background execution policies behave differently from desktop systems.

v2flyNG

Alternative for the v2fly core

v2flyNG is intended for configurations that explicitly require the v2fly core or environments already built around v2fly behavior. Both it and v2rayNG handle common subscriptions and node configurations, but support details, default options, and update schedules may differ. Before switching, confirm that the protocols and transport settings in the subscription are supported by the target client.

download faq

Common download and installation questions

These questions cover package selection, architecture checks, client models, and the first-connection workflow.

Should Windows users download v2rayN Desktop or the WPF edition?

Desktop is the newer cross-platform interface for first-time installations, a consistent desktop experience, or users who plan to switch between desktop systems. WPF is the classic Windows interface, with menus and workflows suited to users familiar with older v2rayN versions. Both support subscription imports, node selection, system proxy settings, and routing. Save the subscription URL and custom settings before switching editions.

How do you choose between Apple Silicon and Intel packages on macOS?

Open “About This Mac” from the system menu and check the “Chip” or “Processor” field. Choose the Apple Silicon arm64 version for an Apple M-series chip, or the Intel x64 version for an Intel processor. Architecture is not indicated by the system's appearance, and the same product line may span different generations, so rely on the information shown by the system.

Should Android users download arm64 or the universal version?

Most mainstream Android phones released after 2015 should use arm64 first. The arm64 package contains only the components required for that architecture and suits devices with a confirmed architecture. If the architecture is unknown, installation reports incompatibility, or the device uses another processor architecture, use the universal edition for the corresponding client. Universal packages broaden architecture compatibility; they do not provide extra features.

How should you choose between v2rayNG and v2flyNG?

For regular Android use, start with v2rayNG, which uses the Xray core. Choose v2flyNG when an existing configuration explicitly requires the v2fly core or the environment must preserve v2fly behavior. Subscription, routing, and DNS settings are not identical between the two clients. After migrating, review the configuration instead of checking only whether the node list appears.

Should Linux users choose a deb or rpm package?

Debian, Ubuntu, and derivatives generally use deb; Fedora, Rocky Linux, AlmaLinux, and other RPM-based distributions use rpm. Then identify the processor architecture: choose x64 for x86_64 or amd64, and arm64 for aarch64 or arm64. A correct package format with the wrong architecture still cannot install or start properly.

Why can't the client connect immediately after installation?

The installer only deploys the client program. After launching it, import a valid subscription or add a server manually, update the node list, select an available node and proxy mode, then enable the system proxy or TUN. For the first setup, verify browser access with system proxy mode before adding complex routing, DNS, or full traffic-control settings.

Download client