CONFIG NOTES Client Setup · Routing Rules

V2Ray Knowledge Base Client Downloads and Setup Guides

Browse clients for four platforms, with setup steps covering subscription imports and split routing.

Setup Guides Xray / V2Fly Open-Source Clients
CLIENT
v2rayN / v2rayNG
CORE
Xray · V2Fly
READING
From Installation to Rule Management
routing.domainStrategy IPIfNonMatch
Routing Settings · Rule Notes
MANUAL / Chapters
  • Core Concepts
  • Subscription Groups
  • Proxy Modes
  • Split Routing
  • TUN Mode
  • DNS Settings
Domain Strategy IPIfNonMatch
Match Condition Outbound Tag Notes
geosite:category-ads-all →block Ad domains
geoip:private →direct Private IP addresses
geosite:cn →direct Domain list
geoip:cn →direct IP address list
final →proxy Default outbound

Rules are checked in order; final is an illustrative name for the default outbound.

Match Detailsrules[2]
{
  "type": "field",
  "domain": ["geosite:cn"],
  "outboundTag": "direct"
}

When a domain matches geosite:cn, it uses the direct outbound specified by the direct tag.

This example requires the corresponding rule data and outbound definitions. Check runtime logs for the actual result.

SETTINGS / Configuration Index

Client Settings and Rule Notes

First distinguish connection methods from outbound rules, then adjust the core and DNS behavior. The navigation follows a typical setup sequence. Code snippets show relevant fields only; they are not complete, import-ready configurations.

Subscription URLs and Configuration Groups

Subscription Group → Add
Group Name: Everyday setup
Subscription URL: Provided by your configuration provider
Subscription Group → Update Current Subscription

Subscriptions let you manage connection configurations in batches; they are not client accounts. Add and save the URL in a subscription group, then update the current group and check that configurations appear in the list. Group names help identify sources, and updates replace that group's contents, so back up anything you have edited manually. Compared with pasting share links one at a time, subscriptions make it easier to refresh configurations in one place. If the list is empty, first check that the URL is complete and still valid, and that your device can reach the subscription service. Don't keep switching routing modes. Menu labels may vary slightly between versions.

Related reading → User Manual: Subscription Import

CLIENT SHELF / Platform Downloads

Choose a V2Ray Client for Your Platform

Start with v2rayN on desktop and consider v2rayNG on Android. Before downloading, check your operating system and processor architecture, then choose the right package. After installing a client, you'll still need a valid connection configuration from a trusted source.

Windows

v2rayN / Desktop · WPF

A good fit for desktop use with browsers and productivity apps. The download page offers a newer cross-platform desktop interface and the classic WPF version. Choose based on your preferred interface and system requirements. For your first setup, start with the system proxy. Once subscriptions, connections, and routing work, decide whether you need TUN.

After installing or extracting the app, keep its configuration folder writable. When moving to another computer, back up subscription groups and custom rules, not just the program shortcut.

Go to Downloads →

macOS

v2rayN / Apple Silicon · Intel

Open About This Mac from the system menu to check whether it shows a chip or processor model. Apple Silicon and Intel require different builds, so don't choose based only on a similar-looking filename. After installing, check the app's permissions and system proxy settings.

If your browser connects but other apps don't, check their proxy settings first. Virtual adapter permissions and the standard system proxy require different troubleshooting steps.

Go to Downloads →

Android

v2rayNG / v2flyNG

v2rayNG is designed for Xray core configurations, while v2flyNG is an alternative for the V2Fly core ecosystem. Most recent devices use arm64; if you're unsure of your device's architecture, check the universal package details. On the first connection, approve the system VPN permission. This allows the app to route local network traffic; it does not provide a working remote configuration.

If the connection drops in the background, check battery restrictions and background activity permissions. For per-app proxying, read the allowlist or blocklist mode carefully before choosing which apps to include.

Go to Downloads →

Linux

v2rayN / deb · rpm

Choose a deb or rpm package to match your distribution, then check whether your device is x64 or arm64. A GUI client makes it easier to manage subscriptions and routing rules in a desktop session. Whether apps honor the system proxy also depends on the desktop environment and each app's settings.

TUN and system routing require extra attention to permissions and other networking services. Test standard proxy mode first, then expand traffic capture to make troubleshooting easier.

Go to Downloads →

Browse all clients →

FIRST CONNECTION / Setup Steps

From Subscription Import to Connection Testing

