V2Ray Center · Client Setup Guides

V2Ray Clientsv2rayN Downloads & Setup

Guides to choosing open-source clients like v2rayN and Android clients, importing subscriptions, and setting up routing.

  • Xray / V2Fly
  • Configuration guides
  • Subscription management

Popular protocols supported by the client

VMess, VLESS, Trojan, and Shadowsocks are proxy protocols; REALITY is a transport security solution, while Xray and V2Fly are core families. Support depends on the core used by the client.

Compare protocols and cores →

Client downloads

Choose an installation option for your device

v2rayN is for desktop devices; v2rayNG and v2flyNG are for Android. Check your operating system and processor architecture before choosing a package, then set up subscriptions and routing.

Windows

v2rayN offers two interfaces: Desktop and WPF. Desktop uses a newer cross-platform interface, suited to users who want a consistent experience across desktop systems. WPF retains the classic desktop interface for users familiar with its menus and workflows. Choose based on system requirements and your preferences—not on assumptions about protocol support.

After launching v2rayN for the first time, import a valid configuration. The application, runtime environment, and core each serve a different purpose: a successful launch only confirms that the interface is running. You still need to import a subscription, select an active server, and configure the system proxy. Back up your settings before moving between the two interfaces, and avoid using them alternately with the same configuration directory.

macOS

v2rayN: Choose a package for your processor. Select arm64 for Apple Silicon and x64 for Intel devices. Check the chip or processor name in About This Mac, then choose the matching download. The same package format can come in different processor architectures, so selecting the right one helps avoid compatibility issues.

v2rayN manages subscriptions and routing on desktop, but system proxy settings only work for apps that honor them. If a browser connects but command-line tools do not, check the tools' own proxy settings instead of repeatedly switching servers. Before enabling TUN, understand the required permissions and how it interacts with existing network extensions, and keep a copy of the original settings so you can restore them.

Android

Start with v2rayNG; consider v2flyNG when you need its core. v2rayNG uses the Xray core and suits existing Xray configurations or setups that require its protocol support. v2flyNG uses the V2Fly core and suits configurations built around V2Fly. Both are graphical clients, but whether an imported configuration works depends on its protocol, transport, and security settings.

Android packages are available for arm64 and as a universal build. For most newer devices, check whether your processor is arm64; if unsure, use your device information to choose the universal package. The first VPN connection requires system permission. After connecting, check background restrictions: aggressive battery settings may stop the app, but high battery use should not automatically be blamed on keeping it active. Check logs and usage patterns to narrow down the cause.

Linux

v2rayN: Match the package format and processor architecture. Debian and Ubuntu users typically choose deb; Fedora users typically choose rpm. Then select x64 or arm64. The distribution's package manager determines the package format, while the device determines the processor architecture. Both must match—don't rely on the file extension alone.

v2rayN's desktop interface makes it easy to manage subscriptions, active servers, and routing rules in one place. Before installing, check the desktop environment and runtime requirements. After configuring the system proxy, confirm that apps in your current desktop session use it. TUN requires permissions and changes network routing, so test a regular proxy connection first and enable TUN step by step. This helps distinguish dependency, permission, and server issues.

v2rayN, v2rayNG, and v2flyNG are clients; installing one does not provide a working server. Subscription URLs and share links come from the service configuration you use. Verify their source and that you are authorized to use them before importing. Subscription links may contain access credentials, so remove them before sharing screenshots, logs, or support requests.

Choose a client in this order: platform, architecture, core, configuration. First make sure the app launches, then check the protocol in your subscription, and finally adjust the connection method and routing rules. When troubleshooting, change one setting at a time. Keeping a known-working configuration makes it easier to identify the cause than enabling several advanced options at once.

View all clients →

Settings at a glance

Subscriptions, routing, and proxy modes

v2rayN configures server management, traffic routing into the client, and outbound selection separately. The interface below is illustrative and does not show the state of your device; menu locations may vary by client version.

v2rayN supports subscription groups and share-link imports. A subscription lets you update a group of servers at once; a share link adds a single configuration. They are different types of content. Add the URL under subscription groups and update it, then select an active server. Subscriptions save you from entering each server manually, but you still need to check protocol and transport settings. v2rayNG also supports clipboard imports. If a link isn't recognized, make sure you copied it in full; a webpage URL is not a subscription URL.

See the first-time import steps →

Troubleshoot v2rayN by following the connection path: Is the app using the local proxy? Is the active server correct? Can the core connect? Are routing rules sending traffic where expected? If an earlier step fails, changes further down the chain are unlikely to help. For example, changing “Global” or “Bypass mainland China” won't route traffic through the client if the app isn't using the system proxy.

The VPN icon in v2rayNG indicates that Android has set up a traffic-routing interface; it does not prove that the remote server is reachable. Test by opening websites and checking DNS resolution and client logs, rather than relying on the toggle color. Server settings, device time, and local network conditions can all affect connectivity. Keep a known-working configuration so you can compare the effects of each change.

