V2Ray GUI clients · Desktop and Android

v2rayN Client Downloads & Setup Guide

Organize sources with subscription groups, choose where traffic goes with routing, and look up settings from client installation to TUN setup.

  • Open source under GPL-3.0
  • Xray-core
  • sing-box available

Illustrative client interface; menu and field names may vary by platform and release.

v2rayN settings andtraffic entry points

Manage configuration sources first, then distinguish between system proxy, routing and the virtual network interface. Each layer determines where configuration comes from, how traffic reaches the core and which outbound route it takes.

Store subscriptions and update settings by source

Subscription groups keep an address, alias and update policy together, making it easier to manage multiple configuration sources. Enter an address in Subscription Group Settings, update it, then select a server from the relevant group. The auto-update interval is measured in minutes; even with updates enabled, the client must be able to reach the subscription address. Grouping makes it easier to find a source that has stopped working and control which sources are updated, rather than mixing everything into one list. Subscription contents are determined by the provider. If an update fails, check the address and certificate errors first instead of repeatedly deleting existing configurations.

Subscription Groups → Subscription Group Settings

Subscription Group Settings

Alias
Identify the configuration source
Optional address (url)
Subscription URL
Enable updates
✓
Auto-update interval (minutes)
Set as needed

A request typically follows this path: an app opens a connection, the system proxy or virtual network interface sends traffic to a local entry point, the core evaluates the rules, and then selects a direct or proxy outbound. Subscription groups are not part of this live traffic path; they provide server configurations. Once these roles are clear, updating subscriptions, changing the system proxy and adjusting routing are no longer mistaken for interchangeable actions.

For your first setup, keep the defaults. Get one repeatable connection working before adding auto-updates, routing exceptions or TUN. If you need to edit JSON, start with the configuration reference for inbounds, outbounds and routing. For GUI setup, follow the Getting Started guide.

Choose a platform for yourclient download

Choose v2rayN for desktop. On Android, pick v2rayNG or v2flyNG based on the core you need. Check your operating system and processor architecture, then download the matching package.

Windows

v2rayN offers the Desktop edition and the classic WPF edition. Desktop uses a cross-platform interface, while WPF is designed for the Windows desktop. Menus may appear in different places, so use the setting names in the guide rather than the window layout to find your way around.

For a new installation, choose a compatible package as described on the download page. If the device already has a configuration, back it up before deciding whether to switch interface editions. Running two instances at once can cause local port conflicts that may be mistaken for a failed subscription.

Go to downloads Windows client

macOS

Choose the v2rayN cross-platform desktop edition. Apple Silicon and Intel processors require different packages; check About This Mac to identify your chip. Once you have the right package, follow the download page instructions to install and launch it for the first time.

System proxy and TUN use different permission paths. Verify the connection with system proxy first, then handle virtual network interface permissions. When moving desktop settings to another device, recheck file paths and local listening ports.

Go to downloads macOS client

Android

Start with v2rayNG, which uses the Xray core. Consider v2flyNG if you need the V2Fly core. Most recent phones use the arm64 package; if you are unsure of your device architecture, check the universal package and the download page's selection guidance.

Mobile clients usually route traffic through the system VPN interface, which requires authorization the first time you connect. The desktop system proxy mode is not equivalent to a mobile app's toggle. Per-app settings and background activity restrictions can also affect which traffic is covered.

Go to downloads Android client

Linux

The v2rayN desktop edition provides deb and rpm packages for different processor architectures. Choose the package format for your distribution, then check whether your device uses x64 or arm64. Don't install a package based on its file extension alone.

Desktop environments vary in their support for system proxy settings and tray icons, and some apps need a proxy entry configured separately. Before using TUN, check permissions and routing, especially if virtual network interfaces or container networks are already active.

Go to downloads Linux client

A client package installs the software; it does not provide a working remote server. Before connecting, you still need a valid subscription URL or server configuration, and the selected core must support its protocol. Subscription links may contain access credentials, so keep them in the client and never post them in public discussions or screenshots of logs.

When moving to another device, keep your subscription groups, any essential custom rules and a record of your settings. Recheck system permissions, local paths and network interface names on the new device. The download page covers package types and system requirements; for differences between clients, see the client comparison.

View all clients →

Project V and theopen-source core ecosystem

Clients provide the configuration and control interface; cores handle connections, transport and routing. Understanding how they differ is more useful than judging capabilities by software names alone.

From Project V to V2Fly and Xray

