PROJECT V CLIENT GUIDE

V2Ray Official Site
V2Ray Clients and Subscription Setup

Centralized download links and usage guidance for the v2rayN desktop client, the v2rayNG Android client, and the v2flyNG alternative client. Follow real settings from subscription import through system proxy, TUN, routing rules, and log-based troubleshooting.

Free forever Open source Xray · V2Fly VMess · VLESS · Trojan · REALITY

CLIENT WORKFLOW

Subscription, Routing, and Proxy Settings

Four setup canvases represent the client areas used most often. Each card includes a switchable interface preview, helping you understand how settings relate before following the complete step-by-step tutorial.

Subscription Groups
Default subscriptionEnabled
Auto-update subscriptions
Keep selection after update

SUBSCRIPTION

Subscription Group Management

Subscription links are useful for receiving configuration updates over time, but all addresses should not be mixed into one list. Create groups by purpose to control update frequency, the active selection, and disabled states separately. Before importing, make sure the link was copied in full and give the group an easy-to-recognize name. After updating, check added and removed items as well as the current selection to avoid switching configurations unexpectedly. Unlike simple clients that offer only a one-time paste field, groups are better suited to maintaining daily, test, and temporary configurations at the same time, while also narrowing the scope when subscription updates fail.

View the subscription import steps →
Routing Rules
Domain rulesMatch preferred
IP rulesMatch in order
Unmatched trafficDefault outbound

ROUTING

Routing Rules and Split-Tunneling Order

Routing determines which outbound path different domains, IPs, and processes use, and rule order matters more than the number of rules. Clients usually match from top to bottom, so a broad condition near the top can override a more specific one below it. Put specific rules first and fallback rules last. Before configuring, decide which apps need the system proxy and which connections should remain direct, then use the logs to confirm the rules actually matched. The tutorial also explains how domain strategies, IP resolution, and the default outbound relate to one another, so you do not simply copy rules without understanding their purpose. A clear split-tunneling structure reduces unnecessary forwarding and makes troubleshooting more direct.

Read the routing configuration guide →
System Proxy
Set system proxy
Proxy modeBy routing rules
Clear settings on exit

PROXY MODE

System Proxy and TUN Mode

The system proxy mainly handles apps that follow the operating system’s proxy settings. It is simple to configure and works well for browsers and common desktop software. TUN processes a broader range of traffic at the network-interface layer, but requires additional permissions and depends more heavily on routing and DNS settings. You do not need to enable both: for an initial setup, use the system proxy to verify the subscription and configuration, then decide whether TUN is needed based on app compatibility. Before switching modes, close important active connections and record the existing settings so you can restore them quickly if the network behaves unexpectedly. The full tutorial explains both modes from simple to advanced.

View connection and proxy settings →
Runtime Log
Log levelwarning
Show timestamps
Auto-scroll

DIAGNOSTICS

Log Levels and Troubleshooting

When a connection fails, checking the logs is more effective than repeatedly changing settings. Keep the level at warning for normal use; temporarily increase verbosity while reproducing an issue and focus on the timestamp, destination, protocol stage, and error keywords. timeout often points to a network path, address, or port problem. With rejected, continue by checking local rules and the remote response. invalid usually indicates inconsistent configuration fields. Change one item at a time and keep before-and-after log comparisons to identify the real cause. This site maps common errors to specific checks, reducing unfocused trial and error.

Open the troubleshooting Q&A →

PLATFORM DOWNLOADS

Choose a Client for Your Device

Start with v2rayN on desktop systems; on Android, choose between v2rayNG and v2flyNG based on your core requirements. The download page further separates processor architectures and installer formats.

DESKTOP

Windows

Windows users should generally choose v2rayN. The download page offers both a modern cross-platform desktop interface and the classic WPF interface. The former suits users who want a consistent experience, while the latter fits those familiar with traditional Windows settings. After installation, import a subscription and enable the system proxy for an initial check.

Go to downloads

DESKTOP

macOS

