Confirm Your Platform
Start with v2rayN on desktop; choose between v2rayNG and v2flyNG on Android. They are not interchangeable clients for the same platform.
These three clients target different devices and core implementations. Start with your operating system, then compare subscriptions, routing, TUN, and per-app proxy features to make a quick choice.
A client with more features is not automatically the better choice. Your operating system narrows the options, subscription compatibility determines the core, and only then should you consider TUN, per-app proxy, or complex routing.
Start with v2rayN on desktop; choose between v2rayNG and v2flyNG on Android. They are not interchangeable clients for the same platform.
For common Android use, start with v2rayNG and its Xray core. Choose v2flyNG when the provider explicitly requires the V2Fly core or your existing setup is built around V2Fly.
If you manage multiple subscriptions, edit complex routes, or use TUN on desktop, v2rayN’s large-screen interface makes verification easier. On mobile, focus on per-app proxy and background-operation settings.
Maintenance status is described qualitatively and does not treat short-term update frequency as a measure of long-term usability. Features may also vary with system permissions, core capabilities, and configuration methods.
| Comparison Criteria | v2rayN Top Desktop Pick | v2rayNG Top Android Pick | v2flyNG Alternative Core |
|---|---|---|---|
| Platform Support | Windows、macOS、Linux | Android | Android |
| Primary Core | Commonly paired with Xray on desktop, with built-in controls for core and configuration management | Xray | V2Fly |
| Maintenance Status | Actively maintained | Actively maintained | Actively maintained, with a focus on V2Fly core users |
| Learning Curve | Basic connections are easy; advanced options are extensive | The basic workflow is clear, but you need to understand system VPN permissions | The basic workflow is similar to v2rayNG; confirm your core requirements first |
| Subscription Groups | Well suited to managing multiple subscription sources, with notes, groups, and filters for organizing server lists | Supports subscription management for routine updates and switching on mobile | Supports standard subscription import and updates, with a workflow designed for mobile use |
| Routing Rules Interface | Large-screen editing and review are easier, making it suitable for maintaining many rules | Provides routing controls for common rules and mobile adjustments | Provides routing configuration based on V2Fly core capabilities |
| TUN and System Traffic Capture | Supports TUN-related settings; activation depends on system permissions and the network environment | Captures traffic through the Android VPN service and supports per-app proxy settings | Runs through the Android VPN service, with app scope configurable according to client capabilities |
| Key Features | Desktop subscription groups, routing-rule UI, system proxy, TUN, logs, and connection management | Per-app proxy, subscription updates, routing settings, and import via QR code or clipboard | V2Fly core support, mobile subscription management, app scope, and routing configuration |
| Ideal Users | Desktop users, users with multiple subscriptions, and advanced users who need detailed routing, TUN, and log inspection | Most Android users and mobile users who need per-app proxy control | Users with V2Fly-specific configurations or those who want to stay consistent with the V2Fly ecosystem |
The sections below explain not only what each feature is called, but also what it means in everyday configuration and when a fully featured setup would add unnecessary complexity.
Desktop clients for Windows, macOS, and Linux
View v2rayN Installation Packagesv2rayN brings subscriptions, server lists, routing, system proxy, TUN, logs, and core settings into one graphical interface. With one subscription, the routine is simply to update it, select a server, choose a proxy mode, and connect. With multiple sources, groups, notes, keyword filters, and sorting keep the list manageable.
The large desktop screen is another major advantage of v2rayN. Complex routing rules may include domains, IPs, protocols, inbound tags, and outbound tags, all of which are easier to verify one by one on desktop. When changing TUN, DNS, or bypass rules, you can also view logs and the current connection state together, making configuration conflicts easier to diagnose.
There are many controls, but new users do not need to change them all on the first launch. Keep the defaults, import a subscription, and establish a basic connection before learning about system proxy, traffic routing, and TUN. Windows users must also choose between the desktop edition and the classic WPF edition; macOS and Linux users should confirm the CPU architecture and package format on the download page.
An Android client powered by the Xray core
View v2rayNG Installation Packagesv2rayNG focuses on mobile connections and rule management. After importing a subscription, you can switch servers, adjust routes, test the connection, and view logs. Traffic capture is established through the system VPN service, so Android will show a system authorization prompt the first time you connect; this is a standard operating-system step.
Per-app proxy is one of v2rayNG’s most useful mobile features. You can choose which apps use the current connection and which keep their normal network path. This is clearer than applying the same proxy rule to every app when only a few need it. For long-running background use, add the client to the system’s battery-optimization allowlist and check the manufacturer’s background restrictions to prevent the connection from being paused after screen lock.
A phone screen is not ideal for frequently editing long rule sets. Common traffic splitting can be handled in the client, but with many rules it is safer to organize subscription notes and essential rules first, keeping only configurations with a clear purpose. When a connection fails, check the current server, VPN authorization, and logs first, then inspect routing and DNS instead of changing several options at once.
An Android client powered by the V2Fly core
View v2flyNG Installation Packagesv2flyNG and v2rayNG both target Android, but their most important difference is not the color scheme or button placement—it is the core. v2flyNG uses the V2Fly core and is better suited to users with V2Fly configurations, existing V2Fly behavior to preserve, or a need to stay consistent with other V2Fly environments.
If the subscription provider has no core requirement and you do not need V2Fly-specific behavior, v2rayNG is usually the more straightforward Android choice. Conversely, if an existing configuration has been refined around V2Fly over time, v2flyNG avoids the cost of relearning core differences. Base the decision on actual protocol and transport compatibility rather than repeatedly installing clients at random.
v2flyNG also requires system VPN authorization, background permissions, and sensible battery settings. Its subscription import, server selection, and connection workflow are similar to those of common Android GUI clients. Before using it, confirm the configuration requirements with the subscription provider, then choose arm64 or the universal package; when the device architecture is unclear, the universal build makes the initial installation easier.
If the platform and core still do not provide a clear answer, compare the four common scenarios below. Each recommendation leaves room for later adjustments, so you do not need to configure every advanced feature during the first installation.
These terms often appear together in client settings, but they address different layers of the setup. Understanding the boundaries makes both client selection and connection troubleshooting easier.
Subscriptions provide server configurations in bulk, while groups distinguish different sources or purposes. With one subscription, basic updates are enough; with several, notes, groups, keyword filters, and sorting can significantly improve efficiency. v2rayN’s desktop list is better for bulk organization, while v2rayNG and v2flyNG are convenient for updates and switching among frequently used servers on a phone.
Routing can send traffic to different outbounds based on domains, IPs, protocols, or application scenarios. New users do not need to write complex rules first; common presets usually cover basic needs. As the rule set grows, verify the matching order one rule at a time and reconnect after changes so the new configuration applies to the current session. Desktop is better for editing and reviewing long rules; mobile is better for maintaining a small set of frequently used entries.
System proxy mainly affects apps that honor proxy settings, while TUN or the Android VPN service can process more traffic at the system network layer. They are not performance options that must be enabled; they address cases such as apps ignoring the system proxy or requiring unified traffic routing. Before enabling them, confirm permissions, DNS, and routing. If problems occur, return to basic proxy mode to isolate the cause.
The GUI client imports, displays, and manages configurations; the Xray or V2Fly core actually handles protocols, transports, and routing. That is why choosing between v2rayNG and v2flyNG cannot be based on visual similarity alone. Follow the compatibility guidance when a subscription specifies a core; without special requirements, v2rayN on desktop and v2rayNG on Android are the clearest defaults.
This combination covers most everyday scenarios: v2rayN handles desktop configuration on Windows, macOS, and Linux, while v2rayNG handles Android connections and per-app proxy. Reserve v2flyNG for users who specifically need the V2Fly core; there is no need to install all three clients just to compare them.
On the download page, select your platform tab first, then confirm the CPU architecture and package type. Windows users can choose between the desktop edition and classic WPF edition; macOS users must distinguish Apple Silicon from Intel; most Android devices use arm64, while devices of unknown architecture should use the universal build; on Linux, choose deb or rpm according to your distribution.