Client releases and English documentation

V2Ray Client Hub
Downloads & Setup Guides

Explore three open-source clients, four platform downloads, and English setup documentation in one place. Choose a client for your device first, then import a subscription and configure system proxy and routing.

04 Supported platforms 03 GUI clients Xray · V2Fly Core families OPEN SOURCE Open-source ecosystem
Site updates

From client downloads to connection troubleshooting

Browse guidance by task stage. Choose a topic on the left to see its scope, recommended sequence, and relevant documentation on the right.

Choose a client based on your operating system

For desktop devices, start with v2rayN. On Windows, choose between the modern desktop edition and the classic edition; on macOS, select an installer for your processor architecture; on Linux, use the entry matching your distribution’s package format. On Android, v2rayNG is the primary choice and uses the Xray core; choose v2flyNG when you need the V2Fly core. Keeping the operating system, client, and core separate helps prevent downloading the wrong file based on similar names. The download center also explains how to identify your architecture and what is required before installation, making it useful for first-time installs and device changes.

Platform links take you to the appropriate download panel rather than distributing files directly from the homepage. On the download page, review system requirements, installer differences, and processor details. This helps avoid choosing a desktop file on a mobile device or the wrong architecture on a desktop.

CLIENTS · v2rayN / v2rayNG / v2flyNG · WINDOWS / macOS / ANDROID / LINUX

Four platform downloads

Open the download panel for your device

The homepage does not list individual installer files. Choose an operating system first; the download page then explains the client, processor architecture, and package format.

Windows

v2rayN is the primary choice for Windows desktops. The download page explains when to use the modern cross-platform desktop interface versus the classic WPF interface. Before installing, confirm the Windows version and runtime requirements, then choose the interface that fits your workflow. If migrating an old setup, back up the subscription URL and custom routing first, then restore them item by item in the new client.

Go to downloads

macOS

macOS uses the v2rayN desktop client. Installers are separated for Apple Silicon and Intel processors, so the device’s appearance alone is not enough to identify the correct file. Check the chip or processor name in System Information, then open the matching download entry. After installation, grant any required network permissions and confirm that the client’s menu bar status matches the system proxy status.

Go to downloads

Android

The primary Android option is v2rayNG, which uses the Xray core; v2flyNG is the alternative client for the V2Fly core. Most recent devices can start by checking the arm64 installer. If the architecture is unclear, review the universal-build notes. After installation, allow the client to establish a local VPN connection and adjust background permissions according to the system’s policies to prevent the connection from being reclaimed after the screen locks.

Go to downloads

Linux

Linux desktops use v2rayN, with deb or rpm packages selected according to the distribution. Debian, Ubuntu, and derivatives generally use deb; Fedora, RHEL, and related derivatives generally use rpm. Processor architecture still needs to be confirmed separately. If the system proxy does not take effect after installation, check the proxy settings of the current desktop environment instead of looking only at the client connection status.

Go to downloads
Quick-start preview

Three steps: download, import, connect

Use this workflow for your first connection. The complete guide covers platform-specific menus, system permissions, and troubleshooting steps separately.

  1. Choose a client and install it

    Identify your operating system first, then choose the matching client. Windows, macOS, and Linux use v2rayN; Android primarily uses v2rayNG, while v2flyNG is for the V2Fly core. Desktop installers also require a processor architecture or package format selection. After installation, launch the client and confirm that the main window, tray icon, or status area opens normally before importing a subscription.

    If the first launch prompts for permissions, follow the system instructions to allow network connections and system proxy operations. Do not copy the entire runtime directory from an old device before installation is complete: paths, permissions, and runtime environments differ across systems. The key items worth preserving are usually the subscription URL, custom routing approach, and a small amount of manual configuration.

  2. Create a subscription group and update it

    Copy a valid subscription URL and add a new group in the client’s subscription manager. Give the group a recognizable name, save it, and run a subscription update. Selectable configurations appear only after the update completes. If the list is still empty, first confirm that you are viewing the newly created group, then check filters, URL completeness, and messages in the update log.

    When you have many configurations, create groups by purpose, but avoid adding the same URL repeatedly to different groups. After updating, select one configuration for the current connection and verify that basic details such as the protocol, address, and port are complete. The provider maintains the subscription content, while the client reads and converts it; if fields are incompatible, first confirm that the client and core type meet the subscription requirements.

  3. Start the connection and verify proxy coverage

    Select a configuration and start the client, then choose system proxy, global proxy, or per-app mode according to your device. On desktop, check both the client’s runtime status and the system proxy status; on Android, confirm that the system allows a local VPN connection. Once connected, run a basic test in a browser before checking other apps, so an app-specific proxy setting is not mistaken for a client-wide failure.

    If the browser works but other apps do not, check whether each app follows the system proxy, has independent network settings enabled, and is covered by the current routing rules. If no apps can connect, return to the client logs and investigate configuration startup, port usage, DNS resolution, and remote responses in that order. Change one setting at a time and verify the result before moving on.

