Project V Client Guide

V2Ray Official Downloadv2rayN and Setup Guide

Choose an open-source client for your platform, then follow the steps for importing subscriptions and configuring protocols and routing.

Free forever Setup guides Xray · V2Fly
Cores and Protocols

Xray / V2Fly

VLESSVMessTrojan
Check compatibility →
Open-source ecosystem

Project V

The client manages your configuration; the core handles connections. Start by understanding the difference.

Compare the three clients →
Server management

Subscription groups and routing rules

Manage subscriptions by source and choose an outbound by destination.

View import steps →
Traffic routing

A virtual network adapter and the system proxy handle different types of traffic.

Understand TUN mode →

This settings window illustrates how the fields relate. Use the exact parameters provided by the server; the protocol name alone is not enough to determine them.

V2Ray client downloads by platform

Choose v2rayN for desktop or v2rayNG for Android. Check your operating system and processor architecture before selecting an installer in the download center. After installation, you’ll still need a valid server configuration or subscription.

Windows

v2rayN is available as a desktop edition and a classic WPF edition. The desktop edition uses a cross-platform interface, while the WPF edition retains a familiar desktop experience. You don’t need both; choose one using the download page instructions, then import a subscription and configure the system proxy.

Before migrating from an existing setup, save your subscription groups, routing rules, and personal settings. Don’t overwrite a running installation directory with the new program. Close the client first to avoid locked files and configuration mix-ups. Check that your account has the required permissions before enabling TUN.

Download for Windows

macOS

v2rayN installers are available for Apple Silicon and Intel Macs. Check About This Mac to identify your processor, then choose the matching build. The installer must match your chip; appearance and purchase year aren’t reliable indicators.

After launching the client for the first time, import a working configuration and test the system proxy. If your browser connects but other apps still use the regular network, check whether those apps follow the system proxy before changing server settings. TUN requires separate virtual network adapter permissions and traffic routing steps; check the guide one step at a time to pinpoint issues.

Download for macOS

Android

For most users, v2rayNG with the Xray core is the first choice. If you need compatibility with an existing V2Fly setup, consider v2flyNG. Recent devices generally use the arm64 build; if you’re unsure of your architecture, check the universal build notes. Compare each client’s interface and core capabilities separately.

On the first connection, allow the system’s VPN connection request. If the connection drops when the app moves to the background, check battery optimization, background activity, and whether another VPN app is in use. Subscription URLs and share links contain configuration details; don’t post them in public comments or screenshots.

Download for Android

Linux

v2rayN provides deb and rpm packages for x64 and arm64. First check your distribution’s package format, then confirm your processor architecture. Package format, architecture, and desktop environment are separate requirements and can’t substitute for one another.

Whether the system proxy works also depends on your desktop environment and app settings. Start troubleshooting with an app known to support proxies, then consider TUN. If you need virtual network adapter permissions or system route changes, follow the guide and keep your original settings. Avoid letting multiple network tools change the default route at the same time.

Download for Linux
Browse all clients →Find installers, system requirements, and setup instructions in the download center.

v2rayN configuration and management features

Match settings to what you need to do: start with server parameters and subscription sources, then decide how traffic enters the core and which outbound each rule uses. The fields below are examples, not working server details.

Check protocols, transport, and security separately

Multi-protocol support lets you connect to servers with different configurations; it doesn’t make protocol parameters interchangeable. When adding a server, choose VMess, VLESS, or Trojan based on the details you received, then check the address, port, authentication fields, and transport security. For VLESS with REALITY, also confirm the public key, ShortId, and server name. Unlike a simplified interface with only a connection toggle, separate fields make errors easier to pinpoint. The options available still depend on the core, and switching protocols won’t fix incorrect parameters automatically.

Read the protocol and core reference →
Add Server
ProtocolVLESS
Transporttcp
Transport Securityreality

REALITY is a security layer, not a proxy protocol alongside VLESS.

The Project V ecosystem and choosing a client

Client names, core names, and protocol names refer to different layers. Understanding the distinction helps explain issues like “the configuration imports but won’t start” or “fields stop working after switching cores,” and avoids repeatedly changing software to fix a single connection problem.

Project V: The foundations of a modular proxy toolkit

