Clients and Configuration Guides

V2Ray Docs and Clients

A focused guide to client installation, subscription imports, and traffic routing, arranged in order from platform selection to connection verification.

Free forever Open source Chinese documentation Xray · V2Fly

client workflow

From subscription import to traffic routing

Client configuration is more than a single switch. Work through subscriptions, proxy settings, routing, and verification step by step to locate issues faster and keep your setup consistent across devices.

subscription

Subscription import and update order

A subscription link provides configuration that the client can recognize and manage centrally. For the first setup, copy the complete address, add it as a new source in a subscription group, and run an update. Once configurations appear, select the one to use—“imported successfully” does not mean “connected.” Run future updates on the original group to avoid creating duplicate entries with the same name. If an update fails, first check whether the address was truncated and whether the system time is accurate, then check the network and subscription source.

View the subscription import steps
Subscription group Manage by source
Add subscription Enter address
Update subscription Run manually
Select configuration Set as active

platforms

Choose a client by operating system

Use v2rayN on desktop platforms; on mobile devices, choose between v2rayNG and v2flyNG. The download center lists files by operating system and processor type, with platform-specific guidance at each entry.

desktop

Windows

v2rayN is a good fit for graphical desktop use. The desktop edition offers a cross-platform interface, while the classic WPF edition preserves the familiar Windows workflow. Both support subscription groups, system proxy, routing modes, and connection testing. Choose the edition that best matches your interface preferences on the download page.

Go to downloads

desktop

macOS

Use the v2rayN desktop client. Before downloading, check your system information to identify the chip type, then choose the installer for Apple Silicon or Intel. Subscription imports and routing settings are similar to those on other desktop platforms, making it easier to compare matching options when migrating a configuration.

Go to downloads

mobile

Android

v2rayNG with the Xray core is the preferred choice; v2flyNG is another option depending on the configuration source and core requirements. Most newer devices work well with arm64 files. If you are unsure of the processor architecture, check the system information before choosing a universal installer.

Go to downloads

desktop

Linux

v2rayN provides packages for common distributions such as Debian, Ubuntu, and Fedora. Before downloading, confirm the package system and processor architecture. After installation, configure the desktop tray, system proxy, and launch-at-login service separately so distribution differences are not mistaken for client problems.

Go to downloads

quickstart

Complete the basic setup in three steps

Start with a repeatable basic workflow before adjusting routing and advanced transport parameters. This makes it easier to tell whether an issue comes from the subscription, client, or system proxy.

View the complete guide
  1. 01

    Install the appropriate client

    Open the v2rayN download area on desktop devices; on Android devices, choose v2rayNG or v2flyNG. Before installing, confirm the operating system, processor architecture, and package format. After the first launch, locate subscription groups, the server list, routing modes, and system proxy settings before changing advanced options.

  2. 02

    Import and update the subscription

    Copy the complete subscription address, add a group in the client’s subscription manager, and run an update. Once configurations appear, select an available entry and check that the protocol, address, port, transport, and TLS fields were supplied correctly by the subscription. QR codes are useful for temporary device-to-device migration; for long-term management, keep a unified subscription source.

  3. 03

    Connect and verify each layer

    Start the core and enable the required proxy mode. First confirm that the log shows no port conflict or configuration parsing error, then run a real connection test, and finally verify access in a browser. Add custom routing and DNS settings only after the basic path is stable. Change one category of parameter at a time so results are easy to compare and revert.

open ecosystem

Project V, V2Fly, and Xray

Clients, cores, protocols, and configuration formats belong to different layers. Understanding how they relate is more useful for migrating configurations and resolving compatibility issues than memorizing a particular interface button.

How the ecosystem fits together

Project V grew into an open-source ecosystem around proxy protocols, transport methods, routing rules, and client tools. V2Ray is often used as a general name for this technology stack, but in practice it is important to distinguish graphical clients from the underlying core. A graphical client imports subscriptions, generates configurations, manages the system proxy, and displays logs. The core parses configuration, establishes connections, applies routing, and handles inbound and outbound traffic. Separating these layers explains why the same subscription can be read by different clients and why some parameters work only with a particular core.

Core families

V2Fly continues V2Ray’s community development direction, covering VMess, VLESS, routing, DNS, and various transport combinations. Xray has continued evolving within a similar configuration ecosystem, adding further transport and protocol capabilities. Neither is a client name; each is a core program that graphical clients can call. When choosing a client, also check its default core, the protocol parameters supplied by the subscription, and the server configuration. Interface appearance alone cannot show whether a configuration will load completely.

How the three clients differ

v2rayN targets Windows, macOS, and Linux desktops, offering graphical subscription groups, routing, system proxy controls, and log viewing for users who want one consistent desktop workflow. v2rayNG targets Android and commonly uses the Xray core, with a focus on mobile network changes, per-app proxying, and QR-code imports. v2flyNG also targets Android and primarily uses the V2Fly core, making it an alternative when its core behavior is required. All three are community-maintained open-source clients, but their platform focus and core combinations are not identical.

Open-source licensing and update practices

Source code, licenses, and release records provide traceable evidence of how an open-source project is maintained. Client updates may include interface fixes, system compatibility changes, core integration, and configuration-format changes; core updates may affect protocol implementation, routing capabilities, and transport behavior. Read the change notes before updating and keep a working configuration. If problems appear after a new installation, check client settings and core logs separately instead of blaming every issue on the subscription. The download center organizes entry points by platform, while the documentation explains the impact of changes by task.

common questions

Featured FAQs

These questions cover the parts of a first-time setup that most often cause confusion. For the complete workflow, continue to troubleshooting or consult the troubleshooting manual by symptom.

No configuration appears after importing a subscription. What should I check first?

First confirm that you copied the complete subscription address, then run a manual update on the relevant group. If it is still empty, check the system time, local network, and response details in the client log. Do not keep creating duplicate groups, or it will be difficult to tell which source was actually updated. See Troubleshooting for the recommended order of checks.

Why can’t the browser access sites after the client starts?

First confirm that the core started successfully, then check whether the system proxy is enabled. Some browsers or apps use their own proxy settings and require the local listening address and port to be entered separately. If the log reports a port conflict, stop the process using it or change the listening port. See system proxy troubleshooting for detailed steps.

How should I choose between global and routing mode?

For an initial setup, use the more direct mode to confirm the basic connection, then switch to a preset route. Routing mode chooses an outbound path based on domains, addresses, or rule sets, making it better for long-term use. Add custom rules only after the basic path is stable, and remember that matching proceeds from top to bottom. See the full configuration guide.

Does a successful latency test mean everything is configured correctly?

A successful test only means that the selected test method received a response; it does not replace real-world access verification. Also check the system proxy, DNS, routing rules, and whether the target application is using the correct outbound path. Verify each layer in order: core startup, connection test, and actual access. When one fails, troubleshoot only that layer.