Client downloads · Subscription and configuration guides

V2Ray Release Hub·v2rayN client downloadsand configuration guides

Choose a client and follow the steps for subscription imports, routing rules, and four platforms.

VMess VLESS Trojan Shadowsocks

This interface illustrates settings only; labels may vary between client versions. The example URL cannot be used to connect.

Configuration essentials

Import a subscription, build your configuration

The GUI client organizes subscriptions, builds configurations, and manages connections; the core handles traffic. Understand the difference, then configure routing, proxy mode, and subscription updates in turn. When something goes wrong, you can identify which layer to check instead of changing every setting at once.

Routing rules

Routing maps destinations to outbound connections. To send certain domains directly, add a domain-matching rule and point its outbound tag to an existing direct outbound. Traffic that should use a proxy goes to the proxy outbound. Rules are usually evaluated in order, so put specific conditions before broad ones. Rules set in a GUI client are ultimately converted into core configuration. When troubleshooting, check both the match conditions and the spelling of each tag. The snippet below shows the rule structure only; it is not a complete configuration. Back up your current settings before making changes.

System proxy and TUN

The system proxy routes connections from apps that honor the operating system's proxy settings. v2rayN's TUN mode uses a virtual network interface to capture eligible traffic, so the two options cover different traffic. If a browser connects but other programs do not, first check whether those programs use the system proxy; then consider whether TUN is needed. Start by verifying a basic proxy connection before configuring a virtual network adapter, permissions, or DNS. Using both options is not automatically better. Note your current settings before switching to avoid conflicts with other network tools.

Cores and protocols

Choose a V2Ray protocol based on the parameters provided by your server, not just the protocol name. The client core must support the combination of VMess or VLESS, transport, and security settings. Changing the protocol in a dropdown does not convert an existing node into a different service. Xray and V2Fly are part of the same open-source ecosystem, but differ in feature extensions and configuration details. Before switching cores, confirm that the current node's transport, security settings, and routing features are supported. Save your changes and check the startup log to avoid mistaking a compatibility issue for a network outage.

Subscription groups and updates

A subscription URL retrieves a set of nodes; a node is the configuration used for an actual connection. Importing a subscription in v2rayNG follows the same basic steps as on desktop: enter a group name and URL, save, update, then choose a node from the results. Groups make it easier to identify sources, refresh them individually, and troubleshoot. If an update fails, check that the URL is complete, the network can reach it, and the subscription is still valid. Avoid repeatedly deleting all your settings. Subscription URLs may contain access credentials, so hide the full URL in screenshots and support requests. Before editing a node manually, consider that a future update may overwrite your changes.

Check settings for your setup

On desktop, update your subscription and select a node first, then enable the system proxy and test with a browser that supports it. If the browser works but a terminal does not, check the terminal tool's proxy options or environment variables separately; that does not mean the node is down. If more apps need to use the same route, review TUN permissions and routing requirements. After changing settings, check the log for startup errors and make sure the local listening port is available. Change one type of setting at a time and keep a working configuration so you can compare results.

Client downloads

V2Ray clients, choose by platform

Start with v2rayN on desktop. On Android, consider v2rayNG first, then compare v2flyNG if you need V2Fly compatibility. Before downloading, check your operating system and processor architecture. Different installer formats do not mean you need to buy or generate a new subscription.

Windows

v2rayN offers two desktop versions: Desktop and classic WPF. Desktop uses a cross-platform interface, while WPF keeps a familiar Windows desktop experience. Choose based on system requirements, interface preference, and compatibility with your existing configuration. There's no need to run both clients just because their interfaces differ.

Install the program in a directory that's easy to manage, and follow the download page's instructions for any runtime requirements. After launch, import your subscription and test the system proxy. If the program crashes, check runtime libraries, the extraction path, and security software alerts before changing node settings.

Go to downloads

macOS

The v2rayN desktop download for macOS is available for Apple Silicon and Intel. Check your chip type under About This Mac, then choose the matching package. The architecture determines whether the program can run; it does not change how your subscription URL works.

When you open the app for the first time, follow the system prompts to grant any required permissions, then check for conflicts with the system proxy or other network tools. Menu locations vary between systems, but the basics of subscription groups, node selection, and routing rules are the same. The concepts in the configuration guides still apply.

Go to downloads

Android

The v2rayNG download page offers arm64 and universal packages. Choose the one supported by your device, or check the download page if you're unsure. v2rayNG uses the Xray core; v2flyNG is an alternative for users who need the V2Fly core. Choose based on the features your nodes require.

After installation, import your subscription and confirm the system VPN permission when you connect for the first time. If the connection only works while the app is in the foreground, check battery management and background restrictions. If only certain apps fail, check per-app routing. Don't confuse background restrictions with protocol compatibility.

Go to downloads

Linux

