Choose a clientSubscriptions · Routing · Cores

V2Ray Android Client
Downloads & Setup Guides

Choose an open-source client for your platform, then configure everything from subscription imports to traffic routing.

Protocols & Transports
  • VMess
  • VLESS
  • Trojan
  • REALITY

Subscription, routing, and connection settings

The client manages configuration; the core handles connections. First check that the subscription parses correctly, then decide how app traffic reaches the client, and finally adjust the routing rules.

Each step addresses a different issue. Subscription groups store configuration sources and generate selectable server entries when updated. System proxy or TUN mode determines which app requests the client receives. Routing presets decide whether received requests go direct, through a proxy, or to a blocked outbound. Seeing entries in the list does not mean the system proxy is enabled; enabling the proxy does not mean every request uses the proxy outbound. Check each layer separately when troubleshooting to avoid reinstalling the client without changing the actual configuration.

The settings panel below follows a typical workflow. Menu names vary by client, and the examples explain what settings mean rather than provide a complete working configuration. For a first setup, follow a guide to establish a basic connection, then add subscription updates, direct access for private addresses, and app traffic capture one step at a time.

Subscription groups

Subscription groups link a source URL to server entries and are useful when configurations need regular updates. In v2rayN, add a group name and subscription URL, save it, then update the subscription. In v2rayNG, add the URL in Subscription settings, then return to the list and update it. Importing a single share link adds one configuration; it does not create an automatically updating subscription. Use the group name to identify the source locally, and get the URL from a provider you trust. If an update fails, check that the URL is complete, has not expired, and returns the expected format; make sure you have not used a website login URL instead of a subscription link.

Subscription group → Add
Group name: Personal subscription
Subscription URL: Enter the link provided by your provider
Save → Update subscription → Select a configuration
4Windows / Android / macOS / Linux
3v2rayN / v2rayNG / v2flyNG
GPL-3.0Client open-source license

Choose a client for your operating system

Choose v2rayN for desktop and start with v2rayNG on Android. Make sure the installer matches both your operating system and processor architecture.

Windows

v2rayN · Desktop / WPF editions

Windows users can choose between the v2rayN desktop edition and the classic WPF edition. The desktop edition uses a cross-platform interface for a similar experience across desktop systems. The WPF edition is for Windows and suits users who want to keep the familiar classic menu layout. Neither interface removes the need to check system requirements. Read the installation notes before downloading to confirm your environment and runtime dependencies.

For a first installation, keep the default listening settings, import a known-good configuration, and enable the system proxy to test basic connectivity in a browser. Consider configuring a separate app proxy or enabling TUN mode only if the target app does not use the system proxy. This makes it easier to distinguish installation issues from traffic capture and remote connection problems.

Back up subscription groups, custom routing rules, and any local settings you need before updating. When switching to another interface, check how configurations are imported; do not overwrite a directory that is currently in use. After finishing, make sure the system proxy is cleared. If other proxy tools also change system settings, decide which one is responsible for managing them to avoid conflicting changes.

Go to downloads

macOS

v2rayN · Apple Silicon / Intel

On macOS, use the v2rayN desktop edition. Check the chip in About This Mac: Apple Silicon uses the arm64 download, while Intel uses x64. Processor architecture determines which installer to choose, so do not rely on the computer's appearance or purchase date. After installation, follow the system prompts to open the app and grant any required permissions, then configure subscriptions and the proxy.

System proxy and TUN mode are separate settings. The system proxy affects apps that follow system settings; TUN mode captures a broader range of traffic and may require additional permissions. Test browser access with the system proxy first, then decide whether you need broader coverage. Device management policies in workplace environments may also restrict proxy changes, so check that the device allows them.

If behavior changes after switching Wi-Fi networks, connecting to Ethernet, or waking from sleep, first check the proxy settings for the current network service, then confirm the client is still running. If an app cannot connect but the browser can, check the app's own network settings first. If local network devices are unreachable, check the direct-routing rules for private addresses rather than sending all traffic through the proxy.

Go to downloads

Android

v2rayNG · Xray / v2flyNG · V2Fly

For Android, start with v2rayNG; consider v2flyNG if you use the V2Fly configuration ecosystem. The two clients use different cores, so choose based on your configuration requirements and preferred workflow, not the similarity of their names. Most modern phones use arm64. If you are unsure of the architecture, check your device information and the download page's universal build notes. Grant installation permission only to the source you are currently using.

To add a single share link, use the client's clipboard import option. For a subscription URL, open Subscription settings, save the source, and update it. After importing, select the configuration, start the service, and allow the system VPN connection. System permission enables local traffic capture; it does not generate server details or replace a valid subscription source.

If connections often drop after the screen locks, check battery optimization, background activity, and the manufacturer's auto-start controls. Per-app proxy settings change which traffic is covered, so test the target app after changing them rather than relying on the status icon. An existing VPN service may conflict with the client's control of system traffic; check which service is active before testing. Treat subscription URLs as private configuration data, and hide addresses and credentials in screenshots.

