Client Guide / Desktop and Android

v2rayN, v2rayNG, and v2flyNG Compared

Choose a client based on your device, then check which protocols and cores your subscription requires. Start with v2rayN on desktop and v2rayNG on Android; consider v2flyNG when you need the v2fly core.

Desktopv2rayNWindows · macOS · Linux
Androidv2rayNGXray core
Android alternativev2flyNGv2fly core

Compare the Three Clients by Use Case

The features below reflect common usage. Menu names and available options may vary by client, core, and system permissions. Check the current client interface before configuring it.

v2rayN, v2rayNG, and v2flyNG Feature Comparison
Category v2rayN v2rayNG v2flyNG
Platforms Windows、macOS、Linux Android Android
Core options Manage cores on desktop; check the selected core before use Xray v2fly
Maintenance Actively maintained; check desktop release notes Actively maintained; check Android release notes Check current maintenance and compatibility before use
Ease of use Common tasks are grouped in the desktop interface, with plenty of advanced settings Import a subscription, then choose a configuration on your phone First confirm that your subscription is compatible with the v2fly core
Subscriptions Group subscriptions, update them, and organize the list Import and update subscriptions, then choose a configuration Import subscriptions and choose a configuration; features vary by version
Routing UI Manage routing settings in the desktop interface Routing-related settings available on mobile Adjust the options available in the client
TUN and traffic handling Configure TUN based on platform and core support, or use the system proxy Routes device traffic through the Android VPN interface Routes device traffic through the Android VPN interface
Best for Desktop users and anyone managing multiple subscription groups Most Android users Android users who specifically need the v2fly core

Swipe horizontally to view the table on narrow screens. Android's VPN interface and desktop TUN settings are different features; don't assume they're equivalent based on their names alone.

A Closer Look at Each Client

Your platform determines where to start; the core and settings interface shape the next steps.

Top Desktop Pick

v2rayN

Windows · macOS · Linux

v2rayN brings desktop subscription, server, and routing management together. Import a subscription, create groups, and update or organize configurations separately. When you need to change how traffic is handled, check your routing settings and system proxy status. If you use several subscriptions, naming groups first and selecting a configuration from the right group is clearer than searching through a long server list.

There are also more settings than a simple connect toggle. If you're new to the client, start with the basics: import a subscription, select a configuration, and enable the system proxy. Once everything works as expected, explore TUN, DNS, or switching cores. TUN availability depends on OS permissions and the client and core configuration; if you don't need to route more traffic, start with the system proxy. Choose an installer that matches your operating system and device architecture, and don't confuse the desktop release with the classic Windows WPF release.

Go to the v2rayN desktop download page →
Top Android Pick

v2rayNG

Android · Xray

v2rayNG is an Android client powered by the Xray core. A typical setup is to import a subscription link, update the configurations, select a server, and connect. Android will ask for VPN permission when connecting; this lets the client manage device traffic through the system interface. If you need per-app traffic handling, check the per-app proxy settings rather than changing every rule from the start.

With v2rayNG, first check that the current client and core can parse the configurations in your subscription. Matching protocol names don't guarantee compatibility: transport or security fields may differ. If importing succeeds but the connection doesn't work, check the subscription update, configuration fields, and logs before changing routing. Switching clients alone usually won't fix incorrect server-side parameters.

Go to the v2rayNG Android download page →
Alternative Core

v2flyNG

Android · v2fly

v2flyNG is also an Android client, but it uses the v2fly core. Its main use case isn't an older device or a simpler interface; choose it when your configuration specifically requires the v2fly core, or when you want to use protocols and features supported by that core family. Before importing a subscription, check the provider's protocol, transport, and security settings to confirm that the current core supports the required fields.

If both Android clients can read the same configuration, choose based on the settings you need. If it depends on a specific core feature, prioritize core compatibility. Users with older phones should also check installer architecture, Android version, and available storage rather than choosing based on the phone's age alone. Test one configuration after installation, then add other subscriptions and routing rules gradually.

Go to the v2flyNG Android download page →

Choose Where to Start Based on Your Use Case

You don't need to configure every advanced option at once. First get one configuration with known settings working, then add groups or routing rules.

Check These Three Things Before Choosing a Client

Confirm your device platform and installer architecture, the protocols and core required by your subscription, and how you want to route traffic. Start with v2rayN on desktop or v2rayNG on Android; consider v2flyNG only when your configuration requires the v2fly core.

A client provides a way to load configurations; you still need to verify the subscription itself. If you're unfamiliar with VMess, VLESS, REALITY, or how cores relate, start with the Protocol and Core Reference. To follow the interface through your first import, continue with the Getting Started Guide.

Go to Downloads