Client Downloads and Setup Guide

v2rayNG Download Hub
v2rayN Client Guide

A focused resource for client downloads across four platforms, subscription and routing setup, and Xray and V2Fly core guidance. Choose a client for your device, then follow the steps to import, connect, and verify network access.

Open the download category for your device

PLATFORMS Windows · macOS · Android · Linux
CLIENTS v2rayN · v2rayNG · v2flyNG
CORES Xray · V2Fly
MODEL Open Source · Community Maintained
01 / SUBSCRIPTION

Maintain Server Configurations with Subscription Groups

Subscription links make it easier to centrally maintain server configurations published by a service provider. When importing one, give the group a clear name and run an update so the client can parse the link and generate available configurations. When the service changes its parameters, update the existing group instead of rebuilding each entry.

The v2rayN desktop client separates subscription management, the server list, and update actions, making it suitable for handling multiple sources. v2rayNG on Android places these entry points in a side menu for a more compact workflow. On either platform, confirm that the subscription URL is complete, then check the update result and selected configuration. If the list is empty, do not repeatedly toggle the system proxy; first investigate URL access, subscription format, and the update process.

02 / ROUTING

Let Domain and Address Rules Determine Traffic Paths

Split routing continues working after a connection is established, using domains, IP addresses, ports, or rule sets to decide whether traffic goes through the proxy, connects directly, or is blocked. “Bypass LAN and mainland China addresses” is a preset routing mode suited to users who want local services and commonly direct-connected resources to keep their normal paths.

Preset modes cover most everyday needs, but more rules do not necessarily produce more accurate results. When a website behaves unexpectedly, first check which rule matched and how the address was resolved before adding custom entries. Rule order matters because an earlier match may end evaluation. Unlike simple tools with only a global on/off switch, v2rayN and v2rayNG combine domain rules, address rules, and core routing capabilities for gradual, use-case-based adjustments.

03 / CORE

Choose Xray or V2Fly Based on Protocol Support

The GUI client manages configuration and interaction; the underlying core handles connections, transport, and routing. Xray and V2Fly both come from the Project V technology ecosystem. Their basic configuration concepts are similar, but they differ in protocol extensions, feature development, and support for some fields. Choose a core based on the capabilities required by the configuration, not simply its name.

v2rayN can manage configurations for different cores on desktop systems, making it useful for testing protocol compatibility or maintaining multiple setups. v2rayNG primarily builds its Android experience around the Xray core, while v2flyNG provides an alternative based on the V2Fly core. If an imported configuration reports unsupported fields, first confirm that the client and core match, then check the protocol, transport, and TLS parameters instead of mistaking a core compatibility issue for an unavailable server.

04 / ACCESS

Distinguish System Proxy from TUN Mode

The system proxy lets compatible applications connect through the client using the operating system’s proxy settings. Its configuration is clear and its scope is easy to assess, making it suitable for browsers and desktop programs that honor system proxy settings. Before enabling it, select a working configuration and start the core. Before closing the client, restore the system proxy state so applications do not keep pointing to a stopped local port.

TUN mode uses a virtual network interface to capture a broader range of traffic, including traffic from programs that ignore system proxy settings. It also involves driver permissions, routing tables, DNS, and coordination with other networking tools. For first-time setup, verify the subscription and server with the system proxy before enabling TUN for specific applications. If network access fails afterward, check administrator permissions, the virtual interface, DNS policy, and routing conflicts in that order rather than changing everything at once.

Choose by Device

Client Downloads for Four Platforms

Use v2rayN on desktop platforms. On Android, choose between v2rayNG and v2flyNG based on core requirements. The download page also explains architectures, installation formats, and system requirements.

Windows

On Windows, choose the cross-platform v2rayN desktop edition or the classic WPF edition. Compare their interfaces and workflows on the download page.

Go to Downloads

macOS

macOS uses the cross-platform v2rayN desktop edition. Apple Silicon and Intel Macs need different builds, so check your processor type first.

Go to Downloads

Android

On Android, v2rayNG with the Xray core is the usual first choice; v2flyNG covers setups that need the V2Fly core. Recent devices use arm64.

Go to Downloads

Linux

Linux uses the cross-platform v2rayN desktop edition. Pick deb or rpm to match your distribution, plus the right x64 or arm64 build.

Go to Downloads
Getting Started

Import First, Connect Second, Verify Last

