v2rayN · v2rayNG · v2flyNG

V2Ray Download Hub v2rayN Client

Explore GUI client downloads and setup guides, from importing links to routing rules, with platform-specific choices and step-by-step settings.

  • Open source
  • Import share links
  • Xray / V2Fly

CLIENT SETTINGS

V2Ray client
Import and routing settings

Check the configuration first, then choose how traffic enters the client. The windows below are examples; menu names vary by client and release.

v2rayN · Configuration import example
Share linksvmess:// · vless://
Other protocolstrojan:// · ss://
Import methodBulk import URLs from clipboard
After importingTransport / TLS / SNI
Share links contain configuration parameters; subscription URLs provide a collection of configurations.

v2rayN can bulk-import share links from the clipboard, while v2rayNG also offers clipboard and QR code import. After importing, check the protocol, address, port, and transport type, then review fields such as TLS and SNI. VMess, VLESS, Trojan, and Shadowsocks use different fields, so you can't reuse a configuration by simply changing its protocol name. Support for newer transport options depends on the core bundled with each client. If a parameter isn't recognized, check the compatibility notes rather than deleting it to force a save. Add subscription URLs to a subscription group, then update it.

DOWNLOAD BY PLATFORM

V2Ray downloads
Choose a client for your OS

Use v2rayN on desktop. For Android, start with v2rayNG or choose v2flyNG based on your core requirements. The download page lists installers and processor architectures.

Windows

v2rayN offers desktop and classic WPF versions. The desktop version uses a cross-platform interface, while WPF retains the classic desktop experience. If you're used to one of them, compare the guides for both before choosing which to install.

After the first launch, make sure the core starts before importing a configuration. If another app is using the local listening port, change the port and update the app's proxy settings instead of reinstalling repeatedly. The two interface options don't mean you need to run both clients at once.

Go to downloads

macOS

v2rayN offers separate downloads for Apple Silicon and Intel. Check the chip or processor listed in About This Mac, then choose the matching architecture rather than guessing from unfamiliar abbreviations in the filename.

After installation, confirm the app opens normally, then grant any required network permissions. System proxy and TUN work differently and may require different permissions. If a browser works but other apps don't, first check whether those apps honor the system proxy.

Go to downloads

Android

v2rayNG uses the Xray core; v2flyNG is an alternative with the V2Fly core. Most recent phones use arm64. If you're unsure of your device's architecture, check its specifications or choose a universal package, and follow the installation page's system requirements.

A connection requires system VPN permission. If it drops when the app goes into the background, check battery optimization, background activity, and the manufacturer's power-saving settings. Per-app proxy controls which apps use the proxy; reconnect after changing it and verify the results.

Go to downloads

Linux

v2rayN is available in deb and rpm formats for x64 and arm64. Choose the package format for your distribution and confirm your processor architecture in system information; both must match.

A desktop system proxy may not cover terminal applications. To configure a proxy for a specific app, check the local listening address and port. Before using TUN, review the requirements for permissions and components in your release package. If something goes wrong, start by checking core logs and port usage.

Go to downloads
View all clients →

The downloads page lists current installers and system requirements. The homepage doesn't pin release versions, so outdated information won't influence your installation choice.

QUICK START

v2rayN setup guide
Get one connection working first

The client reads and runs the configuration. Installing it alone doesn't provide a working connection; you'll also need a valid share link, subscription URL, or complete configuration. Verify the basic workflow before adding routing rules or automation.

  1. Import a share link or subscription

    Copy the complete share link, then choose Import from clipboard in v2rayN. For a subscription URL, open subscription group settings, enter the URL and a label, and update it. These options aren't interchangeable: a subscription URL returns a collection of configurations, while a share link describes one configuration. After importing, check the protocol, server address, port, transport type, and TLS settings. A new entry appearing in the list doesn't necessarily mean the configuration is complete.

    In v2rayNG, the corresponding options are usually under Add configuration or subscription settings. Make sure the copied text doesn't include explanatory text or get cut off by a line break. After importing a QR code, open the edit screen and review the fields. Share links and subscription URLs may contain connection credentials; when troubleshooting, show only the fields needed and hide sensitive details.

  2. Choose a configuration and how traffic enters the client

    Set the configuration you want to use as active, then connect. On desktop, start by selecting automatic system proxy configuration and testing with a browser that honors the system proxy. On Android, allow the VPN connection when prompted. Routing rules determine which outbound traffic uses; system proxy or TUN determines how traffic reaches the client. These are separate layers of settings.

    For the first test, keep the basic defaults and avoid running multiple proxy apps at once. If you need TUN, per-app proxy, or custom DNS, change one category at a time and record the results. This helps distinguish configuration problems from traffic routing issues and makes it easier to restore a known working state.

  3. Test access and check the logs

    Open an app that should use the proxy, confirm that the site or service is actually reachable, and check the client logs. A test result reflects only the specific test method; it doesn't prove every app can connect. A working browser also doesn't show that terminal tools or other programs use the same proxy. Test each app you rely on separately.

    For a TLS handshake error, first check the device time, SNI, and certificate settings. For DNS resolution failures, check DNS and routing policies. If there are no connection logs, check the system proxy, local port, and the app's own proxy settings. Keep certificate verification enabled; don't use skipped verification as a long-term fix. See the full guide for detailed steps and troubleshooting paths.