Open-source ecosystem and maintenance

Project V, V2Fly, and Xray

A client isn't a protocol, and a protocol isn't a core. Understanding these three layers helps explain why a configuration may import successfully but still fail to run on your device.

Graphical clientv2rayN · v2rayNG · v2flyNG

Manage subscriptions, choose how traffic enters, and generate runtime configuration

Proxy coreXray · V2Fly

Parse configuration, establish connections, and handle routing and forwarding

Protocols and securityVMess · VLESS · Trojan · REALITY

Define how the client communicates with the server and which connection settings to use

Project V's modular approach

The Project V ecosystem breaks out capabilities such as inbounds, outbounds, routing, and transport into modules that can be combined. V2Ray is the best-known project name in this ecosystem, while the V2Fly community continues to maintain related cores and features. In a client, protocol selection, adding servers, and setting routing rules are ultimately translated into configuration that the core reads at runtime. Understanding what each module does is more useful than memorizing where a menu is.

v2rayN provides a desktop interface for managing configuration, reducing the need to edit config files directly. A graphical interface makes setup more accessible, but it can't override the server's requirements. The address, port, user ID, transport, and security options must all match. Fields that look similar may belong to different protocols and are not interchangeable.

How Xray and V2Fly differ

Xray and V2Fly share a technical background but have since evolved separately. Some core concepts and configuration structures are similar, but supported features, parameter meanings, and release cycles differ. Don't assume an Xray feature is available in V2Fly. And a similar share-link format does not guarantee that every client will preserve the same extension fields.

REALITY is a good example of why these distinctions matter: it is a transport security solution, not a proxy protocol at the same level as VLESS. When choosing a configuration, check the proxy protocol, transport, and core support together. Choose based on the server's actual requirements and your device, not a fixed speed ranking of protocols.

Open-source licensing for the three clients

v2rayN, v2rayNG, and v2flyNG are all open-source clients. v2rayN uses a GPL-family license, and v2rayNG and v2flyNG are maintained under their respective open-source licenses. When redistributing or modifying software, refer to the license included with the project. A graphical client and the core it calls are separate software layers; using an open-source core does not mean they share the same license terms or maintainers.

v2rayNG uses the Xray core for Android configuration management and VPN connectivity; v2flyNG uses the V2Fly core for configurations that need it. v2rayN manages servers and core settings on desktop platforms. This site provides selection and setup guides and is not the author of these clients. Refer to the client interface, release notes, and core in use for specific features.

Client updates and configuration migration

Updates to the v2rayN interface, core, and subscription are three different things. An interface update may change menus and how configuration is generated; a core update may change protocol support or parameter handling; a subscription update mainly changes server configurations. When a connection breaks, first identify which layer changed instead of assuming the installer is responsible.

Before updating v2rayNG or v2flyNG, save important configuration details, especially custom routing, DNS, and app-splitting settings. After migrating, verify that the original basic connection still works before enabling new features. Logs may contain subscription URLs, user IDs, or destinations; redact them before sharing. For support, the error type and conditions are usually enough—don't publish full credentials.

First-time setup FAQs

What do I need after installing v2rayN?

v2rayN needs a valid server configuration or subscription URL. After importing it, select an active server, then configure the system proxy and routing preset. The client manages connections; it doesn't provide a remote service. If nothing appears after importing, check what you copied and the subscription response before reinstalling the app. Follow the Getting Started guide to set up your client →

Why does the system proxy work in some apps but not others?

v2rayN's system proxy setting mainly affects apps that follow it. Some developer tools, games, and background services use their own network settings and may need a proxy configured separately, or TUN after you understand its permissions and routing effects. First check how the app's traffic enters the client, then review outbound rules. “Global mode” does not force every connection on your device through the proxy. Troubleshoot traffic routing and proxy issues →

Which should I choose: v2rayNG or v2flyNG?

Choose v2rayNG for Android configurations that need the Xray core; choose v2flyNG for existing V2Fly configurations and related features. Start with the server's requirements, then check app routing and DNS settings. Being able to import a configuration is only the first step: extension parameters must be preserved and supported by the core. Don't judge compatibility by the client name alone. Learn the difference between cores and clients →

Can't open websites after switching servers? What should I check first?

With v2rayN or v2rayNG, first check the active server, device time, how traffic enters the client, and the error in the logs. DNS resolution failures and connection handshake failures are different problems with different fixes. Keep a known-working configuration for comparison, change one setting at a time, and note whether the issue affects every app or just one. Browse troubleshooting topics →

Configuration guides

DNS, FakeDNS, and Android background activity

Once the basic connection works, look at DNS routing, address mapping, and battery settings for mobile devices. Each guide focuses on one issue to help you avoid changing several network settings at once.