v2rayN for Windows
Current version 7.24.1
Choose v2rayN, v2rayNG, or v2flyNG for your operating system. The page lists desktop editions, processor architectures, package formats, and pre-installation checks; verify your device details before downloading.
After switching platforms, only graphical clients available for that system are shown. The primary button on each card targets a common architecture or recommended edition; secondary links cover other architectures and compatibility options.
Windows offers the Desktop and classic WPF editions. Both manage subscriptions, server settings, routing rules, and the system proxy; the main differences are interface technology and workflow.
Current version 7.24.1
| Check | Recommendation | Details |
|---|---|---|
| Processor architecture | x64 | The Windows installers on this page target 64-bit desktop systems. Check the system type under Settings → System → About. |
| Interface edition | Choose Desktop for a first installation | Desktop provides a modern cross-platform UI; WPF is the classic, stable interface. If you already have a configuration, choose the edition that matches your usual workflow. |
| Upgrade preparation | Exit the old process and back up your configuration | Close the running v2rayN before installation and save important settings, including subscriptions, routing, DNS, and local ports. |
macOS installers are provided for Apple Silicon and Intel processors. The client features are the same, but choosing the wrong architecture may prevent installation or startup.
Current version 7.24.1
| System information shows | Installer to choose | What to do |
|---|---|---|
| Chip: Apple M-series | Apple Silicon | Open About This Mac from the system menu, confirm the model in the Chip field, and download the matching arm64 version. |
| Processor: Intel | Intel | Choose the x64 installer. The device year can provide a clue, but the processor field in system information is authoritative. |
| Existing older version | Keep the same architecture | Exit the client process from the menu bar before upgrading, and back up your subscriptions, routing rules, and DNS configuration. |
v2rayNG is the default choice for Android; choose v2flyNG when a v2fly-core client is required. Each client offers arm64 and universal installers, and the card order reflects the recommended choice.
Xray core · Current version 2.2.6
v2rayNG supports subscription import, QR code scanning, per-app proxying, routing settings, and connection logs. Most mainstream phones released after 2015 can start with the arm64 package; use the universal build when the device architecture is unknown.
v2fly core · Current version 1.10.31
v2flyNG is intended for Android setups that require the v2fly core. Its basic installation and architecture selection process is the same as v2rayNG. The two clients do not need to run together; keep whichever one matches your configuration needs.
| Device situation | Recommended choice | Why |
|---|---|---|
| Mainstream phones released after 2015 | arm64 | Most recent devices use 64-bit ARM processors, making the arm64 package the straightforward choice. |
| Architecture cannot be confirmed | Universal edition | Look for the ABI in a device information tool or system information page; use the universal package when it cannot be confirmed. |
| An equivalent client is already installed | Back up before upgrading | Record subscription URLs, per-app scope, and routing settings, then disconnect the current client before installing. |
Linux packages are available as deb and rpm for both x64 and arm64. Identify your distribution's package system first, then use a system command to confirm the processor architecture.
Current version 7.24.1
| System or command output | Choose | Details |
|---|---|---|
| Debian, Ubuntu, and derivatives | deb | Open the deb file with the system package installer; after installation, launch the client from the desktop application menu. |
| Fedora and RHEL-based distributions | rpm | Install the rpm file with your distribution's package manager and follow the system prompts to resolve dependencies. |
uname -m shows x86_64 |
x64 | Choose a package marked amd64 or x86_64; here, both labels refer to the same desktop architecture class. |
uname -m shows aarch64 |
arm64 | Choose a package marked arm64 or aarch64, keeping the deb or rpm system consistent with your distribution. |
The installer contains the client program only. After installation, import a valid configuration, choose a routing method, start the connection, and verify that the system proxy works as expected.
Confirm whether the device runs Windows, macOS, Android, or Linux. For desktop systems, also check x64, Intel, or arm64; Linux additionally requires choosing deb or rpm. A wrong architecture commonly causes the installer to refuse execution, the app to fail to start, or the package manager to report an incompatible format.
When upgrading an existing client, first stop active connections and background processes. Preserve subscription URLs, manually added servers, custom routes, DNS settings, local listening ports, and per-app scope. Configuration directories may differ between major versions, so a backup makes post-migration checks easier.
Use the appropriate interface edition on Windows; open the DMG and follow the system guide on macOS; open the matching architecture installer on Android; and use the distribution package manager for deb or rpm on Linux. When a system permission prompt appears, verify the app name and the action being performed.
After opening the client, import configuration through a subscription link, QR code, or manual entry. Importing does not establish a connection by itself. Check that server entries appear, the routing mode fits your needs, the local listening port is free, and DNS uses the expected method.
Select the server configuration to use, start the client core, and enable the system proxy or app connection for your platform. If the connection fails, first inspect the explicit error in the client status and logs rather than changing several settings at once. Check subscriptions, ports, time, DNS, and routing in that order to isolate the problem.
The documentation covers subscription import, connection modes, system proxy, routing rules, and basic Troubleshooting.
The client names are similar, but their target platforms and core implementations differ. Choose your operating system first, then follow your configuration provider's requirements; there is no need to install every client.
v2rayN is the primary graphical client for desktop platforms, with subscription management, server editing, routing rules, DNS, system proxy controls, and log viewing. Windows users can choose between the modern Desktop and classic WPF interfaces; macOS and Linux users must also verify the chip architecture or package format.
v2rayNG is the preferred Android client for managing configurations through subscriptions, QR codes, or manual parameters. It supports per-app proxying and common mobile connection methods. Most recent devices can use arm64; switch to the universal build only when the architecture is unknown or installation compatibility fails.
v2flyNG is the alternative Android client for configurations that specifically require the v2fly core. Its installers likewise come in arm64 and universal editions. If the provider does not specify a core implementation, start with v2rayNG; when switching, stop the original client's connection so both apps do not control the system connection at once.
These questions cover the most common version decisions before downloading. For configuration and connection issues, continue with the user documentation and configuration field reference.
The Desktop edition uses a modern cross-platform interface for first-time installations and users who want the current desktop experience; the classic WPF edition retains the familiar Windows interface and workflow. Both support subscription management, routing configuration, and system proxy settings. If you are used to WPF, keep using the classic edition; for a new installation, start with Desktop.
Open About This Mac from the system menu and check the Chip or Processor field. Choose the Apple Silicon installer for an Apple M-series chip and the Intel installer for an Intel processor. The device year is only a secondary clue and should not replace the chip information shown by the system.
Most mainstream Android phones released after 2015 use arm64, so start with the arm64 installer. Use the universal build when the architecture is unknown, the device is older, or the arm64 package cannot be installed. Although the universal build supports more devices, check the processor ABI in device information when possible.
Debian, Ubuntu, and derivatives generally use deb; Fedora, RHEL, Rocky Linux, AlmaLinux, and similar distributions generally use rpm. After choosing the format, run uname -m to check the architecture: choose x64 for x86_64 and arm64 for aarch64.
Usually not. Exit the client before upgrading and back up important settings such as subscriptions, routing, and DNS. After installation, confirm that the existing configuration loaded correctly before starting a connection. Across major versions, also review the configuration directory, system proxy mode, and local listening port.
Verify that the operating system, processor architecture, and package format match, then confirm that older processes have exited and system permissions allow startup. Windows users should verify the selected interface edition; macOS users should check the chip; Linux users should check both package format and architecture; Android users should confirm the installer ABI. If it still fails, record the full error and troubleshoot it step by step using the documentation.