Use the v2rayN desktop client on macOS. Before downloading, open System Information to identify the processor, then choose the installer for Apple Silicon or Intel. If macOS asks you to confirm app permissions on first launch, follow the system prompts. Import the subscription from inside the client rather than pasting its address into a browser address bar.

Go to downloads

MOBILE

Android

Android users typically start with v2rayNG, which follows the Xray core route; choose v2flyNG when the V2Fly core is required. Most current devices use the arm64 architecture. If you are unsure which processor is installed, use the universal installer. After importing, allow the system to establish a VPN connection, then check background activity and battery settings.

Go to downloads

DESKTOP

Linux

On a Linux desktop, use v2rayN and choose a deb or rpm package for your distribution, while checking whether the device uses x64 or arm64. After installation, confirm where system proxy settings are managed in your desktop environment, then choose between the system proxy and TUN. Permissions, DNS, and firewall settings are common areas to check on Linux.

Go to downloads

QUICK START

Connect in Three Basic Steps

Start with the minimum working configuration, then adjust routing, DNS, and background policies. Changing too many things at once makes the source of a problem difficult to identify.

  1. Choose a platform and installer

    In the download center, switch to your current operating system first. Use v2rayN on Windows, macOS, and Linux; Android users can choose v2rayNG or v2flyNG. Desktop devices require the right processor architecture and installer format, while Android users choose between arm64 and the universal installer. Install normally after downloading, and do not run multiple similar clients at once, as they may compete for the local proxy port or repeatedly modify system network settings.

  2. Import the subscription and check the configuration

    Copy the complete V2Ray subscription link, add it under the client’s subscription groups or subscription settings, and run one manual update. A successful update does not guarantee a usable configuration: check that items appear in the group, the address and port are complete, and the protocol type is expected. If the update fails, first verify the system time, local network, and both ends of the link, then check the client logs instead of clicking update repeatedly.

  3. Enable the proxy and verify the connection

    After selecting a configuration, enable the system proxy on desktop or follow the system prompt to establish a VPN connection on Android. Test with a website or app you use daily, then check whether the client logs show the corresponding connection. Only after the basic connection is stable should you configure routing, TUN, DNS, or automatic updates. When something goes wrong, check in this order: local network, system time, subscription status, configuration parameters, and proxy mode. This is more effective than changing settings at random.

PROJECT V ECOSYSTEM

How V2Fly, Xray, and Clients Relate

The graphical client manages configuration and system integration, while the core handles protocols, transports, routing, and connections. Understanding this relationship is essential for judging update contents and compatibility.

Project V Ecosystem and Core Branches

Project V is an open-source technology ecosystem built around proxy protocols, transport methods, and routing capabilities. The early V2Ray project established the configuration structure and core capabilities, after which community maintenance gradually formed different branches. V2Fly continues the core implementations and documentation practices of the V2Ray ecosystem, emphasizing community collaboration and ongoing maintenance. Xray developed its own core path while remaining compatible with established configuration concepts, and continues to expand protocol and transport capabilities. Neither is a graphical client or equivalent to a particular installer interface.

v2rayN, v2rayNG, and v2flyNG sit above the core. They turn complex configuration into subscription groups, server lists, system proxy switches, TUN settings, routing rules, and log windows, allowing users to manage runtime behavior through a graphical interface. The core actually establishes connections, parses protocol fields, and applies routing. To determine whether a protocol or transport is supported, check both whether the client exposes the required settings and whether the core supports the relevant fields.

The role of each client

v2rayN targets Windows, macOS, and Linux desktops, with subscription management, system proxy, TUN, routing, DNS, and logging features. It suits users who manage multiple configurations on a computer and makes connection issues easier to investigate through visible logs. Installer formats and permission handling vary by desktop system, but the main setup flow remains consistent.

v2rayNG targets Android and follows the Xray core route, with an interface built around mobile VPN control, subscription updates, routing, and background operation. Mobile operating systems actively restrict background tasks, so connection stability depends not only on client settings but also on battery policies, background permissions, and network switching.