Project V is a good starting point for understanding the V2Ray ecosystem. It breaks down features such as inbound and outbound connections, routing, and transport into modules that can be combined through configuration for different use cases. The server list users see is just one layer of the GUI; the core reads structured details such as protocols, authentication, transport, and routing. So “V2Ray client” doesn’t refer to a single product with identical features, but to a set of tools built around related cores and configuration approaches.

V2Fly continues the community development and maintenance of V2Ray, while Xray has evolved from related code with its own feature direction. They share a history but have developed distinct implementations and extensions. Rather than asking which name is newer, list the protocols, security layers, and flow settings your server needs, then check whether the client and core support them. If your current setup works, migrate only for a clear reason—such as field compatibility, platform support, or a specific feature—not just because the name has changed.

Core families: shared foundations and extension limits

VMess, VLESS, Trojan, and Shadowsocks are different proxy protocols. TCP and WebSocket are transport options, while TLS and REALITY concern connection security. Seeing these options together in one settings form doesn’t mean they belong to the same layer. VLESS alone doesn’t provide a complete transport security setup, and XTLS Vision is a flow-control option with specific requirements; it can’t be enabled arbitrarily on an incompatible server.

For configurations using REALITY and XTLS Vision, check Xray feature support and how the client maps the fields. V2Fly and Xray share some basic configuration concepts, but extensions, defaults, and supported features may differ. A GUI’s ability to read a configuration file doesn’t mean it preserves every field, and a successful subscription import doesn’t guarantee the selected core will start. If something isn’t compatible, check the specific startup error first, then determine whether the problem is client parsing, core support, or server parameters.

You can’t rank speed and resource use by protocol name alone. Handshake count, transport encapsulation, connection reuse, server load, and network round-trip time all affect performance. On mobile devices, battery use also depends on background connections, network changes, and how much traffic is routed. For a fair comparison, test everyday tasks on the same device and network under similar load, and observe connection stability. A single latency test doesn’t prove one protocol is always faster.

Three open-source clients for different platforms and core requirements

v2rayN is the primary desktop client, designed for managing subscription groups, servers, routing, and connection settings through a GUI. It organizes configuration tasks; it doesn’t replace server parameters or provide servers automatically. Choose the desktop or classic WPF edition based on your system and interface preference. Whether a configuration works still depends on the selected core and server details. Compare the differences in the client selection guide.

For Android, start with v2rayNG, whose Xray core suits configurations that need its protocol features. v2flyNG uses the V2Fly core and is an alternative for existing V2Fly setups. The similar names don’t mean their advanced features are identical. Before importing into a different client, check whether the subscription uses a server share format or a complete configuration file. Full configurations may include local inbounds, routing tags, and platform-specific settings, so they require more checks than a single share link.

All three clients are part of the open-source software ecosystem, with source code, licenses, and community maintenance forming their technical foundation. Open source means you can study the implementation and use or redistribute it under the applicable license; it doesn’t mean every component uses the same license. Client interfaces, cores, and bundled components may each have their own terms. For everyday use, start with the product documentation. Before modifying, integrating, or redistributing software, check each relevant license; “free to use” doesn’t mean you can repackage anything without restrictions.

Updates and troubleshooting: keep a reproducible baseline

The client app, execution core, and subscription each have their own update cycle. Updating the client can change the interface, configuration generation, and system integration. Updating the core can affect protocol support and runtime behavior. Updating a subscription refreshes server entries. You don’t need to change all three while troubleshooting. A safer approach is to save your current settings, note what was working, change one thing at a time, and check whether the expected result occurs.

For example, if a subscription update fails, you don’t need to reinstall the client first. Check that the link is complete and the source is still valid, confirm your current connection method can reach it, and review the error. If the server entry is present but won’t connect, break the issue down: can the core start, can the address resolve, can a connection reach the port, and do the authentication fields match? If the browser works but one app doesn’t, check which traffic is being routed. If only a particular domain fails, check routing and DNS first.

When reporting an issue, include the steps you took, when the error occurred, and the relevant setting names. Hide personal configuration details such as subscription URLs and user IDs. Logs often provide more useful clues than “can’t connect,” but check first for exposed addresses or credentials. Follow the configuration guide to build a minimal working setup, then add split routing and TUN settings gradually. This is usually easier to troubleshoot than enabling every advanced option at once.

Configuration guides and protocol articles

Go beyond client settings to explore configuration structure. First understand what each module does, then decide whether to change the defaults. These three articles cover field relationships, DNS split routing, and the technical role of REALITY.

V2Ray Client Downloads