v2rayN · v2rayNG · v2flyNG

Which V2Ray Client v2rayN download and client selection

Choose a client by platform, then check its core and configuration. Follow the setup sequence from subscription import and routing rules to system proxy.

Open source Xray · V2Fly VMess · VLESS
v2rayN · Settings
Local listening port
10808SOCKS / HTTP
Allow connections from the local network
Off
System proxy
Set system proxy automaticallyClear system proxyLeave system proxy unchanged
Routing
Bypass mainland ChinaGlobal
Enable TUN mode
On
Core type
Xraysing-box

V2Ray download options

For desktop, check the operating system and processor first; for mobile, consider which core you need. Clients manage profiles and connection methods, but you still need valid server details or a subscription URL.

macOS

v2rayN · Choose by processor

For users who want to keep managing profiles with v2rayN on desktop. Check your processor in system information: choose the arm64 download for Apple Silicon or the x64 download for an Intel processor.

Package architecture and system permissions are separate issues. A program opening successfully does not mean the system proxy or virtual network interface is working. Import a profile and test the standard proxy first; enable TUN only if needed. If the system requests authorization, check which component and action the prompt refers to. Do not assume a permissions issue means the server is down.

Android

v2rayNG recommended · v2flyNG alternative

In most cases, start with v2rayNG, which uses the Xray core. If your existing profiles are built around the V2Fly ecosystem, consider v2flyNG instead. The similar names do not mean that all protocols, transports, and extension fields are interchangeable.

Check your device architecture before installing; if you can't identify it, consult the universal package notes. After importing a profile, select it, start the connection, and confirm the system's VPN authorization prompt. If the connection drops only after switching to the background, check battery optimization and background activity restrictions. These system behaviors are not directly related to whether a subscription imported successfully.

Linux

v2rayN · deb / rpm

For users with a graphical desktop who want to manage connection profiles in one place. Choose deb or rpm based on your distribution's package system, then select x64 or arm64. Even with the right package format, check system dependencies and desktop environment requirements.

Whether desktop apps use the system proxy depends on how each app is built. If a browser works but other programs connect directly, check those programs' proxy settings before changing server parameters. If you need to capture more traffic, look into TUN permissions and routing requirements. The graphical client's setup steps do not apply directly to headless servers.

Consider three separate questions when choosing a client: will the package run on your device, can its core parse the server parameters, and is the app's traffic actually routed through the proxy? Switching clients can address only some of these; it does not replace checks of server status, network conditions, or authorization details. The download center lists packages by platform, while the client comparison explains how each option is best used.

Browse all clients →

Core features of V2Ray clients

Choosing a client is only part of the picture. Protocols, profile sources, routing rules, and traffic capture each handle a different part of the connection and should be checked separately when troubleshooting.

VMess and VLESS are connection protocols; transport methods and TLS parameters belong to separate configuration layers. Seeing an option in a client does not mean the current core supports every combination. v2rayN can manage profiles for different cores; on Android, choose a client that matches your Xray or V2Fly requirements. Before importing, check the server's protocol, transport, server name, and related extensions. A link prefix alone does not establish compatibility. For specific features, consult the selected core's support details.

Learn more →

Import a subscription and connect with v2rayN

