Client Packages

V2Ray Client Downloads

Choose v2rayN, v2rayNG, or v2flyNG for your operating system. The page lists different interface editions, CPU architectures, and installer formats. Confirm your device type before downloading the matching file.

Windows · macOS Android · Linux Free forever Open source
Platform selection

Choose your current device

Switching platforms updates the page URL. Opening a link with a platform marker shows the matching packages and system requirements directly.

Windows client

v2rayN desktop and classic WPF editions

Windows uses v2rayN across the platform. The desktop edition uses a next-generation cross-platform UI with a structure similar to the macOS and Linux versions. The WPF edition is the long-standing classic Windows interface, with menus matching many existing tutorials. New users can start with the desktop edition; choose the classic edition if you prefer the familiar workflow or need specific WPF interactions.

Recommended Windows

v2rayN

7.24.1

Both packages support subscription management, server filtering, the system proxy, TUN mode, routing rules, and DNS settings. Their core purpose is the same; the main differences are the interface technology and layout.

  • Desktop edition: Next-generation cross-platform UI for new installations and users who work across desktop systems.
  • Classic WPF edition: Traditional Windows interface for users who want to keep an existing configuration workflow.

Windows requirements and installation

The download is a compressed archive. After it finishes saving, extract it to a permanent folder and run the installer from the extracted directory. Do not launch it from the archive preview window, or later components may not be written to the correct location.

Item Recommendation
Processor x64 desktop or laptop
Installation permissions Allow required system changes during installation
First connection Import a subscription, choose a server, then enable the system proxy or TUN mode
Before downloading

Three steps to choose the right package

The client model, operating system, and processor architecture each affect the file you need. Confirm them in the order below to reduce repeat downloads and installation failures.

01

Confirm the operating system first

Use v2rayN on desktop devices. Android users should generally choose v2rayNG, or select v2flyNG when their configuration requires it. Packages for different platforms cannot be mixed, and their file extensions differ.

02

Confirm the processor architecture next

On macOS, check Apple Silicon or Intel; on Android, choose between arm64 and universal; on Linux, check x64 or arm64. The current Windows page provides x64 packages.

03

Confirm the package format last

Windows uses a compressed installer archive, macOS uses DMG, Android uses APK, and Linux uses deb or rpm depending on the distribution. After downloading, follow the platform’s standard installation process.

Post-install configuration

Steps to take after installing the client

The package provides only the graphical client. To establish a usable connection, import a subscription or individual server configuration and choose an appropriate proxy mode.

1

Open the client and complete system permissions

On first launch, complete the network, background operation, or system proxy permissions required by your platform. Android uses the system VpnService; desktop systems may also show a confirmation when enabling TUN or changing the system proxy. Follow prompts only for the features you need.

2

Import a subscription or server configuration

Subscription links are usually provided by the service provider. Copy the complete link, add it under the client’s subscription group or subscription settings, and update it. You can also import an individual configuration through a QR code, clipboard text, or manual fields. Installing the client does not provide a connectable server by itself.

3

Choose a server and proxy mode

After updating the subscription, choose a configuration from the server list. The system proxy works well for regular desktop browsers and apps that respect system proxy settings. TUN mode covers more traffic but usually requires additional system permissions. On Android, per-app proxying can route selected apps through or around the client connection.

4

Verify the connection and save common settings

After clicking Connect, do not rely only on the client status—open a real webpage in a browser to verify access. If the client reports a connection but pages do not load, check server availability, system time, DNS settings, routing rules, and the current proxy mode in that order. Once everything works, configure startup or background operation options.

Versions and updates

How to read version information on the download page

The client name, package architecture, and file format each convey different information. Before updating, identify the client and installation path you currently use.

One client may offer multiple packages

Multiple files do not necessarily mean completely different features. The two macOS DMGs target different chips, Android’s arm64 and universal builds cover different architectures, and Linux’s deb and rpm packages match different distribution systems. The Windows desktop and WPF editions mainly differ in interface implementation and layout.

When updating, usually keep the same platform, architecture, and format as the current installation to minimize migration work. If switching from the Windows WPF edition to the desktop edition, record subscription groups, routing modes, and custom settings first, then verify each one in the new interface.

Keep configuration data and program files separate

Program updates deliver new client features, protocol support, and fixes; subscription updates refresh the server list. They are separate operations. When server information is outdated, update the subscription in the client instead of repeatedly downloading and reinstalling the package.

Before uninstalling or installing over an existing version, check whether the client offers configuration export. With multiple subscriptions, complex routing, custom DNS, or many per-app rules, keeping a re-importable copy makes recovery easier. The exact export location varies by client interface.

Download FAQs

Choosing a package and getting started

These five questions cover desktop edition selection, chip architecture, Linux formats, and essential post-install configuration.

Should Windows users choose the v2rayN desktop edition or WPF edition?

The desktop edition uses a next-generation cross-platform interface for users who want a consistent modern experience. The WPF edition is the classic Windows client, with settings and layouts closer to existing tutorials. Both manage subscriptions, the system proxy, and routing rules. For a first installation without an established workflow, start with the desktop edition.

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

Open the Apple menu in the top-left corner and select About This Mac. Choose Apple Silicon when the Chip field shows an Apple M series chip, or the Intel installer when the Processor field shows Intel. Do not identify the processor from the computer’s model name or appearance alone.

What is the difference between the arm64 and universal Android builds?

The arm64 package targets mainstream 64-bit ARM phones and is usually more compact. The universal build includes more processor architectures. Most mainstream phones released after 2015 should use arm64 first; switch to the universal build if installation fails, the device is older, or the architecture cannot be confirmed.

Should Linux users download deb or rpm?

Choose deb for Debian, Ubuntu, and derivatives; choose rpm for Fedora, RHEL, Rocky Linux, AlmaLinux, and similar distributions. Also select x64 or arm64 based on the processor. Use uname -m to check the architecture identifier.

What else is needed after downloading and installing the client?

The client does not include server information. After installation, import a working subscription link or individual server configuration, select a node, enable the appropriate proxy mode, and verify the connection in a browser. If the list is empty after importing a subscription, update it manually, then check that the link is complete and no group filters are hiding entries.