Start with your device, then check what your configuration needs. v2rayN is the top pick for desktop, and v2rayNG is the top pick for Android. Choose v2flyNG only when your setup specifically requires the v2fly core. Similar names, different roles.
Subscription groupsRouting rules UISystem proxy / VPN / TUN
Platform, core and feature comparison
This table compares how the clients work, not how fast they are. Real-world connection performance also depends on server settings, your network and routing rules. Maintenance status is described in broad terms; check the installed version for its core components, menu labels and available features.
Swipe horizontally to view the table on narrow screens. Start with platform support, then compare the core and how each client handles traffic.
Features and use cases for v2rayN, v2rayNG and v2flyNG
Category
v2rayN
v2rayNG
v2flyNG
Platform support
Windows / macOS / Linux
Android
Android
Core
Xray is used for common setups. Check the installed version for compatibility with other cores and v2fly configurations.
Xray core; suited to nodes that use Xray-specific settings
v2fly core; suited to configurations built specifically for v2fly
Maintenance
Actively maintained; desktop UI and core components continue to evolve
Actively maintained; Android UI and core compatibility continue to evolve
Community-maintained; check release history for the current update cadence
Ease of use
Basic imports are straightforward; system proxy, routing and TUN take some learning
Core tasks are easy to find; VPN permission is required on first use
Similar to other Android clients; choosing a compatible core matters more
Subscription groups
Manage multiple sources in Subscription Group Settings, then update and filter by group
Save sources in Subscription Group Settings, then update your subscriptions
Subscription management is supported; group controls and menus vary by version
Routing rules UI
Graphical options such as Routing Settings make it easier to inspect domains, IPs and outbound targets
Choose a routing mode in Settings; check the installed version for custom rule support
Routing settings are available; rule controls and features depend on the version
Traffic handling / TUN
System proxy works with apps that honor proxy settings; TUN requires compatible core support and system permissions
Handles traffic through Android's VPN service; this is not the same as a desktop TUN toggle
Handles traffic through Android's VPN service; this is not the same as a desktop TUN toggle
Best for
Desktop subscription management, fine-grained routing, system proxy and TUN troubleshooting
Everyday Android connections, subscription updates, Xray setups and per-app settings
Using existing v2fly configurations and workflows on Android
Best suited to
Desktop users and advanced users who want to inspect or adjust routing
Most Android users, including those who need Xray features
Android users whose setup specifically requires the v2fly core
In-depth reviews of all three clients
v2rayN: Desktop subscriptions and routing
Top desktop pick
v2rayN brings common desktop tasks into one graphical interface: save subscription sources, update nodes, choose an active configuration, set the system proxy and adjust routing as needed. It’s a good starting point for Windows, macOS and Linux users, without requiring you to learn a complete core configuration file first.
For routine imports, start with Subscription Group Settings. Name each group after its source or purpose instead of using labels like “Subscription 1”—that makes it easier to track down a failed update later. Save the source, update subscriptions, select a node, then enable the system proxy mode you need. The system proxy directs apps that honor it to the local proxy; routing rules determine whether traffic entering the core goes through a proxy or connects directly. These are separate layers.
For more precise traffic routing, Routing Settings are easier to troubleshoot than editing an exported file directly. Checking rule order, domain and IP matches, and outbound tags is usually more useful than adding a long list of rules. TUN can handle more traffic, but it requires a compatible core, permissions and system setup. If your browser already works, there’s no need to turn on every option just for the sake of it.
The Windows download page offers Desktop and classic WPF versions. Desktop is the cross-platform UI, while WPF is the classic Windows interface; neither is a speed tier. Choose the one that matches how you prefer to work and follow its installation instructions. When migrating, keep your subscription sources and custom routes, check where the settings live in the new interface, and avoid blindly overwriting all runtime files in the old folder.
v2rayNG: Everyday Android use and Xray configurations
Top Android pick
v2rayNG is a good fit if you want to import configurations, choose nodes, connect and update subscriptions on Android. It’s built primarily on the Xray core, so check that your installed version supports the relevant fields when using Xray-specific features. Despite “V2Ray” in the name, compatibility depends on both the core and the configuration.
To import a single-node share link, use Import from Clipboard. For an address that updates over time, add it in Subscription Group Settings and then update your subscriptions. Don’t mistake a webpage URL for a subscription, and never post private subscription parameters in a public forum. The first time you tap Connect, Android will ask for VPN permission. This is the system’s way of letting the app handle traffic; it doesn’t change the server protocol.
Check routing modes in Settings—for example, “Bypass LAN and mainland China addresses.” Names may change between releases, but the troubleshooting steps stay the same: confirm the connection, check that traffic is reaching the client, then inspect how the rules route it. Sniffing can affect how some request destinations are identified, and enabling more Mux multiplexing isn’t always better. Unless your node requires it, start with the basic settings to keep variables to a minimum.
If the system stops the connection in the background, check battery optimization, background activity restrictions and the active VPN service before switching cores. Choose an Android package that matches your device’s processor architecture; arm64 is common on modern devices. If you’re unsure, check the universal build’s installation notes. Package size alone doesn’t tell you whether an app is compatible or how fast it will run.
v2flyNG isn’t meant to give every Android user another choice to weigh. It provides a graphical interface for configurations that specifically require the v2fly core. If you already have a V2Fly-specific configuration, guide or workflow, it may be a suitable alternative. A similar name alone doesn’t mean it can directly replace v2rayNG.
The basics still involve subscriptions, choosing a node and granting Android VPN permission; menus and import options depend on the installed version. Before switching, check the protocol, transport and security settings. In particular, don’t assume Xray-specific settings are supported by both cores. If some subscription entries won’t run, check their compatibility individually instead of assuming the entire subscription URL is broken.
Before installing, check the current package’s system requirements and maintenance status. Community-maintained apps don’t all follow the same release schedule, and switching clients won’t automatically fix problems on an older device. For Android beginners without a core preference, starting with v2rayNG usually makes it easier to establish a working connection and follow this site’s troubleshooting guides.
Three key differences to understand before choosing
The core and the client interface are different things
Project V is part of the broader proxy technology ecosystem, while V2Fly and Xray are separate core development paths. A graphical client presents settings, saves configurations, manages subscriptions and launches a core. The core handles protocols, transports and routing. So even when two clients both offer “import subscription,” the resulting entries may still have different core requirements.
Not every VMess or VLESS share link represents the same configuration. The protocol name is just a starting point; the transport, security settings and extra fields must also match. If the configuration source names a required core, follow that guidance. If you only have a share link, inspect the node details and error logs instead of guessing from the app’s name.
Subscriptions, system proxy and routing each do a different job
A subscription URL provides a list of nodes that can be updated; it usually doesn’t configure all traffic handling on your device. The system proxy lets desktop apps that honor system settings use a local proxy endpoint. Routing rules handle traffic that has already entered the core and choose its outbound route. If a desktop app ignores the system proxy, switching routing to global may not help.
In routing configuration, domainStrategy controls how domain and IP matching is handled, while outboundTag points to the outbound selected by a rule. A “bypass” mode in the UI is a set of routing rules, not a way to turn off the client. When comparing routing interfaces, focus on how easy it is to find, adjust and restore rules—not how many settings they offer.
TUN and Android VPN are not interchangeable
v2rayN’s TUN uses a virtual network interface to handle more traffic, and requires a suitable core, permissions and DNS configuration. Android clients use the system VPN service to create a traffic entry point; the system manages permission, app scope and background operation. Both handle traffic, but they are not the same switch, and their settings can’t simply be copied between platforms.
For a regular desktop browser, first check whether the system proxy meets your needs. On Android, confirm that VPN permission was granted and no other active VPN service is using the connection. Only investigate TUN or app scope once you know which apps aren’t being proxied. See the cross-platform installation and setup guide for platform differences, or check the FAQ for troubleshooting.
Which client to choose and where to download
Windows, macOS and Linux: v2rayN is the top pick. It covers desktop subscription management, graphical routing and several traffic handling options. When downloading, filter by operating system, processor architecture and package format; don’t use a build meant for another platform.
Android: v2rayNG is the top pick. It’s a straightforward starting point for importing subscriptions and using Xray configurations. Choose v2flyNG only when you specifically need the v2fly core, and check that your node settings are compatible first.
All three clients manage and run connection configurations; installing one doesn’t provide a working subscription. Keep the subscription source, client and core separate in your mind to make choosing and troubleshooting easier.