Guides for v2rayN · v2rayNG · v2flyNG

V2Ray Help CenterClient Downloads and Setup Guides

Choose a client for your platform, then find where to configure installation, subscription imports, and routing, along with the recommended steps.

Open-source clientsGUI configurationSetup guides

v2rayN Setup Guide

Where to find settingsInstallation, subscriptions, and proxy modes

Get one server connected before adjusting routing or TUN. The table uses the desktop interface as a guide; menu names may vary slightly between releases, so check the current interface and logs.

SettingWhat it doesv2rayN desktop
Extract the archive → Run v2rayN.exeExtract the entire archive to a writable folder, then launch the program from that folder. Don’t pull just the main executable out of the archive or run it directly from an archive utility; bundled cores, dependencies, and data files may not load correctly.Run from the extracted folder
Settings → Parameter Settings → Core Basic SettingsKeep the default listener settings initially. Confirm that the core starts, then import a working server. If the logs report a port conflict, check for other proxy applications before changing the port. For dependency errors, install the runtime required by your package.Check the interface and core separately

You don’t need to change every option during your first setup. Verify in this order: start the core → import a server → select the active server → configure the system proxy → make a request. This helps identify whether the problem is with importing data, the local listener, or the remote connection. Server test results only apply to the test conditions and don’t guarantee access from your apps.

See the complete v2rayN setup guide →

Choose a client and platform

V2Ray client downloads

For desktop, start with v2rayN; for Android, start with v2rayNG. Before downloading, check your operating system, processor architecture, and package format. Different packages for the same client aren’t always interchangeable. The download page lists available options and system requirements.

Windows

Start with the v2rayN desktop edition. If you’re used to the classic interface, compare it with the WPF edition. The desktop edition uses a cross-platform interface, while the WPF edition is designed for Windows; menus and runtime requirements may differ. If screenshots don’t match your guide, confirm which interface you’re using and look for the setting with the same name.

Extract the entire archive to a location where you can write files. If you see a dependency warning on first launch, install the required components listed for your package; don’t assemble executable files from other folders. Save your configuration before upgrading, then close the old version before replacing files to avoid two instances competing for the same port.

Download Windows client

macOS

Use the v2rayN desktop edition and choose an Apple Silicon or Intel package for your processor. Check About This Mac for your chip information, then match it to the download option; don’t guess based on the computer’s appearance or purchase date. The interface is similar to the desktop guide, but follow the permission prompts shown by your system.

After installation, import a server and confirm that the core runs and browser requests work. If you need TUN, handle its permissions separately. System proxy settings, an app’s own proxy settings, and virtual network interface capture work at different levels. When troubleshooting, identify which one you’re using to avoid conflicts between multiple proxy paths.

Download macOS client

Android

Choose v2rayNG with the Xray core by default; consider v2flyNG if you need the V2Fly core ecosystem. Most recent mainstream phones use arm64 packages. If you’re unsure which architecture your device uses, check the universal package details. Verify device requirements before installing; a universal package won’t solve every compatibility issue.

On your first connection, approve the system’s VPN connection request. After importing a subscription, select a server and start the connection; seeing entries in the list doesn’t mean the service is active. If the connection drops when the app is in the background, check battery optimization and background activity restrictions. Don’t delete and recreate a working subscription as your first step.

Download Android client

Linux

Use the v2rayN desktop edition. Choose a deb or rpm package to match your distribution, then check whether your processor uses x64 or arm64. The package format determines how it’s installed and managed; the architecture determines whether it can run on your processor. Both must match—renaming a file extension won’t convert a package.

After installation, test a regular proxy connection in your desktop session before considering TUN permissions. Some apps don’t automatically use the desktop environment’s proxy settings, so you may need to configure them separately. If only certain apps can’t connect, first check how they inherit proxy settings rather than changing system-wide routing.

Download Linux client

The client reads configuration and establishes connections; subscriptions come from their respective providers. Installing a client won’t create servers or renew an expired subscription. If you already have a subscription, keep its original URL and check that it’s still valid. If you only have a single share link, import it through the server import option—not as a subscription URL.

Browse all clients →

Project V · V2Fly · Xray

