Platform, Core, and Configuration Compatibility

Choosing a V2Ray Client

Compare v2rayN, v2rayNG, and v2flyNG. Start with your device, then check core and configuration requirements. Similar names don't mean their features or configs are interchangeable.

Client Comparison

“Ease of use” refers to how much you need to understand to import a config, select it, and route traffic—not your technical skill. Menus and features may change between releases; check the installed app for current options. Scroll horizontally on narrow screens to see the full table.

Platform, core, and feature comparison: v2rayN, v2rayNG, and v2flyNG
Comparison v2rayN v2rayNG v2flyNG
Platforms Windows、macOS、Linux Android Android
Core Typically Xray; supported cores and config types depend on the current build Xray V2Fly, using the v2fly core
Maintenance Actively maintained; distinguish the desktop and WPF editions Actively maintained; the app and core evolve with updates Community-maintained; check the update cadence separately
Ease of Use Basic imports are straightforward; understand system proxy, TUN, and routing as separate settings A short setup for basic use; check VPN permission and background-running requirements Basic imports are straightforward; check V2Fly config compatibility separately
Subscription Groups Manage subscription groups to organize sources and update settings Manage subscription groups and updates; handy for switching configs on mobile Manage subscription configs; check the current app for group features and supported import formats
Routing UI Manage routing rules in the GUI, making it easier to organize and troubleshoot rule order on desktop Routing settings are available; presets and custom options depend on the current app version Routing settings are available; check advanced fields against V2Fly config semantics
TUN and Traffic Routing Includes a TUN option; availability depends on platform, selected core, drivers, and permissions Routes traffic through Android VpnService; this is not the same as a desktop TUN toggle Routes traffic through Android VpnService, subject to Android VPN and background-use policies
Best For Everyday desktop use, subscription management, and routing troubleshooting Android beginners and users with Xray config requirements Users with existing V2Fly configs who need consistent core behavior

v2rayN: Desktop Configuration Management

Best for Desktop

Top Pick

Available for Windows, macOS, and Linux. Subscription groups, routing settings, and system proxy controls are all in the GUI, making it a good fit for desktop users who regularly review their configs.

v2rayN's main strength is its desktop management interface. With multiple subscription sources, you can organize configs into groups and review update results separately. For traffic routing, it's easier to inspect domain conditions, outbound tags, and rule order. It works well as a desktop configuration hub without requiring you to write a complete JSON config by hand. For troubleshooting, check the logs to confirm which core is running and which config it loaded.

The Windows download page offers two options: the desktop edition and the classic WPF edition. The desktop edition uses a cross-platform interface; WPF retains the classic Windows UI. Choose based on your workflow and system compatibility—not because the interfaces imply different network protocols. For macOS, choose between Apple Silicon and Intel. On Linux, select deb or rpm for your distribution, then check the processor architecture.

Keep “system proxy” and “TUN” separate. System proxy settings mainly affect apps that honor them. TUN can route more traffic, but also requires the right permissions, routing, and DNS setup. When starting out, verify the standard proxy path before trying TUN. If an app isn't being routed, first check how traffic is being intercepted rather than immediately changing node settings.

For advanced users, v2rayN's routing interface makes rules easier to manage, but the core still needs to receive them in an executable format. Custom configs may override some GUI settings, so check the generated or loaded config and logs to confirm the actual behavior. For complex rules, use the JSON configuration reference to review how inbounds, outbounds, and routing work together.

v2rayNG: Everyday Android Use

Best for Android

Top Pick

Built on the Xray core. Import subscriptions, select a config, adjust routing, and choose which apps to route on your phone.

The basic v2rayNG workflow is simple: import a subscription or config, refresh the list, select a config, and connect. The first time you enable VPN mode, Android asks for system permission. This permission creates a local channel for routing device traffic; it doesn't replace the server address, authentication details, or transport settings. The config itself still needs to be correct.

For users with existing Xray configs, v2rayNG is usually the more straightforward Android option. But using Xray doesn't guarantee that every field can be edited in the app. Some advanced settings require importing a custom config, and some features depend on the bundled core. If fields disappear after converting a subscription, check the imported content before repeatedly switching routing modes.

Traffic routing on phones also depends on the Android environment. Another app using the system VPN slot may conflict with the connection. Battery-saving policies can limit background activity, and per-app routing may leave some apps outside the proxy. If some apps stop working after you connect, check app selection, DNS, and routing conditions separately. Android showing “VPN connected” only means the local tunnel is up; it doesn't confirm that requests are reaching their destination.

v2rayNG suits users who want familiar subscription and routing controls without a desktop-style bulk editing interface. You can use the same subscription source on desktop and mobile, but group names, UI options, and local ports don't have to match. Follow the setup guide to verify each step, and avoid changing several advanced settings at once.

v2flyNG: The V2Fly Core Alternative

Choose It for the Core

V2Fly

For Android users with existing V2Fly configs and a specific compatibility requirement. It's an alternative based on a different core—not a general-purpose replacement for v2rayNG.

Choose v2flyNG for its core, not its name. Project V was a key starting point for this open-source proxy ecosystem. V2Fly continues community development of a related core, while Xray follows a separate development path. They share some protocols and configuration concepts, but their extensions, supported fields, and behavior don't always match.

v2flyNG has a clear use case if you already have a tested V2Fly config and want to keep the same core family on Android. Before migrating, check the protocol, transport, DNS fields, and routing rules. Seeing “routing settings” in both apps doesn't mean every advanced option can be copied over. For configs written for Xray-specific features, first confirm that V2Fly supports them before importing.

Consider maintenance separately from feature compatibility. Apps and cores follow their own release schedules, so a similar-looking interface doesn't mean security fixes or protocol support are in sync. This guide treats v2flyNG as a community-maintained alternative, not a recommendation based on a particular release date or version number. Before relying on it long term, confirm that the current build installs, starts, and loads your config on your device.

If you don't need V2Fly, start with v2rayNG on Android. Don't run both clients at once to “stack” connections, and don't switch clients to fix an expired subscription. Changing clients only changes the local implementation; it can't repair an invalid server config.

Choose by Use Case

What to Check Before Installing

  1. Check the platform and processor. For desktop, choose the v2rayN download for your platform; for Android, use the mobile client section. Match both the package format and processor architecture.
  2. Check which core your config needs. The protocols and transport settings in your subscription matter more than the client name. If your existing config specifies a core, follow its compatibility requirements.
  3. Check which traffic needs routing. Routing only browser traffic through the system proxy is different from routing traffic from more apps through the client. Decide what you need before enabling the relevant feature.
  4. Know where to find diagnostics. After installation, locate the logs and subscription update results. When an error occurs, note the stage and distinguish an import failure from a core startup, DNS resolution, or remote connection failure.

The choice can be simple: start with v2rayN on desktop and v2rayNG on Android. Use v2flyNG only when you specifically need V2Fly core compatibility. All three handle local configuration and traffic; subscription validity, server settings, and network conditions still need to be checked separately.

Go to the clients and downloads page and choose the option for your system and processor architecture. If you've installed a client but can't connect, troubleshoot by stage in the FAQ. To identify protocol and core names, see the glossary.