Client downloads and a Chinese quick-start guide

V2Ray Beginner Guide: v2rayN download and setup guide

Start by choosing a client, then follow the steps to import a subscription, switch nodes, and configure routing. The guide covers four major platforms, Xray and V2Fly cores, and clear Chinese instructions for anyone new to V2Ray GUI clients.

Free forever Open source Subscription import guide Split-routing guide
Common routes United States Japan Hong Kong Singapore South Korea
PLATFORMS Windows · macOS · Android · Linux CLIENTS v2rayN · v2rayNG · v2flyNG CORES Xray · V2Fly CONFIG JSON · Routing · DNS
Core tasks

Subscriptions, split routing, and platform selection

Beginners usually do not need to build a configuration file from scratch. Import a subscription into the client first, adjust the system proxy or routing rules for your use case, then confirm which app traffic should be handled.

Subscription settings Ready
Subscription URL

First copy the subscription URL provided by your service provider, then add a new entry under the client’s subscription manager. Name it according to its purpose; paste the complete URL. After saving, run an update so the client can read its nodes and groups. If the URL has parameters at the end, do not stop copying at the question mark.

v2rayN subscription import and node management

A subscription keeps multiple node configurations under one URL, making routine updates and switching easier. Both v2rayN and v2rayNG provide graphical subscription management, so protocol parameters do not need to be entered one by one. Treat “Add subscription” and “Update subscription” as separate steps: the first saves the URL, while the second actually fetches the list. This makes empty-list problems much easier to narrow down.

How to understand split routing

Routing rules determine which outbound a connection should use. Common conditions include domains, IPs, ports, and network protocols; common outcomes are direct connection, proxy, or block. Beginners can start with the client’s presets and refine them after basic connectivity works. Change one type of condition at a time and record the original settings, making it easier to identify the rule that matched too early when access problems appear.

Choose a client for your device

Use v2rayN on desktop platforms; on Android, choose between v2rayNG and v2flyNG.

Platform links

Choose a V2Ray client by operating system

Check your device’s operating system and processor architecture first, then open the download page for the matching platform. Client names may look similar, but supported platforms, interfaces, and default cores can differ. Choosing by device is safer than choosing by name alone.

Windows

Use v2rayN on Windows desktops. The download page explains the difference between the newer desktop interface and the classic WPF interface, so you can choose based on your system and preferences. After the first launch, check the core status before importing a subscription and enabling the system proxy.

Go to downloads

macOS

Use v2rayN on macOS desktops as well. Before downloading, distinguish Apple Silicon from Intel; the two packages should not be identified by file size alone. If macOS shows a security confirmation after installation, follow the system prompts to verify the app source and complete the first launch.

Go to downloads

Android

On Android, choose v2rayNG or v2flyNG. The former uses the Xray core, while the latter uses the V2Fly core; their basic subscription and connection flows are similar. Most newer devices can start with the arm64 package. If you are unsure of the architecture, check the universal-build notes on the download page.

Go to downloads

Linux

Use v2rayN on Linux desktops. Choose a deb or rpm package for your distribution and pay attention to the difference between x64 and arm64. If the desktop menu does not appear immediately after installation, sign in to the desktop session again, then finish subscription and proxy setup in the client.

Go to downloads
Quick start

Three steps from installation to connection

For a first setup, avoid changing the subscription, routing, DNS, and traffic-capture mode all at once. Get the shortest path working first, then adjust advanced settings one by one. Even when something goes wrong, you can tell whether the cause is installation, the subscription, or the proxy mode.

View the complete guide →
  1. 01

    Install the client for your platform

    Choose v2rayN on desktop devices; on Android, select v2rayNG or v2flyNG based on your preferred core. Confirm the operating system and processor architecture before downloading, then complete one normal launch after installation. If the client says the core is unavailable, resolve that first instead of adding multiple subscriptions.

  2. 02

    Add a subscription and update the list

    Copy the complete subscription URL, create and save a subscription entry in the client, then run an update manually. Once the node list appears, choose a route and make it active. The subscription name is only for local identification; the URL determines what the client reads. Do not treat them as the same field.

  3. 03

    Choose a proxy mode and verify it

    For everyday browsing, start with the system proxy and preset split-routing rules. If more apps need to be handled, learn how TUN mode affects permissions and DNS before enabling it. Test the browser and target app separately; if only some apps fail, first check whether they follow the system proxy instead of repeatedly changing subscriptions.