Read the full guide →

PROJECT V ECOSYSTEM

The Project V ecosystem
How clients and cores fit together

Understand the interface, core, and protocol before comparing features. Similar client names don't mean configurations are interchangeable; choose based on the protocols, transport methods, and operating environment you actually use.

TECHNICAL ORIGIN Project V · V2Ray

A modular approach to protocols, transports, routing, and outbounds

V2Fly

Community-maintained software built on the V2Ray core. v2flyNG provides an Android GUI; available cores in v2rayN depend on the release package and supported features.

Xray

Developed from shared technical foundations, with distinct features and configuration capabilities. v2rayNG uses the Xray core; check core support for features such as REALITY.

From Project V to GUI clients

Project V organizes inbound traffic, routing, and outbounds as separate components. The V2Ray core accepts local traffic, applies rules, and connects to remote servers. GUI clients make configuration editing, subscription management, logs, and system integration accessible through an interface. So v2rayN and v2rayNG are more than protocol names: they're management tools built around a core.

Troubleshooting also means separating these two layers: an interface that opens normally doesn't prove the core has started, and a running core doesn't prove the target app is sending it traffic. Check the logs for startup errors, then check proxy routing and the active configuration. That's often more useful than repeatedly switching protocols. The site's glossary explains these concepts and is useful when you encounter unfamiliar fields.

V2Fly and Xray compatibility

V2Fly and Xray share historical roots and some protocols and configuration concepts, but they're maintained independently. Protocol support, transport options, DNS behavior, and newer fields may differ. JSON syntax alone doesn't make a native configuration portable between cores; GUI clients may also have limits on how they convert imported parameters.

VMess, VLESS, Trojan, and Shadowsocks are protocol choices; TLS, REALITY, and specific transport methods belong to other layers. REALITY isn't a standalone proxy protocol that can be swapped in for VMess; it typically works with a compatible protocol and core. Match the client's capabilities to the configuration provided by the server, rather than choosing based only on which name sounds newer.

Open-source status of the three clients

v2rayN, v2rayNG, and v2flyNG are all open-source GUI clients, with source code and licenses forming the basis for collaboration and use. v2rayN is designed for desktop use, with a focus on configuration management and system integration. On Android, v2rayNG works with the Xray core and system VPN interface, while v2flyNG provides another option for users who want the V2Fly core.

Open source doesn't mean the three clients have identical features, or that one can read all of another's local data. When migrating, use share links or subscription formats supported by both, then recheck routing, DNS, per-app proxy settings, and background permissions. For redistribution or modification, read the licenses for each client and its bundled components; the entire ecosystem doesn't use a single license.

Check three types of changes separately when updating

The client interface, core, and rule data can change independently. An interface update may move menus or change import behavior; a core update may add protocol support or alter configuration requirements; changes to geosite or geoip data may affect which traffic a rule matches. If behavior changes after an update, identify which layer changed before editing the configuration.

Before updating, keep the local configurations and custom rules you need, and read release notes for system requirements and compatibility. Updating a subscription only refreshes content from its source; it doesn't update the client or core. Maintain stable configurations deliberately rather than updating the client, core, subscription, and routing all at once and then trying to track down the cause. For a more detailed comparison, see the protocol and core reference.

CONFIGURATION NOTES

V2Ray configuration guides
Subscriptions, DNS, and TLS

Start with a specific error or settings question. These articles distinguish protocol fields, client options, and system behavior instead of blaming every connection issue on one switch.

View all articles →

For answers to specific questions, visit the Help Center. For your first installation and connection, start with the Quick Start.

V2Ray client downloads