Client downloads and setup resources

V2Ray Official Latest: v2rayN and v2rayNG Client Guide

A focused guide to desktop and Android clients, subscription import steps, and VMess, VLESS, and REALITY configuration. Choose the right platform entry point, then set up the system proxy and routing.

VMess VLESS REALITY TUN Routing

Core capabilities

From protocol connections to local routing

Clients bring subscriptions, proxy protocols, system access, and routing rules together. Understand what each layer does before changing parameters; this usually makes problems easier to isolate than repeatedly switching nodes.

VMess · VLESS · REALITY

Understand protocol parameters by layer

VMess and VLESS primarily define authentication and connection structure between the client and server. TCP, WebSocket, and gRPC belong to the transport layer, while TLS and REALITY sit in the security layer. Client interfaces often place these settings in one editor, but they are not interchangeable. After importing a subscription, keep the provider's protocol, address, port, transport, and security settings intact. Adjust only the system proxy and routing options you control locally.

When manual checks are needed, review settings in this order: protocol type, transport, security layer, then additional identifiers. This quickly shows whether the subscription is incomplete or the local entry point is disabled. VLESS is not tied to one particular transport, and REALITY is not a standalone client. Understanding the layers prevents changing one label while overlooking related parameters.

Platform guide

Choose a client by operating system

Use v2rayN on desktop platforms. On Android, choose between Xray and V2Fly kernel clients. The download page also separates packages by processor architecture and installer type.

Windows

Use v2rayN to manage subscriptions, the system proxy, routing rules, and TUN. The download page offers a modern desktop interface and the classic WPF version, so you can choose based on your system and preferences.

Go to downloads

macOS

The v2rayN desktop edition uses a cross-platform interface to manage nodes, subscriptions, and the local proxy in one app. Before downloading, check whether your device uses an Apple Silicon or Intel processor.

Go to downloads

Android

v2rayNG uses the Xray kernel and suits configurations that need features such as VLESS and REALITY. v2flyNG uses the V2Fly kernel and is an alternative client within that ecosystem. The download page offers arm64 and universal packages.

Go to downloads

Linux

The v2rayN desktop edition supports common Linux desktop environments. The download page provides deb and rpm packages by processor architecture, suited to users who prefer managing subscriptions and routing through a graphical interface.

Go to downloads

Getting started

From subscription import to connection testing

Keep the first setup simple. Once you have a repeatable connection workflow, adjust auto-start, TUN, and custom routing one at a time.

  1. Install the client for your platform

    Choose v2rayN on Windows, macOS, and Linux. On Android, start with v2rayNG or choose v2flyNG based on the required kernel. Desktop packages must match the operating system and processor architecture; Android devices use either arm64 or universal packages. After installation, launch the client normally and confirm that the main window, tray entry, or system status area is accessible before importing configuration.

  2. Import the subscription and update nodes

    Add the URL in subscription management, save it, and run one manual update. Once nodes appear, leave the protocol, transport, and security settings unchanged because they are usually supplied by the subscription. Test a node and check the client log for address-resolution, authentication, or timeout messages. If the list is empty, check the subscription URL and system time before switching proxy modes repeatedly.

  3. Enable an entry point and verify routing

    On desktop, start by enabling the system proxy; on mobile, follow the system prompt to establish the connection. Test a browser and commonly used apps, and confirm that local websites, LAN devices, and work software behave as expected. Once the basic connection is stable, decide whether to use TUN, startup launch, scheduled subscription updates, or custom routing. Change one category of setting at a time so the source of each change stays clear.

Open-source ecosystem

How Project V, V2Fly, and Xray relate

Clients, kernels, and protocols are different layers. Understanding how they relate helps you choose an app and brings troubleshooting back to the component involved.

Project V

The protocol and proxy-tool ecosystem

An open-source technology ecosystem built around proxy protocols, transport methods, routing capabilities, and client tools.

V2Fly

A community fork continuing v2ray-core

It retains VMess, VLESS, routing, and multiple transport capabilities, and many clients continue to use these configuration concepts.

Xray

Extending transport and security-layer capabilities

It continues to add protocol combinations and transport features within a similar configuration model, often used with v2rayN and v2rayNG.

Ecosystem history and naming

