CLIENT PACKAGES

V2Ray Client Download

Choose an installer by operating system, processor architecture, and interface type. Use v2rayN on desktop systems; on Android, choose between v2rayNG and v2flyNG based on the core family and configuration compatibility you need.

v2rayN Desktop v2rayNG for Android v2flyNG alternative

PLATFORM SELECTOR

Choose your operating system and package

Confirm the platform first, then check the processor architecture and package format. Switching platforms updates the address bar, so you can copy the current link and return directly to the matching download panel.

WINDOWS PACKAGE

v2rayN: Desktop and classic WPF

The Windows panel offers v2rayN only. The Desktop edition uses a newer cross-platform interface with a layout closer to other desktop platforms; the WPF edition keeps the classic Windows interface and familiar menu structure. For a first installation, start with Desktop; choose the classic edition if you already rely on WPF settings and workflows.

x64 · ZIP
v2rayN
Recommended

v2rayN Windows

Current version 7.24.1

The two entry points use different interface implementations; they are not separate protocol clients. Core tasks such as importing subscriptions, selecting nodes, configuring the system proxy, and managing routing can all be completed in v2rayN.

Desktop edition

A newer cross-platform UI for first-time installs, users who prefer the modern interface, and anyone who wants a consistent desktop workflow.

v2rayN-Desktop-Setup-x64-7.24.1.zip
Download the Desktop edition

Classic WPF edition

The classic Windows interface for users who want traditional menus, familiar workflows, or an existing configuration management process.

v2rayN-Setup-x64-7.24.1.zip
Download the classic WPF edition

Windows selection and installation checklist

Check Recommendation Why
Processor architecture x64 The Windows packages on this page target common 64-bit desktop environments.
First choice Desktop edition A newer cross-platform interface with an organization suited to a fresh installation.
Existing workflow WPF edition Keeps the classic interface and menu paths, reducing the cost of switching.
After installation Import configuration and start the client Installing the client alone does not create a usable node or subscription.

PACKAGE DECISION

Three checks before downloading

Confirm the platform, package format, and processor architecture in order. A version number in the filename alone cannot show whether the package suits your device.

01

Identify the operating system first

Windows, macOS, Android, and Linux use different package formats. Do not download across platforms or treat desktop and mobile clients as the same program. For desktop systems, use v2rayN; on Android, start with v2rayNG for typical use and consider v2flyNG when you need the v2fly core ecosystem.

02

Then confirm the format or interface branch

Windows Desktop and WPF differ in interface technology and workflow; the two macOS packages differ by chip; Linux deb and rpm packages differ by distribution package system; Android arm64 and universal editions differ in processor coverage. Understand the branches first, then choose from your device information.

03

Check the architecture last

x64, arm64, and universal indicate processor architecture or compatibility range. A mismatch commonly causes the installer to refuse execution, the app to fail to start, or the system to report an incompatible format. If device information is unclear, check system settings instead of trying packages at random.

AFTER INSTALLATION

Configuration order after installation

Downloading the client is only the first step. A usable connection also requires a configuration source, an active node, a proxy mode, and connectivity testing.

  1. Open the client and confirm the main interface works

    At first launch, confirm that the app reaches its main interface and that the menus, log area, and configuration entry points work. If it does not start, return to this page and check the operating system, package format, and processor architecture rather than blaming the subscription or node.

  2. Import a subscription or single-node configuration

    Subscription links are usually added to a subscription group and then updated; individual nodes can be imported from a link, QR code, or configuration file. After importing, the server list should contain the expected entries. If it is empty, check the import entry point, subscription URL, and client logs.

  3. Select an active node and proxy mode

    Select the configuration you want in the node list, then start the client. On desktop, also confirm the system proxy mode; on Android, start the connection inside the client. For fine-grained routing, verify basic connectivity with the existing rule set before adjusting custom routes.

  4. Verify browser and app traffic

    Do not judge connectivity solely by the client button color. Open a page that requires network access and check the client logs to confirm that requests use the expected outbound. If the browser works but another app does not, check whether that app follows the system proxy or requires a separate proxy address.