Go to downloads

Linux

v2rayN · deb / rpm

For Linux desktops, use the v2rayN desktop edition and choose a deb or rpm package based on your distribution. Also check whether your device is x64 or arm64. Debian- and Ubuntu-based distributions generally use deb packages; Fedora-based distributions generally use rpm packages. Package format and processor architecture are separate requirements, so matching one does not guarantee the installer is suitable.

After installation, launch the client from the applications menu and check that both the interface and core start correctly before importing a subscription. Desktop environments differ in how they manage the system proxy, and browsers may have separate settings. When testing, first confirm which proxy configuration the target app actually uses. If needed, enter the client's local listening address and port in the app instead of repeatedly switching servers.

TUN mode affects permissions and routing, so enable it according to the client documentation. Do not run every desktop app with elevated privileges just to keep one setting enabled. Before configuring automatic login startup, test a manual launch and confirm that networking recovers after you exit the client. If you encounter a dependency or permissions error, note the message and startup logs, then consult the relevant section of the installation guide. Troubleshoot auto-start and connection issues separately.

Go to downloads

The Project V, V2Fly, and Xray ecosystems

Understanding the difference between projects, cores, and clients helps you assess configuration compatibility. Open-source licenses explain the terms for using code; connection results still depend on configuration and network conditions.

Project V and the role of clients

V2Ray grew out of the Project V proxy toolkit ecosystem, which organizes network connections through configurable inbounds, outbounds, and routing. Inbounds receive local requests, outbounds define how requests are sent, and routing connects match criteria to outbounds. Graphical clients organize these settings in an interface and manage subscriptions, generate configurations, start processes, and display logs. Seeing that the interface reports a successful start confirms only part of the startup process; check that requests actually reach the intended inbound.

“Client,” “core,” and “subscription” are not interchangeable terms. The client is the tool you use, the core handles protocol and transport logic, and the subscription is a configuration source. After installing a client, you still need a connection configuration that you are authorized to use and that works with the current core. The client does not provide a subscription source, and switching interfaces does not change server requirements. Understanding these roles helps you identify which part to investigate when something goes wrong.

How the V2Fly and Xray cores relate

V2Fly continues the community development and maintenance of V2Ray, while Xray emerged from the related code ecosystem. They share some concepts and protocol background but have distinct development goals and feature roadmaps. Similar JSON fields do not mean that every setting is interchangeable. Beyond the protocol name, check the transport, security settings, server capabilities, and whether the current core implements the features you need. REALITY involves security and transport capabilities; a protocol label alone cannot confirm that an entire configuration is compatible.

v2rayNG uses the Xray core, and v2flyNG uses the V2Fly core. v2rayN provides desktop graphical management and can use the appropriate core based on client options and configuration type. Choose a client by checking your configuration requirements first, then your platform and interface preferences. If a field is rejected, record the exact error and identify which core ecosystem the field belongs to. Renaming a subscription or configuration will not make an unsupported setting work.

The three clients and GPL-3.0

The v2rayN, v2rayNG, and v2flyNG client projects are licensed under GPL-3.0. Open source means the code can be reviewed, used, modified, and distributed under the license terms. Distribution of modified versions carries corresponding license obligations. Clients, cores, and other bundled components may have different licenses, so the license label for a client does not cover every component. Everyday users can start by understanding the client's open-source status; developers and distributors should read the applicable license text.

Open source is a transparent development model, not a guarantee of connection results. Check server availability, subscription validity, authentication settings, and whether the network allows the required transport. This site provides Chinese-language guidance on client selection and configuration; it does not assign subjective ratings or equate community maintenance with a fixed update schedule. To compare the three clients, look at specific differences in platforms, cores, and configuration support rather than inferring performance from their names.

Updates, backups, and configuration boundaries

Updating the client, the core, and a subscription are separate operations. A client update may change the interface, configuration generation, or runtime dependencies. A core update affects protocol implementation and supported fields. A subscription update fetches server configurations again from the source URL. Updating a subscription does not automatically fix the system proxy, and updating the app does not renew an expired subscription. When troubleshooting, note recent changes and check the relevant layer instead of updating everything at once and losing useful clues.

Back up subscription groups, custom routing rules, and configurations known to work before making changes. Backups may contain subscription URLs, authentication details, and server settings; keep them somewhere secure and never post them with public logs. When reporting an error, include field names, error types, and the steps taken, but hide sensitive values. A full subscription and a single shared configuration can grant different levels of access; treat both as potentially sensitive.

Routing also needs maintenance. Domain and IP categories depend on the data files used by the client, and changes to category contents can cause the same destination to match a different rule. Rule order, DNS policy, and the default outbound all affect the result. The routing panel above only illustrates the link between matches and outbounds; it is not a complete, ready-to-run configuration. For real use, define the corresponding tags in your outbound configuration and confirm which default outbound handles unmatched requests.

Client comparisons and platform guides

Our latest three articles cover client differences, Linux deployment, and desktop edition choices. Once you have a basic connection working, read the guide for your platform.