v2flyNG also targets Android and follows the V2Fly core route, making it an alternative when that core ecosystem is required. Its basic workflow is similar to v2rayNG, but core implementation, some configuration capabilities, and update timing are not identical. Do not compare interfaces alone: first confirm the protocols and transport parameters used by the subscription, then choose the more suitable core route.

Open-source licensing and community maintenance

These three clients and their related cores are maintained as open-source projects, with source code and changes continuously reviewed by their communities. Open source does not mean every version is automatically compatible: configuration fields evolve, and clients may implement the same feature differently across platforms. A safer update process is to read the release notes, keep the currently working configuration, update the client, and run a basic connection test.

Community-maintained software usually has no fixed release schedule controlled by a single vendor. Clients, cores, and documentation may update separately. A new protocol parameter may appear in the core first and receive a graphical setting later, or initially be available only through manual configuration. When a setting cannot be found or fields are missing after import, first determine whether the cause is the client interface, core support, or subscription content rather than broadly declaring the entire V2Ray client unusable.

A protocol name is not a complete configuration

Names such as VMess, VLESS, Trojan, and REALITY describe only part of a configuration. A working connection also involves the server address, port, user identifier, transport method, TLS parameters, domain, path, and routing policy. After importing a subscription, the client passes these fields to the core for processing; any critical mismatch can cause timeouts, handshake failures, or an invalid configuration. This site focuses on field relationships and where they appear in the client rather than offering a generic “best configuration” detached from server-side parameters.

COMMON QUESTIONS

Featured FAQs

Start with the direct answer, then continue by category on the troubleshooting page.

What should I check first when a v2rayN subscription update fails?

First confirm that the ordinary network connection and system time are correct, then check that the subscription address is complete and contains no copied spaces. Open the logs and inspect errors during the request. If the same address also fails on other devices, check the subscription status first. If only the current device fails, continue with system proxy, DNS, and firewall settings.

View installation and setup Q&A →

How should I choose between VMess and VLESS?

A client cannot replace the protocol independently of the server configuration. Follow the protocol type provided by the subscription or server, and keep the user identifier, transport method, TLS parameters, and domain consistent. VLESS configurations often depend more heavily on matching transport and security parameters, while VMess also requires correct time and identity fields.

View fundamentals Q&A →

What is the difference between the system proxy and TUN?

The system proxy affects only apps that actively read the operating system’s proxy settings. It is lightweight and easy to restore. TUN handles traffic through a virtual network interface, covering a broader range but requiring more permissions and more careful routing. Start with the system proxy for connectivity testing, then enable TUN only if specific apps are not covered.

View proxy mode steps →

Why should you avoid repeatedly switching settings when a node times out?

A timeout may come from the local network, system time, an expired subscription, the address or port, protocol parameters, or routing. Repeated switching changes several variables at once and makes the cause harder to confirm. Keep the current configuration and check network, subscription, parameters, proxy mode, and logs one by one to find a reliable fix.

View troubleshooting Q&A →

LATEST ARTICLES

Client Configuration and Troubleshooting Articles

Additional guidance for mobile background operation, core selection, and common beginner questions beyond the main tutorials.

Troubleshooting

v2rayNG battery drain: troubleshooting Android background operation and power-saving settings

Start with system battery statistics to locate the source of drain, then check background keep-alive settings, routing-rule granularity, and automatic subscription update frequency for a balance between battery life and reliable connectivity.

Read the full article →
Cores & Choices

Xray vs. V2Fly cores: version relationships and client selection guidance

Explore how the V2Fly and Xray core branches relate within the Project V ecosystem, their protocol-support differences and release patterns, and the use cases best suited to v2rayNG and v2flyNG.

Read the full article →
Getting Started

Ten V2Ray questions for beginners: subscription imports, protocol choices, and connection failures explained

Answers to common questions about client selection, entering V2Ray subscription links, VMess and VLESS configuration relationships, and proxy mode differences, with an actionable check order for each issue.

Read the full article →