Client selection and configuration guides

V2Ray Clients
Download and Setup Guides

Find the v2rayN desktop client, the v2rayNG Android client and configuration steps in English in one place. Start by choosing the right package, then import a subscription, select a server, enable the system proxy and configure routing rules.

Free forever Open source Xray and V2Fly kernel family English documentation

Interface preview: manage subscription groups, routing rules and the system proxy switch in one window.

Choose by device

Four platforms with dedicated clients

Confirm your device and processor architecture first, then open the download page and choose the matching package. Use v2rayN on desktop; on Android, start with v2rayNG and choose v2flyNG when you need its kernel.

Windows

Desktop pick

Use v2rayN to manage subscriptions, servers, the system proxy and routing rules. The download page also offers a modern desktop interface and the classic WPF interface, so choose based on your system and workflow.

Go to downloads

macOS

v2rayN

Choose an Apple Silicon or Intel package according to your device. After installation, start with subscription groups, then decide whether to enable the system proxy and minimize on startup.

Go to downloads

Android

v2rayNG pick

For most devices, choose the arm64 package for v2rayNG; use the universal build only when you cannot confirm the architecture. Choose v2flyNG when you need V2Fly kernel behavior or already have matching configuration.

Go to downloads

Linux

v2rayN

Choose deb or rpm according to your distribution's package format, and distinguish between x64 and arm64 builds. After installation, import the subscription first, then check that the desktop proxy settings match the client's mode.

Go to downloads
Configure by task

Subscription management, routing and connection control

Do not change every option at once. Start with a working basic setup, then add rules one at a time for your device, network and apps. This also makes changes easier to trace when something goes wrong.

Subscription management

Keep server updates organized in groups

Copy the subscription URL provided by your service provider, create a subscription group in the client and run an update. Name each group by purpose or source so multiple URLs do not get mixed into one list. After updating, confirm that servers appear before selecting one for a connection test. v2rayN is well suited to managing multiple subscription groups on desktop; v2rayNG and v2flyNG keep updates, filtering and server selection together in their mobile interfaces. Updating a subscription only syncs configuration—it does not automatically determine which route best fits your current network.

Primary subscriptionEnabled
Backup subscriptionManual update
Update subscription groupRun as needed
Getting Started

From installation to connection in three steps

On your first run, configure only what is necessary. Once the basic connection works, move on to routing, custom DNS, TUN mode and multi-subscription filtering.

  1. 01

    Choose a client and install it

    Use v2rayN on Windows, macOS and Linux; use v2rayNG on Android, or v2flyNG when you need the V2Fly kernel. Before downloading, confirm the operating system, processor architecture and package format. After the first launch, get familiar with subscriptions, the server list, logs and the system proxy entry points before changing advanced options.

  2. 02

    Import a subscription and choose a server

    Add the URL in subscription management, save it and run an update. Confirm that the server list is populated, then select the current server and test the connection. For multiple subscriptions, create a separate group for each source and use filters to control what is shown; this is easier to maintain than one large list.

  3. 03

    Start the core and verify app connectivity

    Start the client core, enable the system proxy if needed, then access the network through the target app. If the connection fails, check the current server, proxy switch, the app's own proxy settings and the runtime log in order. Change one variable at a time and record the before-and-after results to shorten troubleshooting.

Open Source Ecosystem

The relationship between Project V, V2Fly and Xray

Clients, cores and protocols operate at different layers. Separate their roles first, then choose tools based on the platform and node configuration to avoid confusing interface features with core capabilities.

From Project V to the core family

Project V is an open-source technology ecosystem built around proxy protocols, transport methods and routing. Early V2Ray introduced a unified configuration model, inbound and outbound concepts, and routing based on domain and IP matching. As community maintenance evolved, V2Fly continued maintaining v2ray-core while advancing compatibility, protocol implementations and documentation; Xray developed from similar configuration ideas into an independent core branch with new protocol capabilities and transport options.

The two core families share many fundamentals, including inbound, outbound, routing, DNS and transport-layer configuration, but not every field or feature is interchangeable. When you receive a node configuration, confirm the protocol type and server requirements before checking whether the client's bundled core supports it. The client name alone is not enough: the graphical client imports, edits and controls settings, while the core it invokes performs the connection.

What the three clients do

v2rayN is a desktop graphical client for Windows, macOS and Linux, suited to managing multiple subscriptions, complex routing and the system proxy. It brings server lists, subscription groups, core controls, testing tools and logs into one desktop interface for users who maintain configurations over time. v2rayNG targets Android and usually works with the Xray core, with a mobile-focused flow for importing subscriptions, selecting a server, starting a connection and viewing logs.

v2flyNG also targets Android but uses the V2Fly core family. It suits users with existing V2Fly configurations, a need for matching core behavior or a desire to compare compatibility between the two core families. v2rayNG and v2flyNG differ in more than interface styling; choose based on the node protocol, configuration fields and maintenance needs. When a provider specifies a client or core, follow that guidance first.

Open-source licensing and community updates

These projects collaborate through open source, with releases coming from software projects under ongoing maintenance. Open-source licenses define the boundaries for using, modifying and redistributing code; community contributions cover bug fixes, protocol support, platform compatibility and documentation. For most users, the practical checks are whether the client is still maintained, whether its core supports the current node protocol, whether the package matches the device and whether configuration behavior changed after an update.

Client and core release cycles may differ. Client updates can change the interface, subscription handling or system proxy logic, while core updates are more likely to affect protocol, transport and routing implementation. When compatibility problems appear, first determine whether they involve the client interface, core startup, subscription content or remote service, then decide whether to update, roll back configuration or adjust rules. Do not replace the client, core and entire configuration at the same time without reading the change notes.

Featured FAQs

Start with common configuration issues, then visit the help center for complete, category-based guidance.

No servers appear after a subscription update

Confirm that the subscription URL was saved in full, then run an update manually. If the list is still empty, check the group filters, device time and the subscription response.

View subscription issues →

Apps still cannot connect after enabling the system proxy

Check that the client core is running and that the target app reads the system proxy. Apps with independent network settings require a separate check of their proxy options.

View connection issues →

Low latency but an unstable connection

Latency is only one selection signal. Also consider route load, protocol handshakes, target region and real transfer performance, using a real connection test to compare results.

Understand latency and nodes →

Can Xray and V2Fly configurations be used interchangeably

Their basic structures are similar, but protocol support and some fields differ. Check each item against the server requirements and core documentation instead of simply replacing names.

Compare the clients →