CLIENT NOTES

How the three clients differ

The client names are similar, but their platform coverage, interfaces, and core families differ. Choose based on your device and configuration requirements.

v2rayN

v2rayN

v2rayN is the desktop client covered here, supporting Windows, macOS, and Linux. It manages subscription groups, server lists, system proxies, routing rules, and logs. Windows offers both Desktop and WPF branches; macOS and Linux require an additional choice based on architecture or package format.

Desktop users generally need only one v2rayN edition. Different packages do not change subscription content; the main differences come from the operating system, processor architecture, and interface implementation.

v2rayNG

v2rayNG

v2rayNG is the preferred Android entry point and uses the Xray core family. It manages subscriptions, QR codes, and single-node configurations while establishing a local network connection on mobile devices. Recent mainstream phones should use arm64-v8a; choose the universal edition when the architecture is unclear.

Before importing a subscription used on desktop, note that clients may use different names for some advanced fields, routing rules, and transport options. When they differ, rely on the client’s actual logs.

v2flyNG

v2flyNG

v2flyNG also targets Android but uses the v2fly core family. It is an alternative when you need that core’s behavior or want to manage different subscriptions or configurations separately. Choosing v2flyNG does not make node configurations automatically compatible; verify the protocol, transport layer, and routing fields.

If you have no specific core-compatibility requirement, start with v2rayNG. If the configuration specifies the v2fly ecosystem or you need to compare core behavior, use v2flyNG.

DOWNLOAD FAQ

Common download and installation questions

These questions cover interface branches, chip architecture, mobile packages, Linux package formats, and initial configuration after installation.

Should Windows users download v2rayN Desktop or the WPF edition?

For a first installation, start with Desktop for its newer cross-platform interface and layout closer to other desktop platforms. Choose WPF if you need the classic Windows interface, already use WPF, or want to keep the original menu paths. Both are v2rayN, with similar core workflows for importing subscriptions, selecting nodes, configuring the system proxy, and managing routing.

Do not run both editions at the same time while they compete for the same local proxy port. To compare interfaces, fully exit the current edition before starting the other.

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

Open System Information and check the Chip or Processor field. Choose the Apple Silicon arm64 package for an Apple M-series chip, or the x64 package for an Intel processor. A mismatch may prevent the app from starting, so do not rely only on the purchase year or the device’s appearance.

Should Android users download arm64 or the universal edition?

Most mainstream Android phones released after 2015 should use arm64-v8a first. It targets the common 64-bit ARM architecture, so its contents are more focused. If the architecture is unknown, the device is older, or the arm64 package fails to install, use the universal edition instead. It supports more architectures and is usually larger.

How do you choose between deb and rpm packages on Linux?

Choose deb for Debian, Ubuntu, and derivatives; choose rpm for Fedora, Rocky Linux, AlmaLinux, and RHEL-based distributions. After choosing the format, run uname -m to identify the architecture: x86_64 maps to x64, while aarch64 or arm64 maps to arm64.

The desktop environment name cannot replace distribution identification. The same desktop environment may run on different distributions, while the distribution’s package management system determines the package format.

Why can’t the client connect immediately after installation?

A GUI client manages configuration and invokes the relevant core; after installation, you still need to import a valid subscription or single-node configuration. Select an active node, start the client, and configure the system proxy or routing mode as needed. If the node list is empty, check for subscription updates first. If a node exists but fails to connect, inspect handshake, DNS resolution, and routing details in the logs.

How should you choose between v2rayNG and v2flyNG?

For typical Android use, start with v2rayNG from the Xray core family. Choose v2flyNG for the v2fly core ecosystem, specific compatibility checks, or separate management of different configurations. Their subscription import locations and some setting names differ, so review routing and local proxy settings after switching clients.