Client packages and platform selection

V2Ray client download

Choose a graphical client for your operating system. Use v2rayN on desktop platforms, and choose between v2rayNG and v2flyNG on Android. The page also lists CPU architectures, package formats, and version differences; verify your system details before downloading.

Four platforms Three clients Installation and selection guidance
Filter by operating system

Select your current device platform

The platform tag is added to the page URL. Copying a link with the platform anchor lets the corresponding package appear directly when the link is reopened.

Windows

v2rayN desktop client

Windows offers Desktop and classic WPF versions. Both use the same general approach to subscriptions and server settings, but their UI technology and layouts differ. Desktop is usually the best first choice; choose classic WPF if you want the traditional interface, familiar workflow, or compatibility with older tutorials.

v2rayN

Recommended

Current version: 7.24.1

v2rayN is a graphical desktop client for managing subscription groups, server settings, routing rules, the system proxy, and TUN mode. Before downloading, choose the interface version; there is usually no need to install both.

Desktop version

A modern cross-platform UI for first-time installations, users who want the latest interface, or anyone seeking a similar workflow across desktop systems.

v2rayN-Desktop-Setup-x64-7.24.1.zip
Download Desktop version

Classic WPF version

A classic Windows interface with a more traditional layout, suitable for users familiar with older menus and settings.

v2rayN-Setup-x64-7.24.1.zip
Download classic WPF version

Windows requirements and selection guide

Item Requirement or recommendation
CPU architecture This page provides an x64 package for common 64-bit Windows PCs.
Interface version Choose Desktop for a first installation; choose WPF if you need the traditional Windows interface.
Installation preparation Exit any older version that is running, and keep an exported copy of existing subscriptions and routing settings.
First launch After importing a subscription, update the server list, select a server, and configure the system proxy mode.
Before and after installation

From package installation to the first connection

The client is only a configuration and connection tool. After installation, import settings in order, check the connection mode, and verify access. This also makes it easier to identify the step where a problem occurs.

01

Verify platform and architecture

Confirm the operating system first, then the processor architecture and package format. Windows mainly separates interface versions; macOS separates Apple Silicon and Intel; Android separates arm64 and universal; Linux also requires choosing between deb and rpm. A downloadable file is not necessarily suitable for the device, so verify everything before installing.

02

Install and launch for the first time

Close any older client that is running, then process the downloaded file through the system installation flow. On first launch, the operating system may request network, VPN, or system proxy permissions. These permissions establish a local proxy tunnel or modify network settings; review each request according to the connection mode you enable.

03

Import a subscription or configuration

Copy a working subscription URL, add a group in the client’s subscription settings, and update it. You can also import an individual server configuration using a method supported by the client. After importing, check the server name, address, port, transport, and security settings so formatting errors are not mistaken for client failures.

04

Choose a mode and verify

Select a target server, then enable the system proxy, VPN service, or TUN mode according to the apps that need access. First test the basic connection in a browser, then check apps that do not follow the system proxy. If the browser works but command-line tools do not, set the terminal proxy environment separately instead of repeatedly reinstalling the client.

Version selection guide

How to choose between packages

A single client may offer multiple files to match the interface technology, processor architecture, or distribution package format. Choose based on device information, not file size or the order of names.

Check system information on desktop platforms

Windows users should first choose between the modern Desktop interface and the classic WPF interface. They are not simply a “full” and “lite” edition; the main difference is the UI framework and workflow. macOS users must choose arm64 or x64 based on the chip field. Linux users must match both the distribution family and CPU architecture.

If the device is managed by an organization or another person and the architecture is unclear, check processor information in system settings or ask the administrator. Do not guess from numbers in the filename or install multiple mismatched packages by trial and error.

Choose the Android client first

v2rayNG and v2flyNG use different core implementations. If a subscription provider specifies a client or core, follow those instructions; without a specific requirement, start with v2rayNG. After choosing the client, select arm64 or universal. Prefer arm64 on newer mainstream devices and universal when compatibility is uncertain.

When switching clients, importing the subscription is not enough. Recheck routing rules, LAN bypass settings, per-app proxy scope, DNS policy, and connection mode, because defaults and configuration locations may differ between clients.

Review configuration changes when updating

Client updates may change the interface, core capabilities, subscription parsing, or system integration. Save the current configuration details first, then check in order whether the subscription refreshes, servers connect, the system proxy is enabled, and routing rules still work as expected. This narrows upgrade issues to a specific step.

If the current version is stable, read the release notes and relevant tutorials before scheduling an upgrade. When connection problems occur, check the runtime log and client messages first rather than blaming the package itself.

Download questions

Package installation and first-use FAQ

These questions cover interface versions, processor architectures, Linux package formats, and post-installation configuration. For more complete connection and troubleshooting guidance, continue to the troubleshooting page.

Should Windows users download the v2rayN Desktop or classic WPF version?

The Desktop version uses a modern cross-platform interface for users who want the latest UI and a consistent workflow. The classic WPF version targets Windows, with an interface closer to existing tutorials and traditional workflows. Both are v2rayN, so installing one is usually enough. Without an established preference, start with Desktop.

How do I choose between the Apple Silicon and Intel package on macOS?

Open About This Mac from the system menu and check the Chip or Processor field. Choose Apple Silicon for an Apple M-series chip and Intel for an Intel processor. A mismatched architecture can prevent the package from launching, so follow the system information rather than the device’s appearance.

Should Android users download the arm64 or universal version?

Most mainstream Android phones released after 2015 should use arm64, which targets common 64-bit processors. Use universal if the architecture is unknown or arm64 will not install. Universal supports more devices but is usually larger; the main features do not change between architecture packages.

Should Linux users choose deb or rpm?

Debian, Ubuntu, and derivatives generally use deb; Fedora, RHEL, and derivatives generally use rpm. Also confirm whether the processor is x86_64 or arm64 before choosing the matching architecture. Run uname -m to check the architecture, but use the distribution’s package management system to determine the package format.

Why can’t I connect immediately after installing the client?

After installation, import a working subscription URL or server configuration, select a server, and enable the system proxy or the appropriate connection mode. The package contains only the client; it does not include subscriptions or server settings. After importing, also check the subscription update time, routing mode, local port, and system proxy status.

If subscription updates fail, the system proxy does not work, or the runtime log reports an error, continue troubleshooting by issue type.

View Troubleshooting Read Getting Started