Open-source ecosystem

How Project V, V2Fly, and Xray relate

Clients, cores, and protocols are separate layers. Keeping them distinct makes installer selection and configuration troubleshooting more straightforward.

Project V is the source of the protocol and tooling ecosystem

Project V established an open-source ecosystem centered on the V2Ray configuration model, proxy protocols, transport methods, and routing capabilities. The GUI clients users interact with are not the entire system; they provide an interface for managing configuration, core processes, and system proxy settings. Clients handle subscription imports, configuration selection, log viewing, and system proxy switching, while the core usually handles connection establishment, protocol processing, routing matches, and DNS queries.

Similar interface names do not necessarily mean the same core is being used, and using the same core does not mean every client has identical menus. When troubleshooting, record the client name and platform first, then confirm the core family and configuration protocol. Simply saying “V2Ray cannot connect” is usually not enough to identify where the failure occurs.

V2Fly and Xray are related core families

V2Fly continues to maintain core implementations, configuration structures, and related components from the V2Ray ecosystem. Xray developed along similar configuration lines while adding its own supported protocols, security layers, and transport capabilities. They share many concepts, including inbounds, outbounds, routing, DNS, policies, and logs, but specific fields, available protocols, and default behavior may differ. Before using a configuration example, confirm which core it targets; do not apply it solely because the file extension matches.

v2rayNG primarily works with the Xray core, while v2flyNG corresponds to the V2Fly core. On desktop, v2rayN can provide the client interface and configuration management, with available capabilities depending on the selected core and current configuration. The documentation clearly identifies core coverage: shared concepts appear in the fundamentals, while differing fields are explained separately in the configuration guide.

All three clients follow open-source project practices

v2rayN, v2rayNG, and v2flyNG are maintained through public code, release records, and license files. GUI clients turn core parameters, subscription content, and system network settings into an operable interface. Desktop clients emphasize multiple windows, tray status, system proxy controls, and configuration editing; the Android clients focus on the local VPN interface, per-app proxying, background operation, and mobile network changes.

Open-source development means feature changes can be understood through release notes, documentation, and code evolution, but projects do not need to release on the same schedule. A client update may change the interface or subscription handling, while a core update may add protocol capabilities or alter connection behavior. After an upgrade changes settings, read the relevant client’s release notes before deciding whether to migrate the old configuration.

Update components according to needs and compatibility

Routine updates do not require replacing every component at once. Update the client when release notes identify a compatibility requirement, protocol-support change, or known issue fix. Before updating, record the client name, configuration groups, custom routes, and system proxy mode. Afterward, load the existing configuration, verify a basic connection, and then restore complex rules. This sequence helps distinguish installation issues, configuration issues, and core behavior changes.

The service provider updates subscriptions; each project maintains its own client and core; this site organizes download links and English operating guides. These three update sources are independent. A change in subscription content does not require reinstalling the client, and a changed client interface does not mean the subscription has stopped working. Identify which layer changed first, then use the relevant documentation.

Latest documentation

Protocols, installation, and troubleshooting

Articles are organized around practical tasks. Protocol guides explain how to choose; installation guides cover first-time setup; troubleshooting guides provide a step-by-step checking order.

VMess vs. VLESS: What’s the difference, and which should ordinary users choose?

This guide explains the practical differences between VMess and VLESS from three angles: encryption, transport overhead, and server requirements. Most users do not need to rewrite protocol parameters manually; follow the subscription information and server configuration. If manual selection is necessary, consider the client’s supported range and security-layer requirements.

Read the article →

v2rayNG battery drain: Troubleshooting background keep-alive and power-saving settings

Check per-app proxy coverage, connection heartbeats, Mux settings, the system’s battery-optimization allowlist, and vendor background restrictions one by one. The article distinguishes continuous client operation, frequent reconnects, and repeated system wake-ups to help determine whether battery use comes from network activity, configuration policy, or background management.

Read the article →

VMess, VLESS, Trojan, and Shadowsocks compared: How to choose among four proxy protocols

This comparison organizes four protocols by handshake method, transport overhead, server requirements, and client support. It is for users who need to understand subscription details or deployment parameters, emphasizing that the protocol, transport, and security layers are separate choices—not one setting—and that no single metric fits every scenario.

Read the article →