Project V ecosystem GUI clients

V2Ray Community

Download links and instructions for desktop and Android clients, covering subscription imports, routing rules, and DNS setup.

Quick reference VMess VLESS Trojan REALITY

Desktop and Android clients

Choose a client for your device, then select a core that fits your configuration. The client manages settings; the core handles connections.

Top pick for desktop

v2rayN

Manage subscription groups, active configurations, and routing rules from one desktop app. The system proxy works for apps that follow system settings. For broader traffic capture, learn about TUN mode. When getting started, keep the defaults and adjust settings one at a time after confirming a single connection works.

Download v2rayN
v2rayN · Proxy settings preview
Automatically configure system proxy
Routing modeBypass mainland China ▾
Android clients

v2rayNG / v2flyNG

For Android, start with v2rayNG, which uses the Xray core. Choose v2flyNG if you need compatibility with V2Fly configurations. Manage configurations in subscription groups, and approve the system VPN request when connecting for the first time. Similar interfaces don't guarantee identical protocols or configuration fields.

View Android downloads
Android client · Settings preview
VPN mode
Subscription group settings
Common settings

Subscriptions, routing, and traffic capture

Understand settings at each layer to avoid changing unrelated options when troubleshooting.

Subscription groups and updates

A subscription URL points to a remotely maintained list of configurations; it isn't a server address you can connect to directly. Create a group, add a label and URL, then update it to see the available configurations. Groups help organize subscriptions by source or purpose; labels are only for local reference. Unlike entering servers one by one, subscriptions make it easier to sync server settings, but updates may overwrite remotely managed entries. To edit a configuration yourself, first make a separate copy. Subscription tokens are access credentials—hide them before sharing screenshots or logs. If an update fails, check that the URL is complete, still valid, and reachable.

https://example.com/sub?token=xxxx
Read the subscription management chapter →
Client download options

Choose a package for your operating system

Browse all clients →

Your operating system determines the package format; your processor architecture determines whether it will run. Check your device's system information, then choose the matching download. This page introduces client options rather than listing current releases. Find installation requirements and client details on the downloads page so you can check them before downloading.

Windows

Choose v2rayN. The cross-platform desktop edition has a modern interface, while the classic WPF edition suits users who prefer the familiar workflow. Check your system architecture and runtime requirements before downloading. Menus may differ between editions, so follow tutorials by feature name rather than button position.

Go to downloads Windows client →

macOS

Choose v2rayN, then check About This Mac to see whether your processor is Apple Silicon or Intel. Each requires a different package. Pay attention to system permission prompts when opening the app for the first time. After changing the system proxy or enabling traffic capture, check whether another tool has overridden your existing network settings.

Go to downloads macOS client →

Android

Start with v2rayNG, which uses the Xray core. Consider v2flyNG if you need compatibility with V2Fly configurations. Most current devices use arm64; if you're unsure about your architecture, check the universal build details. The first connection requires VPN permission. If another VPN is already connected, check your system's connection limits.

Go to downloads Android client →

Linux

Choose the v2rayN GUI client, select deb or rpm to match your distribution's package system, then check whether your architecture is x64 or arm64. Your desktop environment, permissions, and system proxy support can all affect how it works. Launching the client alone doesn't mean every command-line app will use the proxy; check each app's settings separately.

Go to downloads Linux client →
First-time setup

Subscription setup: a three-step overview

View the complete guide →

A successful subscription update, a selected configuration, and an app actually using the proxy are three different things. Follow these steps in order so you don't mistake a populated list for an active connection. Menu names may vary slightly between desktop and Android, but the core process is the same.

  1. Create a group and import a subscription

    Get the subscription URL from your provider. In the client's subscription group settings, enter a label and the complete URL, save, then update the group. Don't paste a single server share link into the subscription URL field, or include extra spaces, quotation marks, or line breaks. After updating, check that entries appear in the expected group. If the list is empty, check the update message and subscription validity before trying the import again.

  2. Select a configuration and choose how to route traffic

    Select the server configuration you want to use. On desktop, start with the system proxy and a routing preset suited to your needs. On Android, start the connection and approve the VPN request. The system proxy determines whether requests are handed to the client; routing rules determine where they go next. Neither replaces the other. For your first connection, avoid adding custom DNS, TUN, or complex rules so you have a clear baseline for troubleshooting.

  3. Test the connection in an app

    Open the site or app you want to use and check whether it completes a real request, then review the client logs to understand the connection. A failed test doesn't necessarily mean the server is at fault: the app may not use the system proxy, DNS resolution may fail, or the local port may be in use. Note the time and error message, then change one setting at a time. Once the connection works, add routing exceptions gradually and keep a backup of the working configuration.

Open-source projects and maintenance

Project V, V2Fly, and Xray

Learn about the projects →

From interface to connection

GUI clients
and proxy cores

Desktop clientv2rayN
Android clientsv2rayNG · v2flyNG
Core familiesXray · V2Fly

Similar menus don't mean the configurations are interchangeable. Check protocol support against the selected core and its release notes.

Project background: Project V's modular design

Project V is a collection of open-source technologies and tools built around network proxying, with V2Ray as one of its key components. It separates responsibilities such as inbound connections, outbound connections, routing, and transport so the same core capabilities can serve different environments. GUI client users don't need to write a complete configuration from scratch, but understanding these layers helps explain common issues: a client saving a setting doesn't mean the core accepts every field, and a core starting successfully doesn't mean the target app has sent it any requests.

Core families: shared roots, different extensions

The V2Fly community continues development related to V2Ray, while Xray has developed its own extensions on a shared technical foundation. The two overlap in some protocols and configuration options, but they aren't interchangeable simply by changing the name. Check actual core support when working with VLESS, transport security, or REALITY. If the same subscription behaves differently in two clients, compare the protocol, transport, TLS settings, and core logs before changing interface themes or reinstalling the software.

Open source: clients and cores are maintained separately

v2rayN, v2rayNG, and v2flyNG are open-source GUI clients. Review the client and core licenses separately. Open-source licenses define the terms for using, modifying, and distributing code; they don't mean different projects share the same release schedule. This site covers these three clients without treating their names as subscription services or assuming that every core supports every feature listed in a GUI. When choosing a client, focus on your device platform, configuration compatibility, and the clarity of its maintenance and release history.

Updates: distinguish apps, cores, and rule data

The client app, proxy core, geographic rule data, and subscription content each have their own update sources. Updating a subscription usually refreshes remotely provided server entries; it doesn't upgrade the client. Upgrading the client doesn't necessarily refresh all rule data. Back up custom routes and standalone configurations first, then check the startup log and your commonly used apps after updating. If something breaks, note what changed and roll back one component at a time. This makes the cause easier to find than updating everything at once. The downloads page lists installers; the tutorials explain how configuration settings work together.

Technical notes

Connection troubleshooting and deployment guides

Browse all articles →

After your first connection works, explore topics based on the issue at hand. Proxy modes, server timeouts, and secondary-router deployments involve different layers and call for different troubleshooting steps. These notes cover app traffic capture, connection behavior, and network topology; pair them with the configuration guides in Advanced Usage.

If a term is unclear, start with the glossary. If you can reproduce a connection issue, go straight to the connection troubleshooting guide. When sharing troubleshooting details, include the error type, steps taken, and time of occurrence; hide subscription tokens, account details, and full server addresses.