Windows
Choose v2rayN. The desktop edition uses a cross-platform interface, while the WPF edition retains the classic Windows UI.
View Windows downloads →v2rayN · System Proxy
Static UI illustration · Traffic handling and routing are configured separately
Choose a platform first, then check the core and traffic-handling method. v2rayN is the top pick for desktop, and v2rayNG for Android. Consider v2flyNG if you need to keep using V2Fly configurations.
Clients manage connection settings; installing one does not provide a working subscription.
Desktop and Android differ in permissions and how they handle traffic. Feature names alone aren't enough to tell which client is right for you.
Choose v2rayN. The desktop edition uses a cross-platform interface, while the WPF edition retains the classic Windows UI.
View Windows downloads →Choose v2rayN. Select a package for your Apple Silicon or Intel processor.
View macOS downloads →Start with v2rayNG; choose v2flyNG if you specifically need the V2Fly core.
View Android downloads →Choose v2rayN. Select a deb or rpm package based on your distribution and processor architecture.
View Linux downloads →All three clients offer a graphical interface, but they aren't simply three skins for the same platform. v2rayN focuses on desktop management, while v2rayNG and v2flyNG are two Android clients built around different cores. Rule out clients for the wrong platform first; then compare the rest.
Swipe horizontally to view the table on narrow screens. Menus, protocol combinations and system requirements depend on the installed version and bundled core.
| Feature | v2rayN | v2rayNG | v2flyNG |
|---|---|---|---|
| Platforms | Windows、macOS、Linux | Android | Android |
| Core | Typically Xray; available cores and how they're invoked depend on the release, configuration type and client version | Xray core | V2Fly core |
| Maintenance | Actively maintained; features and menus may differ between the desktop and WPF editions | Actively maintained; features and bundled core change with releases | A maintained alternative; its release cadence may differ from v2rayNG |
| Ease of use | Basic imports are straightforward; system proxy, routing and TUN settings are distinct | Easy to get started; the first connection requires permission to use Android's VPN service | Similar workflow to other Android clients; check configuration compatibility first |
| Subscription groups | Group management, updates and subscription settings | Subscription group settings and update controls | Subscription management; menus vary by installed version |
| Routing rules UI | Manage routing configurations and edit rules in one place, ideal for desktop setup | Routing modes and rules are available; fine-grained options depend on the UI and core | Routing settings are available; rules must match the V2Fly core |
| TUN and traffic handling | TUN settings are available; require the relevant components, system permissions and routing environment | Routes traffic through Android's VPN service; this is not the same as a desktop TUN switch | Routes traffic through Android's VPN service; still subject to system permissions and background restrictions |
| Best for | Desktop users who manage subscriptions and troubleshoot routing | Android users who need Xray configuration support | Android users with existing V2Fly configurations who need to preserve the behavior of that core |
Maintenance status is a general indication, not a promised release schedule or support commitment. Before upgrading, check system requirements, configuration migration notes and core changes. Similar-looking interfaces do not mean every configuration can be moved between apps unchanged.
v2rayN is a good fit for managing subscriptions, reviewing configuration details and adjusting routing on a computer. Its wide interface can show groups, server lists and status information at once, making it easier to check system proxy and local listener settings when troubleshooting. Windows, macOS and Linux users can start with the same client instead of learning a different workflow for each desktop OS.
The Windows download page offers a desktop edition and the classic WPF edition. The desktop edition uses a cross-platform interface, suited to users who want a similar workflow across desktop operating systems. The WPF edition keeps the classic Windows interface and is a good fit if you already know its menus and management flow. Menu labels may differ between editions, so tutorial screenshots aren't guaranteed to match pixel for pixel.
For your first setup, import a subscription and confirm a basic connection before considering TUN. Apps such as browsers that follow the system proxy can usually test the connection through that setting first. If an app ignores the system proxy, then consider its built-in proxy options or TUN. TUN is a different way to route traffic, not a setting that makes the connection faster.
A routing rules UI makes editing easier, but rule order, DNS resolution strategy and match conditions still determine what happens. Subscription updates may replace or refresh subscription content; whether manual changes are preserved depends on the group settings. Back up your local configuration before important changes, and avoid running multiple apps that manage the system proxy or virtual network at the same time.
View desktop downloads · Learn about system proxy and routing
v2rayNG uses the Xray core and is a solid default for Android. The main workflow is to import a subscription, update it, select a configuration and connect. For combinations such as VLESS and REALITY, check that the Xray core and client support the required fields rather than relying on a protocol name alone.
When you connect for the first time, Android asks you to approve VPN access. This VPN service is a local interface for routing device traffic; it doesn't provide a remote service. If you enable per-app proxying, check whether you're using an allowlist or a blocklist. Choosing the wrong one can leave target apps outside the proxy or route apps that should be excluded.
Android generally allows only one app to use the standard VPN connection at a time. If another tool already uses it, starting v2rayNG may replace that connection. If connections drop in the background, check battery optimization, background activity and system restrictions before assuming the server is at fault. Switching clients won't resolve these system-level issues.
You can add the same subscription on a computer and a phone, but whether it imports and connects depends on its format, protocol parameters and server restrictions. Android doesn't need the desktop system proxy settings copied over, and the desktop's local listening port isn't a value your phone must reuse. Confirm the basic connection first, then adjust settings for your apps and routing needs.
v2flyNG uses the V2Fly core, making it useful for preserving configurations and behavior from that core's ecosystem. Consider it if you already have a configuration designed for V2Fly, need to check parameters against its documentation or want to test the same core on Android. It's not a “lite” edition for older phones, and its name alone says nothing about resource usage.
A similar interface doesn't guarantee configuration compatibility. Some protocol features or fields implemented in Xray have no equivalent in the V2Fly ecosystem. A configuration that includes REALITY, for example, won't work just because you can copy its share link. Before migrating, check the transport, security layer, authentication parameters and extension fields. Repeatedly updating a subscription won't fix a core that lacks support.
If v2rayNG already meets your needs and you don't specifically need a V2Fly configuration, there's no reason to switch just to compare the names. If you do want to test v2flyNG, keep your working configuration and note each app's settings. Run only one connection at a time so you can tell an import issue from an unsupported core feature or a system permission conflict.
Project V provides context for the V2Ray ecosystem. V2Fly continues development related to V2Ray, while Xray is a separate core that grew from related code. GUI clients import, edit and start configurations; cores handle protocols, transport and routing. Client names, core names and protocol names refer to different layers and are not interchangeable.
The main difference between v2rayNG and v2flyNG is their core. v2rayN's desktop management capabilities also shouldn't be equated with any one core. Which component a desktop configuration uses depends on the installed package, configuration type and settings. Even when routing modes share a name, their underlying resolution strategies and rule extensions may differ.
Choose a core based on the configuration you actually need. Along with protocol names such as VMess, VLESS and Trojan, check the transport, security layer and optional parameters. REALITY is a transport security mechanism, not a separate client. If you need it, confirm you're using a compatible Xray setup and version.
Core differences alone don't determine speed. Real-world performance also depends on the network path, server status, DNS, routing rules and device resources. First check whether the configuration is supported and whether the system can route traffic as needed. Connection performance is only meaningfully comparable when those basics are consistent.
Without a specific configuration requirement, the choice is simple: v2rayN for desktop and v2rayNG for Android. Keep v2flyNG in mind for Android setups that specifically require the V2Fly core. All three are open-source clients; choose based on platform support, configuration compatibility and workflow—not which name sounds most like V2Ray.
Go to the download page to choose a client and package. For first-time setup, continue with the user guide. If the client is installed but subscription updates fail, go straight to troubleshooting subscription update failures—there's no need to switch clients first.