Project V · Open-Source Client Guides

V2Ray Open Source HubDownload the v2rayN Client

From desktop setup with v2rayN to importing configs into v2rayNG on Android, choose a client for your device and configure subscriptions, routing, and cores step by step.

  • Xray / V2Fly
  • VLESS + REALITY
  • Free Forever · Open Source

CONFIGURATION

Subscription, Routing, and Core Settings

A GUI client turns configuration into controls you can work with. Start by importing a valid config, then check which outbound handles your traffic. Only consider switching cores if you run into compatibility issues. Here are four common setup tasks. The interface cards illustrate typical settings; menus vary by client.

Subscription Group Settings

NotesCustom group name
Address (URL)Enter the full subscription URL provided by your configuration provider
Enable updates

IMPORT

Import a Subscription

A subscription URL and an individual share link are different types of input. In v2rayN, create a subscription group, enter the full URL, and run an update. In v2rayNG, add a subscription from the menu and refresh the list. Subscriptions make it easier to manage server settings in one place than entering each server by hand. Before importing, check that the content format is supported by your client. After updating, verify the protocol and transport settings. If the list is empty, check the update result; saving the URL successfully does not mean the import is complete. Subscription URLs may contain access credentials, so redact them before sharing screenshots.

See how to import a subscription →

CLIENT SHELF

Choose a V2Ray Client for Your Platform

For desktop, start with v2rayN; for Android, start with v2rayNG. Choose an installer that matches your processor architecture and package format—don't rely on the file extension alone. The links below open the relevant platform section of the download page, where installers and system requirements are listed.

Use it to manage subscriptions, edit routing rules, and inspect core logs on a desktop. The download page offers the Desktop edition and the classic WPF edition: the Desktop edition uses a cross-platform interface, while WPF keeps the familiar desktop layout. Before installing, check system requirements and processor architecture. If you already have a config, back it up before switching to a different interface.

After launch, import a config before setting the system proxy. Whether your browser uses the system proxy and whether the client has a working outbound are two separate things to check. If you only want specific apps to use a proxy, you can configure a local proxy in those apps instead of changing network settings system-wide.

Go to downloads

Check your chip type under “About This Mac,” then choose the installer for Apple Silicon or Intel. Packages for the two architectures are listed separately; choose the one that matches your device natively. The Desktop edition covers the essentials: subscription management, config editing, and routing selection. When migrating, start with a known-good share link.

Check both system proxy settings and your browser's own settings. If apps behave differently, first see whether each one follows the system proxy, then check the client logs. Avoid changing DNS and protocol fields at the same time. Review first-launch permission prompts against the app's source and the operating system's guidance.

Go to downloads

v2rayNG is suited to Android devices that need Xray-related protocol support; v2flyNG is an alternative for the V2Fly core. For most recent mainstream phones, start by checking the arm64 package. If you're unsure of your architecture, see the download page's notes on universal packages. The two clients are maintained separately, so similar names do not guarantee full config compatibility.

After importing a subscription, you'll usually need to approve the system VPN permission on first connect. If the connection drops in the background, check battery optimization, background activity, and the apps covered by the proxy. A connected status only indicates that the local service has started; access also depends on the config, server status, and network path.

Go to downloads

Choose deb or rpm to match your distribution's package system, then check whether your device is x64 or arm64. In a desktop environment, v2rayN can manage subscriptions and routing settings. Installing the package does not mean the system proxy is automatically applied to every app; desktop environments and apps differ in how they read proxy settings.

Start with a limited test in your browser, then configure other apps. Before routing more traffic through the client, understand the permissions and routing changes involved. Keep a way to revert your settings, and avoid enabling several features that can alter network paths before confirming the basic connection works.

Go to downloads

PROJECT V / V2FLY / XRAY

The Project V Ecosystem and Choosing a Client

V2Ray is often used as an umbrella term for a range of tools, but GUI clients, proxy cores, and protocols are different layers. Separating them makes it easier to choose and configure the right tools: the interface manages settings, the core handles execution, and the protocol defines how communication works.

CLIENT → CORE → CONFIGURATION

v2rayNManage settings for cores such as Xray and V2Fly
v2rayNGAndroid · Xray core
v2flyNGAndroid · V2Fly core

Support depends on the client release, core capabilities, and import format.

Identify the core before checking protocol support

A config importing successfully only means the client parsed it. To connect, the core must also support the protocol, transport, and security fields, and the server must use matching settings. Seeing an option in the interface is no substitute for confirming which core is actually running.

Compare clients →

Project V Origins: From Proxy Cores to GUI Clients

