Open-source clientsDownloads · Setup guides

V2Ray Download Center·v2rayN client downloads

Explore desktop and Android clients, with setup steps for subscription imports and split routing.

  • VMess
  • VLESS
  • Trojan
  • Shadowsocks

Project V ecosystem · clients and cores are separate layers

  • Project VProxy tools ecosystem
  • V2FlyContinuing the V2Ray community
  • XrayAn independently developed core
  • Subscription managementFetch and update configurations
  • Split routingChoose outbound routes by rule

Downloads

Choose your operating system
Client installers

Use v2rayN on desktop and start with v2rayNG on Android. Check your operating system and processor architecture, then choose the matching package.

Windows

v2rayN

Desktop offers a cross-platform interface, while WPF retains the classic desktop workflow. Both focus on subscription management and proxy settings; the interface alone is no reason to buy again or change subscriptions.

First, check your system type under “Settings → System → About.” If a runtime prompt appears on first launch, install the required dependencies as described with the package. Keep your existing configuration directory before switching interface versions to avoid overwriting files in use.

Go to downloads Windows client →

macOS

v2rayN

Choose an Apple Silicon or Intel package based on your processor. Open “About This Mac” from the system menu to check whether it lists a chip name or an Intel processor; don’t guess based on the device’s appearance or purchase date.

Move the client to the Applications folder before launching it to simplify updates and permission management. System proxy and TUN are separate options. For a first setup, test a standard proxy connection before granting network permissions for TUN if needed.

Go to downloads macOS client →

Android

v2rayNG / v2flyNG

v2rayNG uses the Xray core and is the recommended starting point on Android. v2flyNG uses the V2Fly core and may suit users with compatible configurations. Most recent phones can start with the arm64 package; if you’re unsure of your device architecture, check the universal package notes.

You must approve the system VPN prompt to connect. If another network tool is already using the VPN connection, disconnect it first. Background interruptions may also be caused by battery management. Importing a configuration does not grant permission for the client to run continuously.

Go to downloads Android client →

Linux

v2rayN

Choose a deb or rpm package to match your distribution, then check whether your system uses x64 or arm64. The desktop system proxy usually affects only apps that honor that setting; command-line tools may need a separate proxy configuration.

On first use, update your subscription, select a configuration, then test an app request. If you need TUN, check the required permissions and how your system manages networking. Avoid changing routing, DNS, and firewall settings at once, or it will be hard to identify what caused a change.

Go to downloads Linux client →

The client reads configurations and manages the local proxy entry point; you must provide the server address, port, and authentication details. This site provides download listings and technical guides, not subscription accounts or server access.

Browse all clients →

Setup guides

From subscription import
to split routing

Check configuration sources, traffic entry points, and core outbounds separately. Select a setting to see the relevant steps and configuration snippets.

Subscription group settingsEnter → Save → Update

Import subscription URLs separately from individual configurations

Subscriptions are useful for updating multiple configurations in one place. In v2rayN, open “Subscription group → Subscription group settings,” add a group, enter its URL, save, then update subscriptions. Import individual share links from the clipboard instead of entering them in the subscription URL field. Groups make it easier to organize sources and maintain configurations in bulk. Updates replace the group’s contents, so export any configurations you want to keep before editing them manually. The example URL is for format illustration only and cannot be used to connect.

https://example.com/sub?token=xxxx
  • Subscription group → Subscription group settings → Add
  • Save group → Update subscriptions → Select an active configuration
Read the subscription import guide →

Order of connection checks

After importing, first confirm that a configuration is available, then check whether the core starts, verify the app’s traffic entry point, and only then adjust routing and DNS. A page loading in a browser confirms only that this request succeeded; it doesn’t prove that every app uses the same proxy settings. To investigate further, repeat the test with the same app and destination, and note the setting you just changed. Change one condition at a time so you can identify what to undo.

Open-source ecosystem and project boundaries

Project V, V2Fly
and the Xray core

Clients, cores, and subscription services operate at different layers. Knowing what each one does makes it easier to choose the right tools and troubleshoot issues than memorizing a software name.

Project V and its core families

Project V is an ecosystem of proxy communication tools, with V2Ray as one widely used implementation. V2Fly continues the V2Ray community’s maintenance and development, while Xray originated from related code and has evolved independently. They share some concepts, but features, configuration fields, and release schedules don’t always match. When reading configuration guides, check which core they cover; don’t assume a setting from one implementation works unchanged in another.

