CLIENT PACKAGES

V2Ray Client Download and Package Selection

Choose a client by operating system, processor architecture, and package format. Use v2rayN on desktop platforms; on Android, choose between v2rayNG and v2flyNG based on the kernel ecosystem.

Free forever Open source Install guides for four platforms Version list updated dynamically
PLATFORM

Choose a client by platform

After switching platforms, only the clients and packages for the selected system are shown. Version text and download URLs are updated from the same version list; the page keeps a direct path to the current version as a static entry point.

v2rayN
Recommended Windows desktop client

v2rayN

A graphical Windows client with subscription management, node switching, routing rules, system proxy, and TUN mode. Current version: 7.24.1.

Recommended entry point

Desktop edition

A next-generation cross-platform UI. Choose this edition first for a new installation, the newer interface, or a workflow closer to other desktop systems.

File v2rayN-Desktop-Setup-x64-7.24.1.zip
Download Desktop edition
Classic interface

WPF edition

The classic Windows interface, with a stable menu structure and familiar workflow. Choose it if you already use WPF or want to keep an established setup routine.

File v2rayN-Setup-x64-7.24.1.zip
Download WPF edition

Windows selection guide

Item Recommendation How to check
Processor architecture x64 Check the system type under “Settings → System → About”.
Interface edition Choose Desktop for first-time use Choose WPF when you need the classic interface and familiar workflow.
Before installation Exit any older version currently running Export or record your existing subscription groups and custom routing settings first.
PACKAGE GUIDE

Package format and architecture

The file extension indicates the installation method, while the processor architecture determines whether the program can run on the device. Check the system, format, and architecture together.

01

Identify the operating system first

Windows corresponds to the v2rayN desktop build; macOS uses DMG; Android uses APK; Linux uses deb or rpm according to the distribution. Packages for different systems cannot be installed interchangeably, and similar names do not imply format compatibility.

If the device runs a virtual machine or compatibility layer, use the environment where the client will actually be installed. For example, to install the client in a Windows virtual machine on a Linux host, choose the matching version in the Windows section.

02

Then identify the processor architecture

x64 is common on Intel and AMD desktop processors; arm64 is common on Apple M-series chips, some Linux ARM devices, and most modern Android phones. The architecture directly affects whether the program can launch, so do not judge only by file size or release date.

Windows shows “System type” in System Information; macOS shows the chip under About This Mac; Linux can run uname -m; on Android, choose the universal build when uncertain. amd64 and x86_64 generally both refer to the 64-bit x86 platform, while aarch64 corresponds to arm64.

03

Finally, confirm the client model

v2rayN is for Windows, macOS, and Linux desktop systems. Android offers v2rayNG and v2flyNG: the former uses the Xray core, while the latter uses the V2Fly core. For general use, follow the page’s recommendation order; adjust only when the subscription provider specifies a core requirement.

The client model, core family, and node protocol are separate layers. A single client can handle multiple protocols. If a subscription includes VMess, VLESS, Trojan, or Shadowsocks nodes, you do not need to install a separate client for each protocol; first confirm that the current client version supports the specific configuration fields provided by the subscription.

AFTER INSTALL

Configuration order after installation

The client program and server configuration are independent. After installation, import a subscription, update the nodes, choose a connection mode, and verify the proxy status.

  1. Import an existing subscription

    Copy the complete subscription URL and add it under the client’s subscription group or subscription settings. The label distinguishes multiple subscriptions without changing the server configuration. Save it, then run one manual update to confirm that the node list is generated correctly.

    If the list is empty after updating, check that the URL was copied in full, contains no extra spaces, and is still valid. Do not repeatedly add the same URL to one group, or duplicate nodes will make maintenance harder.

  2. Choose a node and run a real connection test

    Once the node list appears, run a real connection latency test first. It performs a proxy handshake and better reflects the actual connection process. A regular network ping only shows whether the target network is reachable; it cannot fully verify the protocol handshake, transport layer, or server configuration.

    Latency is not the only criterion. Whether the node connects, the target site is reachable, and the connection remains stable over time matter just as much. A download speed test uses real traffic and should be run only when bandwidth information is needed.

  3. Set up system proxy or TUN mode

    For ordinary browsers and programs that follow system proxy settings, start with system proxy mode. For programs that ignore system proxy settings or scenarios requiring broader traffic capture, configure TUN mode only after understanding its routing effects. Do not switch between both modes repeatedly without understanding the rules.

    Before enabling TUN, confirm that the client has the required system permissions and check DNS, LAN bypass, and routing rules. When enterprise networks, virtual machines, containers, or other network tools run at the same time, routing tables may interact; isolate conflicts one by one.

  4. Verify that the connection is working

    After connecting, check the client log for handshake, resolution, or connection errors, then visit the actual target page in a browser. If only one app fails, check whether it reads system proxy settings. If every app fails, check the subscription, node, connection mode, DNS, and system time in that order.

    Set up automatic subscription updates only after verification is complete. A sensible interval reduces repeated requests while keeping node changes synchronized on schedule. Name and group multiple subscriptions separately so update failures can be traced to the correct URL.

Read the complete Getting Started guide Read the advanced configuration handbook
DOWNLOAD FAQ

Common download and installation questions

These questions cover version selection, processor architecture, package formats, and first-time setup. For connection issues, continue to the FAQ page and troubleshoot by symptom.

Should Windows users download the v2rayN Desktop or WPF edition?

The Desktop edition uses a modern cross-platform interface and suits new installations or users who want the newer UI. The WPF edition keeps the classic Windows interface, with a stable menu structure and familiar workflow. Both are for Windows; “Desktop” in the filename does not mean a separate server program. First-time users can start with Desktop, while those accustomed to WPF can continue using it.

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

Open About This Mac or System Information and check the Chip or Processor field. Choose Apple Silicon arm64 when an Apple M-series chip is shown, or x64 when an Intel processor is listed. Device appearance is not a reliable indicator, and the same product line may include different architectures; follow the system information.

Should Android users choose arm64 or universal?

Most mainstream Android phones released after 2015 use arm64, so choose the arm64 package first. If the architecture is unknown or installation reports that the package is incompatible, switch to the universal build. Universal covers more devices but does not provide more features; both packages are the same client version.

Should Linux users download deb or rpm?

Debian, Ubuntu, and derivatives typically use deb; Fedora, Rocky Linux, AlmaLinux, and other RPM-based distributions use rpm. After identifying the format, check the processor architecture: x86_64 usually means x64, while aarch64 usually means arm64. The desktop environment name is not a reliable indicator of package format.

Why are there no usable nodes after installing the client?

The installer contains only the client itself; it does not generate server configuration automatically. Import an existing subscription URL or standalone node configuration, then update the subscription. When the node list appears, select a node, run a real connection latency test, and set system proxy or another connection mode. If the list remains empty, first check that the subscription URL is complete and still valid.

Subscription update failures, connection timeouts, DNS errors, and TUN startup failures must be diagnosed individually using the logs and the specific error.

View the complete FAQ
Download v2rayN