CLIENT SELECTION

v2rayN, v2rayNG, and v2flyNG client comparison

Start by ruling out clients that do not support your operating system, then compare the core, subscription management, routing controls, and TUN workflow. For desktop use, start with v2rayN; on Android, compare v2rayNG with v2flyNG.

DECISION ORDER

Check the platform first, then the core and features

The client names are similar, but their roles differ. The platform is the first filter; core compatibility and workflow determine the next choice.

STEP 1

Confirm the target platform

v2rayN targets Windows, macOS, and Linux desktops, while v2rayNG and v2flyNG target Android. Desktop and mobile clients are not interchangeable packages, even when their names look similar.

STEP 2

Identify the core family

v2rayNG primarily uses the Xray core, while v2flyNG uses the v2fly core. v2rayN is a desktop GUI front end, and its common configurations follow the Xray path. If an existing configuration uses specific protocols or transport parameters, confirm that the core can parse them correctly first.

STEP 3

Compare the management workflow

When you have many nodes, subscription groups, batch updates, filtering, and routing controls matter more than a simple connect button. For a few fixed nodes, a clear import and startup flow is usually the better priority.

COMPARISON MATRIX

Feature comparison of the three clients

The learning curve is relative and does not indicate how many features a client has. Complexity mainly comes from platform permissions, the number of routing rules, and how subscriptions are organized.

v2rayN, v2rayNG, and v2flyNG: platform, core, and feature comparison
Comparison criteria v2rayN v2rayNG v2flyNG
Platform support Windows、macOS、Linux Android Android
Primary core path Xray is the common choice; the desktop front end manages the core and configuration Xray v2fly
Maintenance status Actively maintained Actively maintained Actively maintained
Relative learning curve Moderate; there are more settings, but the desktop workflow is centralized Low to moderate; connect after importing, while advanced rules require some learning Moderate; basic operations are straightforward, but core differences require extra checking
Subscription groups Well suited to managing multiple subscription sources, grouped updates, and batch operations Supports subscription management and regular node updates on mobile Provides basic subscription management, with the v2fly core path as the main focus
Routing rule interface The larger desktop workspace makes it easier to review how rules, outbounds, and logs relate to one another Provides mobile routing controls for domain, IP, and app-based rules Uses v2fly routing capabilities; check configuration compatibility before applying complex rules
TUN and system integration Supports the system proxy and can be configured for TUN mode when appropriate Uses the Android system VPN service to handle traffic, which suits routine mobile use Supports the Android VPN connection path; behavior depends on the core configuration
Standout features Subscription groups, batch node operations, routing rules, log window, and system proxy modes QR code and link imports, per-app proxying, mobile routing, and quick connection v2fly core, subscription imports, mobile proxying, and basic routing controls
Best suited to Desktop users, users with multiple subscriptions, and advanced users who fine-tune routing and inspect logs Everyday Android users and anyone configuring a mobile proxy for the first time Users who specifically need the v2fly core or maintain existing v2fly configurations
Choose it when Your primary device is a computer, or you need centralized management for many nodes Your primary device is Android and your configurations mainly follow the Xray-compatible path Your existing configuration clearly depends on v2fly core behavior

On narrow screens, swipe horizontally to view the full table. Maintenance status is a qualitative description; actual features depend on the current client interface and core support.

CLIENT NOTES

Where each client fits

Choosing a client is not just about whether it connects. Consider how easily you can update subscriptions, edit routing, troubleshoot errors, and migrate configurations later.

Best desktop choice

v2rayN: desktop subscription and routing management

DESKTOP / XRAY

v2rayN suits users who rely on a computer as their primary workspace. Its value is not just starting a node; it brings server lists, subscription groups, core settings, system proxy controls, routing rules, and runtime logs into one desktop workflow. As the node list grows, organizing it by subscription source makes updates easier to track and shows exactly which group changed.

A desktop screen can display node names, protocols, addresses, ports, groups, and test results at once, making duplicate or inactive nodes easier to handle than on mobile. When a connection fails, review the client message and core log together, then troubleshoot in this order: system proxy, node reachability, protocol parameters, routing rules, and DNS. There is no need to jump between multiple screens.

Keep in mind that v2rayN has many settings. On first use, do not change everything at once. Import a subscription, select a node, enable the system proxy, and verify it in a browser first. Consider TUN mode and its permissions and routing settings only if an app does not follow the system proxy or broader traffic capture is genuinely needed.

Choose v2rayN when

  • Windows / macOS / Linux desktop environment
  • Multiple subscription sources and node groups
  • You need a graphical entry point for routing rules
  • You frequently inspect core runtime logs
  • You use the system proxy and TUN for different scenarios
Download the desktop client
Best Android choice

v2rayNG: the common Xray path on Android

ANDROID / XRAY

v2rayNG targets Android and lets you import nodes from subscription links, configuration links, or QR codes before connecting. For most mobile users, the workflow is short: import the configuration, update the subscription, select a node, start the system VPN service, and check the browser and target app. Common features are available from the main screen and side settings, so the initial learning curve is usually lower than a full desktop management workflow.