Break the initial setup into three stages and check the result after each one. This makes it easier to identify whether a problem lies in the subscription, core startup, or system integration.

View the Complete Guide
  1. 01

    Import a Subscription or Individual Configuration

    Find the subscription management section in the client, enter the complete URL and a recognizable group name, then run an update. For an individual configuration, import it from the clipboard, a QR code, or a manual form. Afterward, check that the server list contains valid entries and that protocol and transport fields are present. Do not change routing or DNS yet; keep the initial environment simple.

  2. 02

    Select a Configuration and Start the Core

    Select the configuration you want from the list, make it active, and start the client core. Desktop clients usually also require the system proxy to be enabled, while Android requires confirmation of system network access. If the core fails to start, check configuration parsing details in the client log and verify that the active core supports the protocol fields used by the subscription.

  3. 03

    Verify Access and Adjust One Item at a Time

    Start by opening a familiar website in your browser to confirm that domain resolution and basic access work, then test the destinations that require a proxy. Only after the basic connection is stable should you enable custom routing, TUN mode, or more complex DNS settings. If a change causes problems, revert the latest change and test again so multiple variables do not obscure the diagnosis.

Open-Source Ecosystem

The Relationship Between Project V, V2Fly, and Xray

Understanding the roles of the client, core, and protocol configuration helps you choose the right software and locate problems faster when subscription imports fail or connections behave unexpectedly.

Technology Ecosystem Project V

A Shared Technical Foundation for Protocol Configuration, Transport, and Routing

V2Fly

Builds on V2Ray Core Capabilities and Community Conventions

Xray

Extends Protocols and Transport Features from a Shared Foundation

Ecosystem History and Component Roles

Project V established the V2Ray configuration model and a modular approach to network processing. As the community evolved, V2Fly and Xray developed along separate maintenance paths, while still sharing many foundational concepts, including inbound, outbound, routing, transport layers, and DNS configuration. The v2rayN, v2rayNG, and v2flyNG products users interact with are GUI clients: they present settings, save subscriptions, organize server lists, and call the core. The core performs the actual protocol handshake, traffic forwarding, and rule matching.

Therefore, “the client opens” does not mean “the configuration works.” When a log says that a protocol field cannot be recognized, the issue may be core compatibility. When only some applications cannot connect, the cause is more likely the system proxy, TUN capture, or routing rules. Separating the interface layer from the core layer is more effective than repeatedly reinstalling the client.

The Role of Each Client

v2rayN targets Windows, macOS, and Linux desktop environments, offering subscription management, server lists, system proxy controls, routing settings, and multiple-core configurations for users who maintain connection setups centrally on desktop. v2rayNG targets Android, organizing its features around touch interaction and the system network workflow, and is commonly used with the Xray core. v2flyNG also targets Android but follows the V2Fly core path, serving as an alternative for specific configurations or core preferences.

When choosing a client, check the operating system first, then the core requirements. Go directly to the v2rayN category for desktop devices. If an Android configuration depends on Xray features, v2rayNG is usually the better choice; if it specifically requires V2Fly behavior, choose v2flyNG. Feature counts are not a useful way to rank the clients; matching the platform and configuration format matters more.

Open-Source Licensing and Reviewable Code

All three clients and their related cores follow a community-maintained, publicly available source-code model. License files, code changes, and release records provide traceable technical documentation. Open-source licenses define the conditions for copying, modifying, and redistributing software, while allowing developers to review network requests, configuration handling, and core integration. For everyday users, the practical benefit is that the software’s behavior can be continually examined by the technical community, with a clear basis for fixes and compatibility discussions.

Open-source status does not replace correct configuration. Subscription content, server management, and local device permissions still depend on the user’s environment. After installation, enable only the permissions that are necessary, avoid importing unexplained complex rules from untrusted text, and preserve the existing configuration before changing network settings.

Update Mechanisms and Compatibility Checks

Clients, cores, and subscription formats do not always update on the same schedule. Client updates may change the interface or system compatibility; core updates often affect protocol capabilities, transport implementations, and rule processing; subscription services may change encoding or delivered fields. When something that worked before breaks after an update, first identify which layer changed, then read the corresponding error message.

A sensible update order is to save the current configuration, update the client or core, run a basic test with the existing configuration, and only then update the subscription and inspect new fields. If the connection fails, check system time, domain resolution, TLS parameters, SNI, protocol fields, and routing match order one by one. Changing only one condition at a time makes the results more reliable.