Four common beginner questions

These questions usually come up during the first ten minutes after installation. Identify which stage the symptom belongs to, then open the relevant guide or terminology note.

Why are there no nodes after saving a subscription?

Saving a subscription only means the client remembered the URL; you still need to run an update. If the list remains empty, check that the URL is complete, the correct subscription is selected, and the client has not reported a network error.

View the subscription import steps →

What is the difference between system proxy and TUN mode?

The system proxy mainly handles apps that follow the operating system’s proxy settings. TUN mode uses a virtual network interface to handle a broader range of traffic. Because it involves permissions, routing, and DNS, enable it after basic connectivity works.

View mode-related terms →

Why can’t the browser open pages even though the node test passes?

First confirm that the active node is the same one used for testing, then check that the system proxy is enabled. A browser’s standalone proxy extension or custom DNS may bypass the client’s current settings, so temporarily restore the system defaults and test again.

View connection verification methods →

Will updating a subscription overwrite manual settings?

A subscription update usually refreshes the node content generated by that subscription. Before manually editing subscription nodes, learn how the client handles updates. For configurations that must be kept long term, save them separately and use clear names to distinguish them.

View subscription and node details →
Open-source ecosystem

How Project V, V2Fly, and Xray are related

Clients, cores, and protocols are three different layers. Separating them makes software selection and troubleshooting much clearer.

The ecosystem’s starting point

Project V

Project V helped drive the development of V2Ray-related protocols, configuration models, and tools. “V2Ray” is often used as a broad name for the ecosystem, but in practice a GUI client, runtime core, and node protocol are not the same program. Each guide identifies the layer involved in an operation, so client interface options are not confused with the protocol itself.

Core families

V2Fly

V2Fly continues to maintain the V2Ray core implementation and related documentation, with configurations typically expressed in JSON. v2flyNG is primarily built on the V2Fly core and suits Android users who want to stay within that core family. Whether a protocol works still depends on the cores built into both clients, the server configuration, and matching parameters on both sides.

Core families

Xray

Xray is another active core implementation within the same technical ecosystem. v2rayN and v2rayNG commonly use it for core tasks such as connections, routing, and DNS. The GUI client turns interface choices into core configuration, then launches the core to handle traffic. When errors occur, check both the client message and the core’s runtime logs.

How GUI clients work with runtime cores

v2rayN is a desktop GUI client that manages subscriptions, node switching, the system proxy, routing presets, and core processes. v2rayNG and v2flyNG target Android and turn subscription node parameters into configurations usable on mobile devices. The client handles “how to operate”; the core handles “how to establish connections and process traffic.” When a client appears to support a feature, also confirm that its current core provides the required capability.

What open-source licensing tells you

These three clients and their related cores are maintained by open-source communities. Source code and license terms let developers understand implementation boundaries, review changes, and contribute improvements. For everyday users, the practical benefit is that release notes, issue discussions, and configuration formats can be documented publicly. Open source does not make every configuration correct automatically; users still need to assess the subscription source, node parameters, and local system settings.

Why updates should be considered by layer

Client updates, core updates, and subscription updates are separate. A client update may change the interface or system integration; a core update may add protocol capabilities, fix routing behavior, or change configuration compatibility; a subscription update only refreshes the node list supplied by the provider. When connection problems appear, identify which layer changed most recently instead of updating everything at once.

Configuration formats and compatibility boundaries

The V2Ray ecosystem commonly uses JSON for inbound, outbound, routing, DNS, and policy settings, with GUI clients generating most of the content for you. Configuration structures across cores are similar, but extension fields and specific capabilities may differ. Before copying an advanced configuration, confirm which core and client it targets. If you only need a subscription connection, prefer the client’s built-in options to reduce syntax problems caused by manual fields.

Desktop clients

v2rayN

Supports Windows, macOS, and Linux with graphical tools for subscription management, system proxy, TUN, routing, and log viewing. Desktop controls are broadly similar, while system permissions and package formats vary by platform.

Android clients

v2rayNG

Built on the Xray core, with subscription imports, QR-code scanning, node switching, and mobile VPN traffic capture. The first connection requires approval for the system’s network connection request; afterward, check the status bar to confirm that it is running.

Android alternative

v2flyNG

Primarily built on the V2Fly core, with a workflow close to common Android GUI clients. Focus on core requirements and subscription compatibility when choosing; the interface alone is not a reliable guide.

Download v2rayN