Graphical clients · downloads and setup

V2Ray Release HubClient downloads and setup

Choose an open-source client, import a subscription, then configure the proxy mode and verify the connection.

Subscription management Traffic routing Xray / V2Fly

Client downloads

Check your operating system and processor architecture before choosing an installer.

Know the difference between the client, subscription, and connection access

Downloading a client only prepares the software on your device. The server address, protocol settings, and subscription URL must come from your configuration provider; the client does not generate a working remote connection on its own. Once you have a configuration, identify whether it is a subscription URL, a single share link, or a complete configuration file, then choose the matching import option. Pasting a subscription URL as a share link, or trying to update a subscription with a regular webpage URL, may leave the server list empty.

For your first setup, keep the default listener settings. Import a configuration from a trusted source, select a server, and enable one connection method. Avoid changing the port, DNS, routing, and core all at once; if something breaks, it will be difficult to identify the cause. On desktop, start by testing a browser with the system proxy. On Android, first approve VPN access and check the connection notification. Once the basic connection works, adjust routing and background settings to suit your apps.

View all clients →

Common features and settings

Find settings by task. These example cards are for reference and won't change your device configuration.

Manage subscription groups

Create a subscription group for each configuration source, enter its subscription URL, and update it. Groups keep configurations organized by source, so you can refresh them later without importing each server again; a single share link is better suited to a quick test. Before updating, make sure your network can reach the subscription URL. Afterward, check the server list and selected server. If the list is empty, check the logs instead of repeatedly deleting all your configurations. Subscription URLs may contain access credentials, so hide the full URL in screenshots and support requests. Group updates are easier to manage than maintaining multiple connections by hand, but availability still depends on the configuration provider.

Related settings
Subscription group settingsUpdate subscriptionBypass proxy when updating subscriptions

Follow this order: import the configuration → select a server → choose a connection method → verify an actual request. Interface labels can vary across platforms and client versions. If you can't find an option, check the main window's settings, the tray menu, and the logs. Don't apply permission steps from another platform without checking first.

See how to configure proxy modes →

Open-source ecosystem and choosing a client

Distinguish projects, cores, and interfaces; choose a tool that fits your configuration.

Project VV2FlyXray

Project V: a starting point for understanding the ecosystem

V2Ray is part of the Project V proxy ecosystem. Its core capabilities—such as inbound and outbound connections, transports, and routing—can be combined as needed. Most users don't need to edit a complete low-level configuration; graphical clients let them enter settings or import subscriptions instead. The name “V2Ray” may refer to the project, a core, or this broader class of clients. Identify what a guide is discussing before deciding whether it applies to your device.

The connection flow is easier to understand when broken into layers: an app sends a request to a local entry point, the local core selects an outbound route based on rules, and then it connects using the server configuration. The server list in a client is just a configuration interface, not the remote service itself. A client opening successfully doesn't prove the server is reachable, and an enabled connection button doesn't replace testing an actual webpage or app request. These distinctions are the foundation of effective troubleshooting.

V2Fly and Xray: related projects with separate development

The V2Fly community continues development and maintenance of cores related to V2Ray, while Xray has developed from related code into an independent core project. They share some technical background, but their capabilities, configuration details, and release cycles differ. Choose based on the protocols, transports, and security settings your connection requires—not just the project name. For specific extensions, also check that the client supports editing and importing them.

A successful import only means the client recognized the configuration; it doesn't guarantee the current core can use every setting correctly. If a configuration connects in one client but fails in another, compare the core family, transport settings, and generated configuration first. Don't overwrite your active configuration with low-level snippets from another platform. Make a backup, then adjust settings individually using the options supported by your client.

Three graphical clients: choose by device and core

v2rayN is a desktop client with graphical tools for managing server lists, subscription groups, routing, and logs. Its cross-platform desktop edition and classic Windows WPF edition have different interfaces and runtime requirements. Check system compatibility first, then consider the window layout and your preferences. If testing different versions on the same computer, keep their program and configuration folders separate to avoid overwriting settings or confusing migrations.

v2rayNG is an Android client that uses the Xray core for importing subscriptions and connecting through the system VPN. v2flyNG also targets Android and uses the V2Fly core; consider it if you need that core family. For each app, check connection permissions and background settings. When comparing them, disconnect the other app first to avoid conflicts with the system VPN. If the connection drops when the phone sleeps, check battery policies and logs instead of repeatedly reimporting the subscription.

Open-source licenses: distinguish client and core licenses

All three clients are developed as open-source software, making their implementations and configuration handling available for discussion and review. Open source doesn't mean the entire ecosystem shares one license: v2rayN and v2rayNG use GPL-family licenses, the V2Ray core uses the MIT License, and the Xray core uses MPL 2.0. Check the license text for each client, core, and bundled dependency, especially before modifying or redistributing them.

For everyday use, focus on platform compatibility, required permissions, configuration sources, and update notes. Public source code doesn't replace assessing a subscription provider, nor does it guarantee connections will work on every network. Protect subscription URLs and connection credentials when sharing configurations, screenshots, or troubleshooting materials. To ask for help, describe your system, client, the steps that failed, and relevant errors; don't publish your complete configuration.

Updates: track client, core, and configuration changes separately

Client updates, core updates, and subscription updates are different tasks. A client update may change the interface or how configurations are generated; a core update may affect protocol and transport behavior; a subscription update refreshes server configurations. If a connection stops working after an update, first identify which layer changed. The downloads page provides installers, while the home page helps you choose a platform and find setup steps. Check the downloads page and relevant guide for specific installation requirements.

Before upgrading, back up subscription groups, manual configurations, and custom routing rules, then stop active connections and install the update as directed for your platform. Afterward, test with a previously working configuration before trying new features. If something goes wrong, record the changes and logs so you can compare before and after. Check compatibility before restoring older configurations, and don't mix files from different program versions in the same folder.

Verify the connection: trace app requests back to settings

Before testing, check whether the app follows the system proxy settings, then visit a page that can show your network exit. If a browser works but a desktop app doesn't, first check how that app handles proxies. If only some domains fail, investigate routing and DNS. A successful startup message in the logs only confirms that the core started; it doesn't prove that every app is connected. Keep the app and destination consistent so you can compare test results.

If a port is occupied, close duplicate client instances or other listening processes first. After changing the local port, update any apps that use it as well. If networking fails after closing the client, check whether the system proxy still points to a stopped local listener. Troubleshoot in this order—entry point, routing, DNS resolution, remote connection—instead of repeatedly reinstalling. The full documentation covers installation, subscriptions, proxy settings, and common issues by platform; consult it once your basic setup is complete.

Tips and troubleshooting notes

Browse by issue, from interface choices and port conflicts to Android background settings.

View all articles →

Download v2rayN