Project V Ecosystem · Client Setup Guide

V2Ray ToolboxDownload & Setup

Choose a platform-specific installer, then follow the English setup guide to make your first connection—from the open-source client to subscription and routing settings.

  • Xray · V2Fly
  • Subscription Management
  • Routing

Common v2rayN Settings

Understand protocols, routing, and system proxy settings before adjusting individual options.

Protocol Types and Transport Settings

One client can manage configurations for VMess, VLESS, Trojan, Shadowsocks, and other protocols, but a protocol name alone does not define a complete connection setup. After importing a configuration, check the transport, TLS, server name, and other fields. REALITY is a transport security feature, not a standalone proxy protocol. Managing everything in one client makes settings easier to compare than installing a separate tool for each protocol. Whether a configuration runs still depends on the selected core and its supported features. For your first setup, keep the imported values and only change them to match the server instructions.

Compare protocols and transports →
Configuration ExampleProtocol / Security
VLESSProtocol type
VMessAlternative protocol
securityreality
serverNameexample.com

This interface illustrates common settings. Actual names, available options, and defaults vary by client.

Choose a Client by Operating System

Use v2rayN on desktop. On Android, start with v2rayNG and consider v2flyNG if your configuration requires the V2Fly core.

Windows

v2rayN is available as a desktop edition and a classic WPF edition. The desktop edition uses a newer cross-platform interface, while the WPF edition retains the familiar classic desktop workflow. For your first install, choose a package based on your operating system architecture and the download page instructions. There is no need to run both editions just because their interfaces differ; running two clients on the same listening ports can make troubleshooting harder.

After installation, open settings and confirm the local listening endpoint before importing your configuration. When migrating an existing setup, keep the old data directory and note any custom subscription groups, routing rules, and DNS settings. Do not overwrite the old directory with a new one. Verify that the client starts and connects before removing the old installation or changing startup settings.

Download for Windows

macOS

v2rayN installers for macOS are available for Apple Silicon and Intel processors. Check the chip or processor details in About This Mac, then choose the matching download. Packages with the same client name may not work on every device. Selecting the right architecture before addressing system permission prompts helps avoid mistaking a startup issue for a configuration problem.

The subscription, routing, and log-checking steps in the desktop guides still apply, but menus and system proxy settings may be in different places. Before connecting for the first time, check whether the system network settings point to the client's local port. If the browser cannot connect after you quit the client, first check for a proxy setting that still points to a stopped service.

Download for macOS

Android

v2rayNG uses the Xray core, while v2flyNG is an alternative based on the V2Fly core. Choose an app based on the core features your existing configuration requires, then select an arm64 or universal package. Most recent mainstream phones are suited to arm64. If you are unsure of your device's architecture, follow the download page guidance rather than judging by package size alone.

On first launch, connecting requires system VPN permission, which is separate from access to the subscription URL. If only some apps have problems after connecting, check per-app proxy settings and system background restrictions. Battery use also depends on signal strength, app request frequency, and connection retries; the protocol name alone is not enough to predict it. Use the system battery statistics to narrow down the cause.

Download for Android

Linux

The v2rayN desktop download page offers deb and rpm packages for different processor architectures. First check your distribution's package format, then confirm whether your device uses x64 or arm64. A GUI client is suited to managing subscriptions and settings in a desktop session. Check package format, desktop environment dependencies, and network permissions separately rather than treating them all as core issues.

System proxy support varies across desktop environments. If a browser connects but another app does not, check whether that app follows the desktop proxy settings; if necessary, set its local endpoint directly. When changing the listening port, also check environment variables and existing app settings so they do not keep referencing the old port.

Download for Linux

Project V Ecosystem and Proxy Cores

Know the difference between the client, core, and connection configuration to troubleshoot the right layer.

From Project V to GUI Clients

Project V is an open-source ecosystem built around proxy communication tools, with V2Ray as one of its key projects. “Installing V2Ray” can mean installing a GUI client or deploying the core that handles connections; these are not the same thing. The GUI saves server settings, manages subscriptions, and generates runtime configurations. The core reads those configurations and handles inbound connections, routing, and outbound connections.

Opening the client window only shows that the GUI is running. It does not prove that the core started successfully or that an app is using the proxy. Check the full path: configuration parsing, local listening, then the app's connection settings. Separating these steps makes it easier to find the cause than repeatedly reinstalling the client, and reduces the risk of affecting existing subscriptions and custom rules.