V2Ray was first widely known as a core component of the Project V ecosystem. Over time, community development formed two major kernel families: V2Fly and Xray. Today, “V2Ray client” usually does not mean one specific program; it refers to graphical apps that manage these kernels, subscriptions, and protocol configurations. v2rayN, v2rayNG, and v2flyNG operate at the client layer, handling the interface, configuration management, and system integration, while the embedded core handles connections and routing.

This layered model also explains why different clients expose similar protocol fields. VMess, VLESS, transport methods, TLS, REALITY, and routing rules come from the kernel configuration model; clients simply present them in ways suited to desktop or mobile devices. When a connection fails, first identify whether the issue involves the client interface, system permissions, kernel startup, subscription content, or the remote connection. The app name alone is not enough to determine the cause.

Kernel families and configuration compatibility

V2Fly and Xray retain many similar configuration concepts, so VMess, VLESS, inbound, outbound, and routing rules are broadly comparable. However, their feature sets and exact fields are not always identical. A transport feature available in Xray does not mean the same configuration can be passed directly to V2Fly; subscription conversion may also omit parameters the client does not recognize.

Choose a kernel based on the protocols and security layers actually present in the subscription. When REALITY or a specific XTLS combination is required, a client using the Xray kernel is usually the better fit. If the configuration explicitly targets V2Fly, use the matching kernel. Do not convert configurations simply to gain more switches. Feature compatibility, readable logs, and reliable updates matter more than the number of options shown in the interface.

Open-source licensing and auditability

These projects are maintained by the community as open source, allowing developers to review software behavior, configuration structures, and change history. The value of open source lies in discussable technical processes, reviewable implementations, and collaboration around related configuration formats. It does not replace the user's own configuration judgment: the subscription source, server deployment, system environment, and local routing still directly affect connection results.

Clients are free to use, and the community has built up protocol and kernel documentation over time. For most users, the practical approach is to start with a stable client entry point, keep the app and kernel on the same maintenance track, and read logs and the relevant protocol documentation when problems occur. For developers, a clear configuration model and reviewable implementation make compatibility differences easier to locate and issues easier to report to the right component.

Client roles and update cycles

v2rayN targets Windows, macOS, and Linux desktops, managing subscriptions, nodes, kernels, the system proxy, and routing in one place. v2rayNG targets Android and focuses on Xray kernel capabilities. v2flyNG also targets Android, but belongs to the V2Fly kernel ecosystem. They address different platform and kernel choices, so there is no need to run multiple similar clients on the same device.

Client updates and kernel updates may follow different schedules. Interface features, system compatibility, and installation methods are maintained by the client; protocol support, transport implementation, and routing behavior depend more on the kernel. If something changes after an update, first identify which layer changed, then check whether settings were migrated. Keeping the subscription URL, common routing decisions, and local port records makes migration more orderly.

Selected frequently asked questions

What to check after installation

Most first-connection problems can be isolated in a consistent order: subscription content, system time, local entry point, node status, and routing rules.

Which should I choose, v2rayN or v2rayNG?

Choose v2rayN on Windows, macOS, and Linux desktops, and v2rayNG on Android. Their interfaces and system integration differ, but both work with subscriptions, nodes, proxy protocols, and routing rules. Do not use a desktop installer on a mobile device or apply one platform's interface instructions step by step to another.

What should I do if no nodes appear after importing a subscription?

Run one manual update first, confirm that the subscription URL was copied from beginning to end, then check the system date, time, and time zone. If the update reports no error but the list remains empty, confirm that the returned content uses a subscription format supported by the client. Before adding the subscription again, remove any accidental spaces at either end of the URL.

What is the difference between the system proxy and TUN mode?

The system proxy mainly affects apps that actively read the system proxy settings and is simple to configure for initial testing. TUN takes over a broader range of connections through a virtual network interface, but relies more on system permissions, DNS settings, and the state of other network tools. Verify the node with the system proxy first, then decide whether TUN is needed for your apps.

Why can a latency test pass while webpages still fail to load?

A latency result only shows that one type of probe received a response; it does not confirm that a complete webpage connection succeeded. Check whether the intended node is selected, the system proxy is active, the browser is using a separate proxy, DNS resolves correctly, and routing rules send the connection through the expected exit. See the getting started guide for detailed steps.