Project V is a useful starting point for understanding the V2Ray ecosystem. Its core idea is to combine inbounds, outbounds, transport and routing into a configurable networking tool. Different community projects later grew around V2Ray. V2Fly continues the community-maintained V2Ray lineage, while Xray developed from related code into an independently evolving core project. They share history, but that does not mean their fields, protocol features or defaults have always been identical.

Here, “core” means the main program that handles proxy connections, not the operating system kernel. A GUI client converts server details and user choices into a configuration the core can read, then starts and manages the relevant process. So a setting appearing in the interface does not necessarily mean the selected core can use it. To determine whether a feature is available, check both client support and core capabilities.

VMess and VLESS are protocol names. TLS and REALITY relate to connection security and handshakes, while routing rules determine which outbound handles a request. These concepts operate at different layers. When choosing a client, start with the platform; when configuring a connection, check the protocol and core; then set up the traffic entry point and routing. This helps avoid trial and error across multiple settings pages.

v2rayN and two Android clients

v2rayN focuses on desktop GUI management, bringing together subscriptions, server lists, system proxy settings and routing. Its cross-platform Desktop and classic WPF editions differ in interface implementation, not protocol. Available cores also include sing-box, a separate project with its own configuration format; don't use an Xray configuration with it unchanged.

v2rayNG is for Android and uses the Xray core; v2flyNG is also for Android, but uses the V2Fly core. The similar names are no reason to treat one as a drop-in replacement for the other. Choose based on compatibility with your existing configuration and the features you need. For a first install, follow the download page's recommended order, then switch if you have a specific core requirement.

Open-source licenses and project boundaries

v2rayN, v2rayNG and v2flyNG are open-source clients licensed under GPL-3.0; Xray-core and V2Fly core are licensed under MPL-2.0. GUI clients and cores are separate projects, so their licenses should be considered separately. Open source means code can be viewed, used and modified under the applicable license; it does not mean every network configuration will work for your device.

Clients, cores and bundled components may each include their own license terms. For personal use, their open-source status can help you understand where the technology comes from. If you modify or redistribute software, read the relevant license and meet the obligations that apply to the code and components involved. This site provides download links and configuration documentation; it does not maintain the client projects.

Think of updates in three layers

Client updates mainly change the interface, configuration management and integrations. Core updates may change protocol handling, configuration parsing and connection behavior. Updates to rule databases such as GeoIP and GeoSite change classification data. Each serves a different purpose: updating a subscription does not update the core, and a client upgrade will not automatically fix every routing match.

A subscription update simply fetches the latest content from a configuration source. Server entries may be added, removed or changed, and manually edited entries may be affected by how the subscription is managed. Check the group before updating, then review the result. For certificate errors or an unreachable address, check the system clock, network connectivity and subscription validity in that order instead of changing every proxy setting at once.

Before upgrading a device with custom configuration, back up your settings and note the active core and routing preset. After upgrading, test a basic connection first, then check DNS, local network access and the apps you use. Logs can help identify where a failure occurs, but remove subscription URLs, credentials and identifiable server details before sharing them. For details on configuration fields, see the V2Ray configuration reference.

Keep configuration troubleshooting focused

If a connection fails, first check that the local entry point is running, then confirm the core loaded its configuration successfully, and finally check the remote connection. If a browser behaves differently from other apps, compare whether they use the same proxy entry point. If domains resolve but some destinations do not, check DNS and rule matching. Change one layer at a time and keep track of the previous state; this is usually more effective than cycling through several presets.

For first-time installation steps, read the Getting Started guide. If you already know where the error occurs, browse the troubleshooting guide by setup, usage tips or troubleshooting topic. For a field-by-field explanation of configuration structure, go to the configuration reference. Keep the quick-start flow separate from core configuration details.

Configuration topics andpractical guides

Explore specific settings, including rule databases, desktop editions and TUN setup. Each guide focuses on one question and is best read after you have a basic connection working.

How to update geoip.dat and geosite.dat: writing geoip:cn and geosite:category-ads rules

Learn what the GeoIP and GeoSite rule databases do, where to update and find them in v2rayN, and how to reference country and domain categories in routing rules.

v2rayN Desktop (Avalonia) vs. WPF: Which package should you install on Windows, macOS or Linux?

Compare the Avalonia cross-platform desktop edition with the Windows-only WPF edition, including interface, system tray and platform support, and get package recommendations for each operating system.

How to enable TUN mode in v2rayN: How the virtual network interface routes all traffic and what to consider

Understand the difference between system proxy and the TUN virtual network interface, and which apps need TUN. Follow the steps to enable Tun, grant administrator permissions and configure DNS hijacking.

View all articles →