Protocol names, transport methods, and security layers are distinct concepts. VMess, VLESS, Trojan, and Shadowsocks describe different protocol designs; WebSocket and similar settings describe how data is carried, while TLS and other security settings belong to another layer. Before choosing a client, confirm what your existing server requires. There’s no need to replace a compatible tool just to get more settings. Check specific fields against the server’s parameters and the core’s current capabilities.

What the three clients are for

v2rayN is for desktop systems, with subscription groups, server configurations, routing, and local proxy entry-point management. v2rayNG is for Android and uses the Xray core; v2flyNG is also for Android, with the V2Fly core. All three are open-source projects. Their interfaces organize the workflow, while actual protocol support depends on the bundled core and configuration. Desktop and mobile devices can use the same compatible subscription, but their local network settings are not interchangeable.

Android system VPN authorization, desktop system proxy settings, and TUN permissions are different mechanisms. You can reuse connection settings when migrating, but that doesn’t mean every app is connected. To compare client roles, start with the operating system, core, and configuration workflow. To check support for a specific protocol, verify the transport and security settings too. Don’t use interface complexity or the number of settings as a measure of speed.

Open-source licenses and user responsibilities

Open source means code is available under the terms of its license, which may permit reading, using, or modifying it. The V2Ray core maintained by V2Fly is primarily licensed under MIT, while the Xray core is primarily licensed under MPL-2.0. Check the included notices for each client, core, and bundled component; one project’s license does not determine the licensing of the entire package. If you redistribute or modify software, retain applicable notices and review the relevant obligations.

Open-source code doesn’t mean every subscription is trustworthy, and it doesn’t replace checking where a configuration comes from. Subscription URLs may contain access credentials, and share links often include server addresses and authentication details. When troubleshooting, keep the error type, core name, and relevant settings, but remove information that could identify your account. Follow local laws and the rules governing the network you use. This guide covers software installation and technical configuration only.

Updates cover the client, core, and rule data

Client updates can change the interface and configuration generation; core updates affect protocol parsing and traffic forwarding; GeoIP and GeoSite data updates change rule sets. Each addresses a different issue. If domain routing changes, check the rule references and databases. If a configuration won’t parse, start with the logs and core compatibility. Don’t blame every issue on an outdated client, and don’t update all components at once and then guess what caused the change.

Before updating, save your subscription groups and any rules you maintain manually, and make sure you can restore the previous settings. Then choose the download for your package type and architecture. This site organizes installation and setup guides; it is not the client’s official development team and cannot guarantee server connectivity. Interface labels in the guides help you locate features, but layouts may change between client versions. When they do, use the current interface and logs to troubleshoot.

Configuration and troubleshooting notes

Recent technical guides

Identify the symptom first, then follow the relevant steps. These three articles cover app traffic entry, client startup, and rule matching separately, so you can focus on the right layer.

Browse all articles →

Popular FAQs

After downloading,
what should you check?

Installation, import, and connection are three consecutive stages. Find guidance for the stage you’re on instead of reinstalling every component from scratch.

Visit the help center →
Why don’t I have a usable configuration after installing the client?

The client doesn’t include a personal server account. You’ll need a valid subscription or individual share link; import it and select a configuration before connecting. If a subscription update fails, check the URL format, whether the source is available, and network access. Don’t send credential-bearing URLs to online conversion services without careful consideration. See the getting started guide for setup steps.

Are system proxy and “Global” routing the same thing?

No. The system proxy tells apps that follow system settings to send requests to the local entry point. “Global” is usually a client routing preset that determines which outbound handles traffic after it reaches the core. Changing the routing mode won’t fix an app that isn’t connected to the proxy entry point. See the glossary for related terms.

Can subscription conversion add features that a client doesn’t support?

Conversion mainly changes how a configuration is represented. It can’t give the core protocol capabilities it doesn’t have, and may drop proprietary fields. Prefer a compatible subscription from the source. If conversion is necessary, check the tool’s source, which fields it preserves, and how it handles credentials, then review the result field by field. See the help center for more information.

One device works but another doesn’t. How can I narrow down the cause?

First compare the active configuration and core support, then check the device time, network, and app proxy entry point. Don’t overwrite another platform’s configuration by copying the entire directory from a working device. Share links can transfer connection settings, but local permissions, DNS, and routing must still be checked separately. See the platform installation guides for step-by-step help.