Advanced features include choosing which apps use the proxy, configuring domain and IP routing, adjusting DNS, and viewing connection logs. Per-app proxying helps when the browser works but a particular app does not use the proxy. Check the list mode carefully: does it proxy only selected apps, or exclude them? Reconnect after changing the rules, then test both apps separately instead of judging by the connection icon alone.

v2rayNG follows the Xray core path, making it a good fit for users with Xray-compatible nodes or an Xray-based desktop setup. You can share one subscription source across devices, but do not copy every desktop setting to mobile unchanged. System proxy, TUN, per-app proxying, and battery background limits differ by platform and must be configured separately.

Choose v2rayNG when

  • Everyday Android connections
  • Xray core configurations
  • Subscription link or QR code imports
  • You need per-app control over proxy coverage
  • You need mobile routing controls
Download the Android client
Alternative core

v2flyNG: the v2fly-compatible core path

ANDROID / V2FLY

v2flyNG also runs on Android, but the deciding factor is not its appearance; it is the v2fly core. If an existing configuration comes from the v2fly ecosystem, needs to preserve established routing behavior, or requires testing differences between Xray and v2fly, v2flyNG is a clear alternative. It also handles basic tasks such as subscription imports, node selection, and mobile connections.

When migrating from another client to v2flyNG, do not check only the server address and port. Protocol, security parameters, transport, TLS settings, hostname, path, routing outbound tags, and DNS configuration can all affect the result. The safest approach is to import one known-good basic node, verify the connection and DNS, then add custom routing gradually. Do not change the core, subscription, and rule set at the same time during the first test.

If you have no specific v2fly core requirement, v2rayNG is usually the first choice for everyday Android use. If the configuration source or maintenance workflow is already built around v2fly, v2flyNG is the better fit. The two clients may read similar sharing data, but importable fields do not guarantee identical core behavior; review complex configurations item by item.

Choose v2flyNG when

  • You specifically need the v2fly core
  • You maintain an existing v2fly configuration
  • You need to distinguish core compatibility differences
  • Your needs center on basic subscriptions and connections
  • You are willing to verify complex parameters individually
View Android download options

SCENARIO GUIDE

Choose a client by use case

One client can cover several scenarios, but the starting point and priorities differ.

FEATURE INTERPRETATION

Feature differences that are easy to confuse

Settings with the same name may control traffic differently on desktop systems and Android.

SUBSCRIPTION

Subscription groups

Subscription groups answer where nodes come from, how they are updated in batches, and how their purposes are separated. v2rayN is better suited to reviewing many nodes and sources on a desktop, while v2rayNG and v2flyNG work well for regular mobile updates. Updating a subscription does not guarantee that the currently selected node still exists; after updating, recheck the active node, group, and routing references.

ROUTING

Routing rule UI

The routing interface is only a configuration entry point; the core performs the final match. To determine whether a rule works, check match order, domain strategy, IP rules, inbound tags, and outbound tags. Desktop is better for editing and reviewing long rule sets, while mobile is better for maintaining a small number of clear rules. The more rules you have, the more important it is to avoid changing DNS and proxy mode at the same time.

TUN / VPN

TUN and the system VPN service

In v2rayN, the system proxy mainly affects programs that honor proxy settings, while TUN mode captures a broader range of traffic. Android clients typically create a local tunnel through the system VPN service. Both may make it appear that more apps can connect, but their permissions, routing tables, and troubleshooting methods differ. Confirm that the regular proxy path works before enabling either mode.

CORE

Xray and v2fly

They are different core families within the broader Project V ecosystem. Their basic configuration concepts overlap, but extensions, supported fields, and exact behavior are not always the same. A basic subscription may work with both, but configurations involving special transport parameters, complex routing, or core-specific features should use the client that matches the configuration source, with logs used to confirm the load result.

MIGRATION CHECKLIST

Checklist before switching clients

Migration failures are usually not download problems; the subscription, core, and local routing settings were not checked together.

  1. Record subscription sources and groups

    Identify which nodes come from subscriptions and which were added manually. During migration, restore subscriptions first, then handle a small number of local nodes to avoid duplicate imports.

  2. Confirm the target client's core

    When switching from the Xray path to the v2fly path, or back again, check that protocol fields, transport settings, and routing syntax are supported by the target core.

  3. Verify a single node with a basic connection

    Temporarily use simple routing and confirm that the node handshake, DNS, and browser access work. Restore split routing and per-app proxying only after the basic path is working.

  4. Reconfigure system traffic capture

    Desktop system proxy, desktop TUN, and the Android system VPN service are not the same setting that can be copied directly. Reauthorize and enable the appropriate option on the target platform.

  5. Use logs to locate differences

    If a node works in the old client but fails in the new one, first compare core errors and the configuration actually loaded. Do not simply keep switching nodes.

FINAL SELECTION

Choose v2rayN on desktop and v2rayNG on Android

Users on Windows, macOS, and Linux should start with v2rayN for subscription groups, routing management, system proxy controls, and log troubleshooting. Android users should start with v2rayNG. Choose v2flyNG only when you specifically need the v2fly core, maintain an existing v2fly configuration, or are testing core compatibility.

Before downloading, confirm your operating system and processor architecture. After installation, complete the first setup in this order: import the configuration, select a node, start the connection, and verify traffic. Enter troubleshooting only if needed, and avoid changing multiple advanced options at once.