v2rayN · v2rayNG · v2flyNG

V2Ray ClientsDownload & Setup

From importing subscriptions to routing traffic, check the actual settings and use core logs to pinpoint issues.

VMessVLESSTrojanREALITY
Xray CoreV2Fly Core
SETTINGS / CONFIGURATION

Subscriptions, proxy, and routing settings

First identify where the connection stops, then adjust the relevant setting. The system proxy directs traffic into the client, routing determines where it goes, and the core handles the connection. These layers are not interchangeable.

v2rayN / Subscription Groups
Subscription Group SettingsEdit →
Update Subscription (without proxy)Direct
Update Subscription (through proxy)Via proxy
Import multiple URLs from clipboardShare links

A subscription URL retrieves server configurations; a share link usually describes a single connection. Save the URL in v2rayN's subscription group settings, then update the subscription. If your proxy isn't connected yet, try “Update Subscription (without proxy)” first. If the URL is only reachable through a proxy, update through the proxy once you have a working connection. A subscription group is easier to refresh than importing share links one by one, but it won't fix an expired URL. In v2rayNG, open subscription group settings from the sidebar; menu names may vary by version.

CLIENTS / CHOOSE A CLIENT

Choose a download for your operating system

Use v2rayN on desktop and consider v2rayNG on mobile. Choose v2flyNG when you need compatibility with V2Fly configurations. Match the installer to your processor architecture and package format; you don't need to install every client on the same device.

Windows

v2rayN

Choose between the desktop edition and the classic WPF edition. The desktop edition uses a cross-platform interface, while WPF retains the familiar classic desktop layout. If you have a preferred interface, start there, then check the system requirements before installing.

On first launch, check the core logs to confirm the core started successfully, then enable automatic system proxy configuration. If your browser has a manual proxy or extension rules configured, check those too so requests aren't sent to an old port.

macOS

v2rayN

Choose the Apple Silicon or Intel installer to match your processor. Check “About This Mac” for your chip or processor details. Each architecture requires a different installer, so don't rely on the device's appearance or purchase date.

After installation, check that the app is running and review the network proxy settings. If you switch between Wi-Fi, Ethernet, or other network services, recheck the proxy options for the active service and confirm the system settings point to the running client.

Android

v2rayNG / v2flyNG

Start with v2rayNG, which is based on Xray. If you need compatibility with V2Fly configurations, see the v2flyNG alternative. Most modern devices use arm64; if you're unsure of your architecture, check the universal package notes.

To connect, grant the required system VPN permission. If the connection drops when the app goes into the background, check battery optimization and background activity restrictions. If only certain apps can't connect, check per-app proxy settings before deleting and reimporting the subscription.

Linux

v2rayN

Choose deb or rpm to match your distribution, then select the x64 or arm64 build for your processor. The package format determines how to install the app; the processor architecture determines whether it can run. Check both separately—your distribution name doesn't tell you the architecture.

System proxy support varies across desktop environments and apps. If a browser works but another app connects directly, check that app's proxy settings. A connected status in the interface doesn't mean every process uses the same network route.

QUICK START / FIRST CONNECTION

Import, connect, verify

The client doesn't provide a remote connection service. Before you begin, get a working subscription URL or share link and confirm that you have permission to use it. Installing the app without connection details won't give you access.

  1. Import a subscription and select a server

    On desktop, save the URL in subscription group settings, update the subscription, then select a server. To import a single share link, use the clipboard import option. On mobile, distinguish subscription URLs from individual links and use the appropriate import option. After importing, check that the protocol and server details are complete. If the list is empty, check the update logs, whether the URL has expired, and whether your network can retrieve the subscription.

  2. Enable a connection method and choose a routing mode

    For everyday use with v2rayN, start with “Set system proxy automatically” and “Bypass mainland China (Whitelist)” for split routing. With v2rayNG, start a connection and grant system VPN permission. System proxy, VPN access, and routing rules operate at different layers: the first two send app requests to the client, while routing selects the outbound connection. Confirm the connection with the default rules before adding exceptions; changing one setting at a time makes issues easier to pinpoint.

  3. Verify with browsing results and logs

    Visit a site that should connect directly and one that should use the proxy. Check whether the logs show each request and its selected outbound connection. A running core only confirms that the configuration loaded; a page loading in your browser doesn't prove all traffic is routed as intended. If there are no request logs, check the app's proxy settings and the log level. If you see connection errors, check the remote address, protocol parameters, and DNS. Change one setting at a time and repeat the same tests so you can compare results.

OPEN-SOURCE ECOSYSTEM / PROJECT & CORE

Project V, V2Fly, and Xray

First, distinguish the project ecosystem, proxy core, and graphical client. Similar names don't mean configurations are interchangeable, and support for the same protocol doesn't guarantee identical support for every extended field.

Ecosystem

Project V / V2Ray

Core family

V2Fly · Xray

Graphical client

v2rayN · v2rayNG · v2flyNG

Project history and roles

Project V is an open-source ecosystem built around network proxy tools, with V2Ray as one of its major projects. As the ecosystem developed, the V2Fly community continued maintaining related cores, while Xray followed a separate path of core development. Graphical clients build on these capabilities to provide subscription management, server selection, and settings. The client controls the buttons and interface, but the background core typically establishes connections and applies routing rules. An interface update doesn't necessarily mean protocol support has changed.

Core families and protocol support

VMess, VLESS, and Trojan are common protocol names in connection settings. REALITY is a security-related mechanism, not a standalone client. A configuration may also include a transport, server name, and other handshake parameters. To troubleshoot incompatibility, check whether the client can generate the required fields, the selected core can read them, and the remote server uses matching settings. Successfully importing a subscription doesn't guarantee that every protocol combination will work.

Open-source licensing for the three clients

v2rayN, v2rayNG, and v2flyNG are available as open-source client projects and are free to use. v2rayN targets desktop systems and is suited to managing subscriptions and routing in one place. v2rayNG is primarily used with Xray configurations, while v2flyNG offers a mobile option for the V2Fly ecosystem. Open source means the code is available to inspect and use under the applicable license; it doesn't mean every component shares the same license. V2Fly and Xray cores typically use MPL 2.0. Each client and its dependencies are governed by their respective project licenses.

Updates and preserving settings

Clients, cores, subscription contents, and geosite and geoip data all have separate update schedules. Updating a subscription refreshes server configurations; it doesn't upgrade the app. Updating rule data doesn't replace the core. When something goes wrong, identify which layer needs updating and record your current settings and custom rules. After an upgrade, retest the same scenarios, paying particular attention to routing order, listening ports, and protocol compatibility. Keeping configuration notes you can refer back to is more effective than updating everything at once and guessing what caused a change.

FIELD NOTES / CONFIGURATION

Routing rules and core log guides

Once the basic connection works, move on to rule exceptions and advanced settings. These articles cover specific tasks: start with matching syntax, learn to read startup logs, then put together split-routing rules for sites in and outside mainland China. For a specific issue, go straight to the relevant topic rather than changing the entire configuration.

Troubleshooting

v2rayN core startup failures: find config errors in core logs

Break startup failures down into port conflicts, configuration syntax errors, unknown fields, and missing rule data. Find the first key error in the logs, then check the related setting. Don't mistake follow-up errors for separate issues.

Linux penguin graphic: Font Awesome Tux, used under CC BY 4.0.

v2rayN download