Get one verifiable connection working, then add rules step by step. On your first run, there's no need to change the core, DNS, TUN, and routing all at once. A clear setup sequence makes issues easier to pinpoint.

  1. Prepare your profile and import a subscription

    Install a client that matches your system, then get a subscription URL, share link, or profile file from a trusted source. Add subscription URLs through subscription management; import individual share links using the relevant import option. Don't paste both types into the same field. Before importing, check for extra spaces, line breaks, and incomplete URLs. Afterward, confirm that the groups and entries appear.

    If the list is empty, check whether the update message indicates a network request failure, expired authorization, or an unrecognized format. An import succeeding does not prove the connection works. Never share a subscription URL publicly or post screenshots containing credentials in a discussion forum. Android users can follow the same preparation steps in v2rayNG, though its menu names differ from the desktop version.

  2. Select a profile and choose how to capture traffic

    Choose a profile from the list to use for the current connection, then confirm that the client is using the expected core. On desktop, start with the system proxy and test in a browser, leaving routing on a basic ruleset. Look into TUN only if an app does not use the system proxy and needs it. On Android, confirm the system's VPN authorization when starting the connection, and check that another similar connection is not already using that entry point.

    The system proxy toggle and Global routing are not the same thing. The former determines whether an app sends traffic to the client; the latter determines how connections are routed after they enter the core. Check both layers to understand why an app still connects directly or why a routing change had no effect.

  3. Test access and check the runtime logs

    Test browser access with a familiar destination, then test the apps that actually need the proxy while watching the client logs. Connection refused, timeouts, and TLS handshake failures point to different stages; they should not all be dismissed as a client problem. First check the server address, port, system time, and transport parameters, then inspect the local listener and app proxy settings.

    Change one setting at a time and note what happens before and after. A single speed test reflects one target at one moment, not how every app will perform. Once testing is complete, configure automatic updates, refine routing, or adjust DNS. Before closing the client, clear the system proxy if needed so it does not keep pointing to a closed local port.

Project V, V2Fly, and Xray

Understanding the open-source ecosystem is more useful for choosing software than referring to everything as “V2Ray.” The client interface, connection core, and server configuration are three separate layers, each with its own role and release cycle.

Project V: ecosystem background

V2Ray is a widely used proxy tool in the Project V ecosystem, which has grown around protocols, transports, routing, and configuration. In everyday use, “V2Ray client” is often a broad term for either a graphical management app or the core that actually handles connections. The name is useful when searching, but check the specific component when choosing software or reading logs.

A graphical client brings profile imports, subscriptions, rule selection, and startup controls together in one interface. The core reads the configuration, listens for local connections, establishes outbound connections, and applies routing. Server details define how the remote endpoint accepts connections. Installing a client does not automatically provide server configuration, and a failed connection does not necessarily mean the graphical interface is at fault. Keeping these three layers distinct makes troubleshooting more targeted.

V2Fly and Xray core lineages

The V2Fly community continues development of V2Ray-related implementations, while Xray is another core line that grew from the same technical roots. They share some protocol background and configuration concepts, but their feature development is not fully synchronized. Some extension parameters are specific to one implementation. Being able to import VMess or VLESS links does not mean every server setup is interchangeable.

When choosing a core, start with the server's configuration requirements, then check whether the client can manage that implementation. Rather than asking abstractly which one is “faster,” confirm that the current protocol, transport, encryption, and handshake parameters are all supported. Network paths, remote load, and local conditions also affect performance; a software name cannot replace testing. For specific capabilities such as REALITY, verify the relevant core and configuration fields carefully.

How the three clients differ in licensing and use

v2rayN, v2rayNG, and v2flyNG are all open-source graphical clients, but they target different platforms and cores. v2rayN focuses on desktop profile management, with a similar workflow across operating systems. v2rayNG is for Android and uses the Xray core; v2flyNG is an Android option for the V2Fly core. Narrow your choices by device first—it's usually more effective than comparing every feature up front.

Open source means the implementation and license terms can be reviewed, discussed, and developed further. It does not mean every component shares one license or that every source of configuration is trustworthy. Clients, cores, and their dependencies may each have different licenses. For everyday use, check release notes and compatibility requirements. If you plan to modify, redistribute, or integrate components into another product, review each component's license obligations.

Check the interface and core separately when updating

Client updates may change subscription parsing, interface layout, or system compatibility; core updates may affect protocol support, field behavior, and routing. They do not always follow the same release schedule. If your profiles already work, save important settings, subscription groups, and custom rules before updating. Afterward, test the same destinations and avoid changing too many network parameters during one migration.

This page covers client selection and setup workflows; the download center lists specific packages and release information. Menu names in tutorials may change as interfaces evolve. When something looks different, focus on the purpose of the action: are you importing a profile or a subscription, changing traffic capture or routing, and is the error from the interface or the core? For field-by-field details, see the configuration reference; to compare platforms and workflows, see the client comparison.

V2Ray tips and guides

Go beyond the basic connection: learn to identify where failures occur in logs, then understand how DNS and routing work together. Articles below are listed from newest to oldest.

Download clients