The V2Ray open-source ecosystem and its clients

Understand the difference between cores, clients, and subscriptions before deciding what to update or change. Similar names don’t mean identical features, and a successful import doesn’t guarantee that every connection requirement is met.

Project V and the core ecosystem

Project V is a useful starting point for understanding the V2Ray ecosystem. Its proxy core handles protocols, transports, routing, and connections. The V2Fly community continues maintaining V2Ray-related projects, while Xray has developed its own core and feature set from related technical foundations. People often use V2Ray as a general name for the ecosystem, but feature availability depends on which core the client runs and whether that core implements the option.

VMess, VLESS, and Trojan are protocols; WebSocket and gRPC are transport methods; TLS and REALITY relate to connection security and handshakes. These terms refer to different layers, so any one of them alone can’t tell you whether a configuration is complete. Connection settings must match the server. When editing them manually, identify whether you’re changing the protocol, transport, or security options; don’t combine fields from unrelated guides.

Graphical clients and proxy cores

v2rayN, v2rayNG, and v2flyNG are open-source graphical clients. Their interfaces let you manage servers, subscription URLs, and common settings, then convert that information into configuration the core can read. They aren’t three skins for the same program: v2rayN is for desktop environments, v2rayNG primarily provides an Android configuration interface for the Xray core, and v2flyNG is an Android alternative for the V2Fly core ecosystem.

This layered architecture also determines the troubleshooting order. If the window won’t open, check installation and runtime requirements. If the interface works but the core won’t start, check the logs, listening ports, and generated configuration. If the core is running but a server won’t connect, check the remote settings and network conditions. Treating a successful launch as proof of a successful connection can hide the real problem. When moving between cores, also check that the target client supports the protocol and advanced options you use.

Open-source licenses and configuration privacy

Open source means the software’s code is made available under its license and can be used, modified, and distributed under that license’s terms. Projects in the ecosystem may use different licenses; for example, the V2Ray core maintained by V2Fly and the Xray core use MPL 2.0. Client projects have their own license terms, so don’t assume a core’s license applies to every GUI, dependency, or bundled resource. Read the relevant license files before modifying or redistributing anything.

Open-source licensing and subscription service quality are separate issues. Protect subscription URLs, server credentials, and local configuration. Hide full subscription links in screenshots, and don’t share exported configuration publicly. Before using a subscription conversion service, consider that it may be able to read your entire configuration. First check whether your client can import the original format; use a converter only if needed, rather than treating format conversion as the default fix for every import failure.

Updates and routine maintenance

Client, core, subscription, and routing resource updates address different things. Client updates usually affect the interface and configuration generation; core updates affect protocol implementation and runtime behavior; subscription updates refresh servers from their source; and rule or domain resource updates can change routing results. When something goes wrong, note recent changes and avoid updating everything at once, or it’ll be hard to tell what changed the behavior.

Good routine maintenance starts with saving your configuration. Before upgrading, note the system proxy, listening ports, and routing choices. If your backup contains subscription URLs or credentials, store it securely. After upgrading, first check that the core starts with your existing settings, then make a real request, and finally verify custom routing. If only one app has problems, compare its proxy path with your browser’s. If all requests fail, check the local service and selected server.

System proxy, routing, and TUN: what each does

The system proxy determines which apps hand requests to the client. Routing rules determine which outbound path requests take after reaching the core. TUN captures traffic through a virtual network interface. These concepts often appear in the same guide, but they aren’t interchangeable. If an app connects directly with the system proxy enabled, it may not be reading system settings. If access fails with TUN enabled, DNS resolution, adapter routes, or other networking tools may be involved.

Start by testing a basic connection with the system proxy, then adjust routing as needed, and only then consider enabling TUN. After each change, use the same app to visit the same destination and check logs for that time. This makes comparisons more meaningful. Logs may contain server details, so remove sensitive information before asking for help while preserving the error type, sequence of events, and relevant settings.

Installation and troubleshooting articles

v2rayN configuration issues and troubleshooting

Choose an article based on the specific symptoms. Note what changed before and after each step, which interface you’re using, and the error messages in the logs. This is more useful for pinpointing the issue than repeatedly importing the same configuration.

Browse all articles →