Windows / macOS / Android / Linux

V2Ray client downloads

Choose a package by operating system and processor architecture. Use v2rayN on desktop platforms, and choose between v2rayNG and v2flyNG on Android. Download URLs and version details are updated from the same-origin release list.

Platform packages

Choose a package by platform

After switching platforms, the download cards, system requirements, and installation notes update together. The platform anchor in the URL can be saved or shared to preserve the current selection.

Desktop platforms

Windows:v2rayN

Windows offers Desktop and WPF interface versions. Desktop is the next-generation cross-platform UI for users who want a consistent interface and future cross-platform features. WPF is the classic, stable version with a settings layout closer to the traditional v2rayN experience.

Selection guide

Package selection order

When several download options are available, decide in this order: platform, client, architecture, then package format. Each step answers one question and reduces mistakes caused by similar filenames.

  1. Determine the operating system first

    Windows, macOS, Android, and Linux use different package formats and cannot be mixed across platforms. If your browser downloads contain a package for another device, return to the corresponding platform tab instead of copying the old file.

  2. Then choose the client

    Use v2rayN on desktop platforms. On Android, v2rayNG is the preferred choice; choose v2flyNG when you need the v2fly core. The names are similar, but configuration storage, interface structure, and some feature locations differ.

  3. Check the processor architecture

    x64, arm64, and universal describe the machine code included in a package. On macOS, check the chip in System Information; on Android, use a device information tool or the manufacturer’s specifications; on Linux, check the architecture in system settings or terminal system information.

  4. Match the package format last

    This mainly matters on Linux. deb and rpm belong to different package-management systems, so matching the processor architecture does not make the package format interchangeable. With the right format, the system package manager can resolve dependencies and upgrade paths.

After download

Configuration after downloading

The client is only a graphical configuration tool. After installation, import a subscription or individual share link, update the node list, select a node, and configure the system proxy or traffic-capture mode for the platform. A clear sequence makes troubleshooting easier than repeatedly toggling switches.

01

Install and launch for the first time

Complete the installation as prompted. On the first launch, pay attention to permissions for network access, the system proxy, or background operation; these directly affect whether the client can handle the target traffic.

02

Import a subscription or share link

A subscription URL points to an updatable node list, while a single vmess:// or vless:// link represents one configuration. After importing, run a subscription update and confirm that the list has been added to the client.

03

Choose a node and routing mode

Select a node first, then choose routing rules for your use case. When troubleshooting a connection, temporarily use simpler routing settings. Once the basic connection works, restore custom split-routing rules step by step.

04

Verify the system proxy and DNS

After enabling the system proxy, reconnect your browser. If some applications still use an old connection, quit them completely and reopen them. For DNS resolution problems, check for conflicts among the client DNS, system DNS, and routing rules.

Installation notes

Upgrades, migration, and version checks

Version updates may change the interface, core compatibility, protocol fields, or system support. Record the existing configuration structure before upgrading, then verify the subscription, routing, and system proxy one by one.

Preserve essential configuration

A subscription URL can retrieve the node list again, but custom routing, DNS, subscription groups, ports, and startup behavior may be stored only on the local device. Before upgrading or changing clients, record these items and confirm where the old configuration is stored.

If you save only node names and overlook routing rules, migration may leave you with a connection that works for the node but behaves differently in some applications.

Do not mix architectures

A single release may include x64, arm64, and universal packages. Matching version numbers only mean the releases share a publication batch; they do not mean every file supports every processor. If the system says the program cannot start or install, recheck the architecture first.

Linux also requires checking deb versus rpm; on macOS, focus on the chip field.

Verify in layers after upgrading

First confirm that the client launches, then update the subscription, test the node connection, and finally enable the system proxy and custom routing. Verifying one layer at a time helps distinguish startup, configuration, and network problems.

If an old rule contains fields that have changed, save it again using the current version’s interface instead of repeatedly overwriting several historical versions.

Download FAQ

Common download and installation issues

These questions cover versions, architectures, package formats, and configuration after installation. For connection timeouts, DNS problems, or a system proxy that does not work, continue to the Troubleshooting page and check by symptom.

Should Windows users choose the Desktop or WPF version?

Start with the Desktop version. It uses a next-generation cross-platform interface. Choose WPF if you prefer the classic Windows interface, an established workflow, or the traditional settings layout. Both are v2rayN, and their core subscription import and routing workflows are largely the same.

How can you tell whether a Mac uses Apple Silicon or Intel?

Open System Information or About This Mac and check the chip or processor field. Choose Apple Silicon when an Apple M-series chip is shown, and Intel when Intel is listed. A mismatched architecture may prevent the installer from launching or require additional compatibility steps.

Should Android users download arm64 or the universal version?

Most mainstream Android phones released after 2015 should use arm64 first because the file is smaller. Choose the universal version if the processor architecture is unknown, the device is older, or the arm64 package will not install. The universal version supports more devices but is usually larger.

Should Linux users choose deb or rpm?

Choose deb for Debian, Ubuntu, and derivatives; choose rpm for Fedora, Rocky Linux, AlmaLinux, and other rpm-based distributions. Also check the processor architecture: common desktop computers use x64, while arm64 devices need the matching arm64 package.

Why can’t I access the network after installation?

Installing the client does not activate a proxy configuration by itself. Import a working subscription or share link, update the node list, select a node, and enable the system proxy or the appropriate traffic-capture mode for your use case. If it still fails, check the system time, DNS, routing rules, and node status.