How V2Fly and Xray Are Related

The V2Fly community continued V2Ray's development, while Xray evolved from related code and developed its own feature set. The two share some configuration concepts and protocol history, but today they are separate cores whose capabilities must be checked individually. A guide written for one core does not mean every security option, transport name, or configuration field can be transferred directly to the other.

When choosing a core, start with the server requirements, then check whether the client can generate the required settings. For specific features such as REALITY, confirm that both the core and the client interface support them. Avoid reducing core differences to a fixed speed ranking: real-world performance also depends on server load, network path, transport combination, and device resources.

What Three Open-Source Clients Do

v2rayN is an open-source desktop GUI client for managing configurations, subscriptions, routing, and system proxy settings in one place. v2rayNG is an open-source Android client that uses the Xray core and routes app traffic through the system VPN interface. v2flyNG is also for Android, but is based on the V2Fly core and suits configurations that specifically depend on its behavior.

Platform and core compatibility usually matter more than interface preference when choosing a client. A compatible configuration from the same source can be used on desktop and mobile, but local listening, app connectivity, and background behavior differ. A phone's VPN permission and a desktop's system proxy are not equivalent switches. When moving a configuration, recheck which apps are covered rather than just confirming that the server entry appears.

Open-Source Licenses and Usage

Open source means a project publishes its source code under a license that sets the terms for use, modification, and redistribution. It does not mean every related project uses the same license. The V2Fly and Xray cores typically use MPL 2.0, while each client and bundled component has its own license terms. Personal use and redistribution of modified software have different requirements; the label “open source” is no substitute for understanding the specific terms.

The client itself does not include remote connection resources ready for use. Subscription sources, server configurations, and the terms for remote services must be checked separately. V2Ray Toolbox provides download links and configuration guidance, not subscriptions or accounts. When discussing an issue publicly, redact access credentials, user identifiers, and server authentication fields from subscription URLs; remove sensitive information from logs before sharing them as well.

Four Different Things to Update

Client, core, subscription, and rule data updates each affect different things. A client update may change the interface or how configurations are generated. A core update affects connection capabilities. A subscription update syncs server entries from its source. GeoIP and GeoSite data updates affect routing based on IP and domain categories. Updating a subscription alone cannot add a feature missing from the core.

Before updating, save your current configuration and custom rules. Afterward, confirm that the core starts, then check routing for commonly used destinations. If a site suddenly uses a different outbound, consider changes to rule data as well as rule order and DNS policy. Avoid changing the core, subscription, and routing template all at once; otherwise, it is difficult to tell which change affected the result.

Compare Protocols by Connection Requirements

VMess, VLESS, Trojan, and Shadowsocks differ in authentication, configuration structure, and common deployment setups. VLESS does not provide the same encryption mechanism as VMess and is usually paired with an appropriate transport security option. Trojan is commonly used with TLS, while Shadowsocks requires the client and server to use matching encryption methods. Comparing protocol names alone can hide the fields that determine whether a connection works.

On mobile devices, background activity, connection keepalives, app request frequency, and signal conditions can all affect battery life. On desktop, checking whether an app reaches the local listening port is often more useful than switching protocols. The protocol guides explain trade-offs in these real-world contexts rather than presenting one protocol as the default for every device and server.

Common Setup Questions

Why do I still need to select a configuration after importing a subscription?

Updating a subscription retrieves and saves a collection of configurations; it does not necessarily activate one automatically. Confirm that the subscription group contains recognized entries, select the configuration you want to use, and check that the core starts successfully. Then check the system proxy or VPN connection. An entry appearing in the list does not mean app traffic is reaching the client.

View the import and connection guide →
Does every client have to use port 10808?

No. This is a common example of a local listening port; use the port configured in your client. If the port is already in use, identify the conflicting process or change the client to another available port. After changing it, update the browser, apps, and relevant system proxy settings too, or they will keep sending requests to the old port.

Learn how to check listening ports →
Why can my browser connect when other apps still fail?

First determine whether the app is bypassing the proxy or reaching the proxy but failing to connect to its destination. Some programs ignore system proxy settings and need to be configured separately; others may use their own DNS, UDP, or network stack. Check the app's connection settings and logs before changing routing or the connection method. Do not assume every failure is caused by the subscription.

View app connection and verification steps →

Configuration Notes and Troubleshooting

Narrow down the issue by checking rule files, port conflicts, and DNS settings.