v2rayN downloads for Linux are available in deb and rpm formats for different processor architectures. First check which package system your distribution uses, then confirm whether your machine is x64 or arm64. This helps avoid mistaking a package format issue for a client startup problem. The GUI client requires a working desktop environment.

After installation, test the connection using basic proxy settings. Then decide whether to enable TUN based on your distribution's permissions and network setup. Desktop apps and terminal tools may handle proxies differently. A working local listener does not mean every program is using it, so check each connection path separately.

Go to downloads

Quick start

Import a subscription, verify in three steps

Once the client is installed, follow this sequence: get your configuration → choose how to route traffic → verify the result. Subscriptions, nodes, and proxy modes serve different purposes: subscriptions provide configurations, nodes determine the connection destination, and proxy modes decide which app traffic enters the client.

  1. Create a subscription group and update it

    In the client's subscription manager or group settings, enter a name and the full URL, save, then update. The group name is a local label for identification; it cannot replace the subscription URL. After a successful update, you should see the parsed nodes. If the list is empty, first check whether the returned content uses a format supported by the client, then make sure the URL hasn't expired or been copied incompletely.

    Importing a QR code, a single share link, and a subscription URL are different options; choose the one that matches what you have. The example link in this guide only illustrates where to enter a value and does not provide a working connection configuration. If you already have working settings, back them up before importing. Subscription updates, group filters, or duplicate entries can otherwise look like an import failure.

  2. Choose a node and proxy mode

    Choose a node from the update results to use for the connection. On desktop, start by testing a browser with the system proxy. On Android, start the connection and confirm the system permissions. Don't add complex routing rules yet. System proxy, TUN, and per-app routing are separate settings; adjust them one at a time after the basic connection works.

    Don't change the protocol, core, DNS, and routing mode all at once. If a change breaks the connection, undo the most recent change and check the log for a clear configuration or connection error. Multiple network tools capturing traffic can make troubleshooting harder, so confirm which client is actually running before testing.

  3. Check the logs and test access

    V2Ray node speed tests can measure connectivity, request latency, or actual download throughput; these are not the same thing. A result in the client only reflects a specific destination and the network conditions at that moment, not how every site will perform. For your first test, use the same network and destination, then check browser access alongside the client logs to confirm the connection was established.

    If a test fails, narrow it down in this order: local listener, app proxy settings, node parameters, then server status. If only a terminal fails, check the terminal tool separately. If results change after switching networks, look at the current network environment. Recording the error type is more useful than repeatedly running speed tests and gives you a clearer record for asking for help.

Open-source ecosystem

Clients and cores, understand the layers

Project V, V2Fly, Xray, and GUI clients are names for different layers of the ecosystem. Understanding how they relate helps you identify whether a setting in a guide belongs to the interface, the core, or the server. It also reduces compatibility problems when adapting configuration from different versions.

How Project V and V2Fly relate

Project V is an open-source ecosystem built around network proxy tools, with V2Ray as one of its widely used core projects. The V2Fly community continues development and maintenance of the V2Ray core. When you see V2Fly in documentation, focus on its core implementation and supported configuration rather than treating it as a separate subscription service. GUI clients can call a core to establish connections, but interface labels do not always match core configuration fields exactly. When reading a configuration reference, rely on what each field means.

The Xray fork and protocol compatibility

Xray grew from related code into an independently developed core project with its own features and configuration requirements. The two cores share support for some common settings, but that does not mean every transport, security option, and routing field is interchangeable. To determine whether a node will work, check the full set of parameters, not just whether it uses VMess or VLESS. If the server provides specific extension parameters, confirm that the core used by the client supports them. Simply switching to a different GUI may not resolve a compatibility issue.

What the three open-source clients do

v2rayN is a desktop client with a GUI for managing subscriptions, choosing nodes, and configuring proxies. v2rayNG is an Android client that uses the Xray core; v2flyNG is an Android option for users who need the V2Fly core. All three clients are open-source software. The client code and bundled cores are governed by their respective open-source licenses. Open source means the code can be inspected, used, and modified under the license terms. It does not mean every client has the same features or that settings can be copied between interfaces without checking them.

Client updates vs. subscription updates

A client update changes the program and bundled components; a subscription update refreshes the set of nodes provided remotely. Neither replaces the other. Updating a subscription may regenerate node settings you've edited manually. A client update may change where settings appear, their defaults, or which features are supported. Back up your configuration before either change. Afterward, test a known configuration and check routing and DNS behavior. This site organizes client downloads by platform and explains setup steps in its guides. Check the download page for release information and the configuration reference for details on each setting.

Latest guides

Configuration and troubleshooting, recent articles

Once your basic connection works, explore the guides for the issues you're actually facing. Installation, protocol selection, and system proxy settings call for different troubleshooting steps. Identify the symptom first, then follow the relevant guide instead of trying several changes at once.