For your first setup, establish a connection flow you can reproduce. Avoid changing proxy mode, DNS, and the core all at once; if the connection behaves differently, you won't know which change caused it.

  1. Add a Subscription and Confirm It Imports

    On desktop, save the URL in a subscription group, then update the current group. On Android, add the URL in subscription settings and refresh. Subscription URLs may contain personal access tokens, so don't share them in public screenshots or chat logs. After importing, check the configuration name, protocol, and group source. If the list is empty, troubleshoot the subscription fetch first.

    If you only have a single share link, use the client's clipboard import feature. Updating a subscription and importing a link manually are different actions; don't paste a share link into the subscription URL field. Menu names vary between versions, so look for the steps to add a source, save it, and update.

  2. Select a Configuration and Set Routing

    Set a valid configuration as active, then choose how traffic enters the client. On desktop, try the system proxy first. On Android, approve the connection request before starting the service. Begin with the client's default split-routing mode and note the current settings. Don't add a large set of custom rules before testing the basics.

    The system proxy and global routing work at different layers: the proxy sends requests to the client, while routing selects the outbound. If an app ignores system settings, configure its proxy separately or consider TUN after checking which traffic it will capture. Changing routing modes won't fix missing server settings.

  3. Check Logs and Test DNS and Access Separately

    After starting the client, check for configuration parsing, connection, or DNS errors, then make a real request from the app you're testing. One test only confirms a single path; it doesn't prove that every protocol and app works. Also check that everyday direct connections and destinations that need a proxy behave as expected.

    If something goes wrong, return to the simplest working setup: disable newly added traffic-capture features, restore basic routing, then re-enable options one at a time. After testing, check that the system proxy has been restored if you won't be using the client. Closing the window may not stop background services or reset system settings.

Read the Full Guide →

PROJECT V / Ecosystem Overview

Project V, Cores, and GUI Clients

In everyday discussions, “V2Ray” can refer to a project, a core, or a type of configuration tool. Understanding each layer's role helps you tell whether a feature belongs to the client interface or depends on the core and server.

Project V's Modular Design

The Project V ecosystem builds on modular proxy capabilities, separating responsibilities such as inbound connections, routing, and outbound connections. Requests enter through an inbound, then routing rules select an outbound. Understanding this flow is more useful than memorizing a button's location: even after the interface changes, you still need to check traffic capture, match conditions, and connection settings separately. In discussions about V2Ray, “configuration” may also mean a single remote connection profile, not a complete file that defines all local behavior.

V2Fly and Xray: What Each Core Supports

V2Fly continues development and maintenance of open-source projects related to V2Ray, while Xray has evolved as an independent core branch. They share some history and concepts, but protocol support, security settings, and configuration behavior don't always match. VLESS, VMess, and Trojan are connection protocols; transport and security settings need to be checked separately. A shared protocol name doesn't guarantee that a configuration can be moved between cores unchanged. If a field isn't recognized, check the core's support before converting the configuration.

Open-Source Status of the Three Clients

v2rayN, v2rayNG, and v2flyNG are open-source GUI clients that simplify configuration management. v2rayN is designed for desktop platforms, v2rayNG primarily uses the Xray core, and v2flyNG targets the V2Fly core. These apps are not remote services, and installing one doesn't automatically provide a working subscription. Open source means the code can be reviewed and used under its applicable license; it doesn't guarantee any subscription source or remote service. Clients, cores, and dependencies may each have different licenses. Check each project's license before using or distributing its software.

Updates and Routine Maintenance

Client, core, and rule-data updates are three separate things. A client update may change the interface or how configurations are generated; a core update can affect protocol support and runtime behavior; rule-data updates can change domain and IP matches. Before updating, back up subscription groups, custom routes, and important settings. Afterward, verify the scenarios that worked before enabling new features. When troubleshooting, record your operating system, client, core, and the stage where the error occurs; that's more useful than saying only “can't connect.” Remove subscription URLs and personal connection details before sharing logs.

What This Site Covers

V2Ray Knowledge Base organizes client downloads, GUI setup guides, and configuration concepts. It is not an official client publisher and does not provide proxy nodes or subscription services. The guides focus on how features work and how to troubleshoot them; available menus and options depend on your installed build. Start with the getting-started guide, then read the user manual for how settings interact. For a specific term or recurring error, consult the glossary and FAQ rather than replacing a working setup to fix one isolated issue.

About · Read the Full User Manual · Browse FAQs

TECHNICAL NOTES / Recent Guides

Deployment, Android Setup, and Speed Troubleshooting

Troubleshoot settings based on the issue instead of treating every connection failure as the same problem. These three guides cover local clients, gateway deployment, and Android background behavior. They're best read after you've confirmed a basic connection.

Browse All Articles →

Download Clients