Project V brings together composable proxy tools, with V2Ray as one of its widely used core projects. Modules for inbound and outbound connections, routing, and DNS let you configure different network tasks separately. Everyday clients such as v2rayN and v2rayNG don't simply rename the core; they add subscription management, config editing, mode switching, and log viewing. A GUI makes these tasks more accessible, but the underlying software still handles the connection.

That is why “open the client” and “start the core” can refer to different steps in a guide. The interface may appear to work while the core exits because of an invalid config field. Conversely, a disabled system proxy option in the interface does not mean the core isn't listening on a local inbound. When troubleshooting, first identify which layer the problem is on; that is usually more useful than reinstalling repeatedly.

V2Fly and Xray: Shared Roots Don't Mean Full Compatibility

The V2Fly community continues development of the V2Ray project, while Xray has developed its own implementation based on related code. The two share many concepts and config conventions, but their features have evolved separately. Check Xray's support when using features such as REALITY, and verify each field in an existing V2Fly config. Simply swapping the executable does not guarantee identical behavior.

v2rayN centralizes common desktop settings; v2rayNG provides an Android interface for the Xray route; and v2flyNG suits users who specifically need V2Fly behavior and config conventions. All three are open-source clients, but their release schedules, interfaces, and core combinations differ. Choose based on what your existing config needs, not on the client name as a checklist of supported protocols.

VLESS, VMess, and REALITY: Understand the Fields Together

VMess, VLESS, Trojan, and Shadowsocks are proxy protocol options; REALITY is a security-layer approach often used with VLESS. “VLESS + REALITY” does not mean two interchangeable protocol types. Transport, server address, port, user ID, and security settings must all match. A missing or mistyped field can cause the handshake to fail.

Protocol names aren't a speed ranking. The same protocol can perform very differently depending on the server, network path, and transport combination. On mobile, battery use also depends on reconnect frequency, background settings, and actual traffic. If your current config works, keep its existing combination. To compare alternatives, hold the device and network conditions constant and test one change at a time. The protocol guide explains the trade-offs and limits of each option.

Open-Source Licenses and Community Maintenance: Software vs. Connection Services

v2rayN, v2rayNG, and v2flyNG are released as open-source software, generally under GPL-family licenses. The V2Fly and Xray cores use MPL-family licenses. Check the license files included with each project for the exact terms. Source code, release notes, and issue reports all contribute to community maintenance. Open source defines how code may be used and distributed; it does not mean every third-party config source is safe to import.

A client is not a connection service. After installing the software, you still need server settings or a subscription you are authorized to use. Providers maintain the server settings in their subscriptions, and connectivity depends on both the server and your network. V2Ray Open Source Hub curates client downloads and Chinese-language guides; it does not list ready-to-use servers on the homepage or treat a running client as proof that a service is available.

Updates: Check the Client, Core, and Subscription Separately

Client updates mainly affect the interface, config generation, and integrations. Core updates affect protocol implementation, feature support, and runtime behavior. Subscription updates usually replace server entries and connection settings. These updates may happen at different times. If a subscription update fails, check the URL, response content, and import format first. If the core fails to start, check the logs for field errors or unsupported features rather than overwriting all your local settings.

Before updating, back up subscription groups, custom routing rules, and other local settings. After updating, test basic access with a known-good config, then restore additional rules gradually. If you switch clients or cores, check whether they support your existing config. The download page collects installer links; refer to it for current version details, and don't mistake differences from a tutorial screenshot for an installation problem.

Common First-Time Setup Questions

The subscription updated successfully. Why can't I connect?
A successful update only means the client received parseable content. You still need to select a working config, start the core, and make sure the app is using the proxy. See the setup guide for troubleshooting steps.
Do I need to enable both the system proxy and TUN mode?
They route traffic in different ways. Start with one to verify the basic setup, then adjust for your apps. See the FAQ for details on how they differ.
Can I copy my desktop config folder directly to a new phone?
A safer starting point is to import a compatible subscription or share link, then set up app proxy and background behavior separately on your phone. Before migrating, check client compatibility.
If a test passes, does that mean every website will load?
An individual test only covers part of the connection path. Browser proxy settings, DNS, and routing can still affect access. Check the actual request and logs together. See the networking basics guide for definitions.

TECHNICAL NOTES

V2Ray Technical Notes

Explore the Project V ecosystem, DNS, and core runtime logs, organized around specific questions. Before changing settings, check the prerequisites in the relevant article. The same message can have different causes; keeping the original config and a complete record of what you did is more useful than sharing a single error line.