PROJECT VClient and Configuration Guides

V2Ray Tutorial HubClient Downloads and Setup

From choosing a client and importing a subscription to troubleshooting connections, understand V2Ray configuration through inbounds, routing, and outbounds.

Protocol Reference
  • VMess
  • VLESS
  • Trojan
  • REALITY
CONFIGURATION WORKFLOW

Client Setup and Subscription Management

GUI clients manage configuration; the core handles connections. First, make sure your server details are complete. Then decide which apps should use the proxy and which requests should connect directly. The guides below cover desktop and Android clients, along with configuration structure. Code snippets show individual fields only; they are not complete configurations for connecting to a remote server.

Subscription Groups and Server Import

Add the subscription URL in your subscription group settings, save it, and update the group. Then check that the server list shows the protocol, address, and port. Subscription URLs and individual share links use different import options, so URL length alone won't tell you which format you're dealing with. Create a separate group for each source to avoid mixing servers during updates. Subscription URLs often contain access credentials, so keep them on your own devices. When troubleshooting, note the error message, but never post the full URL publicly.

System Proxy and Routing Modes

Select an active server, make sure the core is running, and then configure the system proxy. The system proxy provides a local proxy address to apps that follow system settings; it does not route every program automatically. Routing mode determines which outbound handles requests that reach the core, so it operates at a different layer. For your first setup, keep the default routing, test browser access, and adjust rules one at a time. If you need to route more apps, read about the permissions and conflicts involved in TUN mode.

Real-Connection Speed Tests and Verification

An open port doesn't guarantee a successful protocol handshake. TCPing mainly tests whether a TCP connection can be established. A real-connection speed test also involves the proxy handshake and a request to the destination, but still can't predict how every site will perform. After selecting a server, use client logs, browser requests, and your exit IP together to verify the connection. If the speed test succeeds but an app still fails, first check whether it uses the system proxy, then inspect routing and DNS. Don't immediately cycle through servers.

inbounds · partial example
{  "inbounds": [    {      "tag": "socks-in",      "listen": "127.0.0.1",      "port": 10808,      "protocol": "socks",      "settings": {        "auth": "noauth",        "udp": true      }    }  ]}
CLIENT PACKAGES

Choose an Installer for Your Operating System

For desktop, start with v2rayN. On Android, choose v2rayNG or v2flyNG based on the server's capabilities. The client name, core family, and processor architecture are three separate factors: choose your operating system first, check your chip next, then confirm protocol support. The download page lists installers and compatibility details to help you avoid mixing up packages with similar names.

Windows

v2rayN

The cross-platform desktop version uses a modern interface, while the classic WPF version retains a traditional desktop workflow. Choose between them based on interface preference and system requirements; interface differences don't mean the servers use different protocols. Before installing, check your device architecture in system settings. After launching, import a working configuration before setting up the system proxy.

When migrating, keep your existing subscription groups and custom routing rules. If an app doesn't follow the system proxy, check its own settings before considering other ways to route its traffic.

macOS

v2rayN

Choose the Apple Silicon or Intel installer based on the chip shown in About This Mac. Using the package built for your device's architecture avoids extra variables from compatibility layers. If macOS displays a security warning on first launch, verify the app's source and system requirements, then follow the download page instructions. Don't disable system protections long-term just to launch the app.

Which apps use the system proxy depends on whether they follow the relevant settings. When troubleshooting, check the local listening port, active server, and browser proxy options together.

Android

v2rayNG / v2flyNG

Start with v2rayNG, which uses the Xray core. If you need compatibility with the V2Fly core, consider v2flyNG. Most modern devices use the arm64 package; if you're unsure about your architecture, check the universal build notes. The two apps have different core capabilities. For REALITY or specific transport settings, check the protocol requirements first rather than assuming similar interface options mean equivalent support.

A system VPN permission is required for the first connection. Keep notifications enabled after connecting and check battery management settings to tell whether Android is restricting background activity or the remote server has disconnected.

Linux

v2rayN

Choose a deb or rpm package based on your distribution's package manager, then select x64 or arm64. After installing a GUI client, check the proxy settings in your desktop environment; browsers, terminals, and other apps may have their own proxy options. A successful installation only means the program runs. It doesn't mean all system traffic is routed through the proxy.

Keep your existing network settings as a reference. If you run into a local port conflict or permissions issue, check the logs before changing client settings. Avoid running multiple proxy processes that try to control traffic at the same time.

View all clients →After choosing an installer, continue with subscription import and connection testing.

PROJECT V / CORE / CLIENT

Project V Ecosystem and Core Differences

In everyday discussion, “V2Ray” can refer to the project, a core, or related clients in general. To troubleshoot effectively, separate these layers: the GUI determines how settings are entered, the core determines how fields are handled, and the server configuration determines which connection parameters are required. Similar names don't guarantee identical features or interchangeable configurations.

ORIGIN

Project V and V2Fly: Where the Configuration Model Comes From

Project V provides the project background for understanding V2Ray. V2Ray organizes proxy connections with a modular configuration that separates inbounds, which receive requests; routing, which selects a path; and outbounds, which initiate connections. V2Fly is a community project that continues V2Ray development. Its core and related rule data are important parts of this ecosystem. Understanding this configuration model is more useful when switching clients than memorizing where a button appears in one interface.

When a guide mentions a SOCKS inbound, domain rules, or a direct outbound, it describes responsibilities within the core—not three separate devices. A client can manage multiple servers, but the active configuration determines which outbound handles each request. GUI-generated configuration may also change with client settings. When troubleshooting, check the current runtime state and logs rather than relying only on a saved server name.

COMPATIBILITY

Xray and V2Fly: Check Feature by Feature

Xray developed from code related to V2Ray and has followed its own path of feature development. Features such as XTLS Vision and REALITY generally require checking Xray support. V2Fly has its own configuration and transport capabilities. A shared project background doesn't mean the two cores behave identically across all fields, transport combinations, and defaults. Before copying a configuration, confirm which core it targets, then check which core the client actually runs.

Matching protocol names alone doesn't guarantee compatibility. Check the transport, security layer, flow control parameters, and identity information as well. For “unknown field” or “handshake failed” errors, identify whether the problem occurs during configuration parsing or network connection. For parsing errors, check core support and field syntax first. For connection failures, check the server address, system time, and security settings. Read about Xray and V2Fly differences to learn how server requirements and client capabilities differ.

OPEN SOURCE CLIENTS

Three Open-Source Clients: The GUI Isn't the Core

v2rayN is a desktop GUI client with tools for server management, subscription updates, proxy settings, and routing; its connection capabilities also depend on the selected core. v2rayNG is an Android client primarily associated with Xray core features, while v2flyNG is an Android alternative that uses the V2Fly core. All three clients are open source. When choosing one, check the platform, core, and use case before focusing on the app name.

Open-source licenses set the terms for using, modifying, and distributing code. Clients, cores, and rule data are separate project components, so check the license provided with each piece of software. Open-source development can help you understand where software comes from and how it works, but it doesn't replace configuration review or prove that a subscription source is trustworthy. This site provides installation and usage guides, not remote server accounts. Installing a client doesn't automatically give it the server details needed to connect.

UPDATE & DIAGNOSIS

Updates and Troubleshooting: Change One Layer at a Time

Client, core, subscription, and rule-data updates are separate. Updating the GUI doesn't necessarily change subscription contents, and updating a subscription doesn't necessarily add core features. Before upgrading, note the active server, proxy mode, and custom routing rules, and keep a necessary configuration backup. After upgrading, retest a scenario that worked before enabling new features. If you change the server, DNS, and routing rules all at once, it will be difficult to identify the cause of a failure.

A troubleshooting report can include only the time, client name, core type, brief error summary, and reproduction steps. Before sharing logs, remove subscription URLs, identifiers, and other sensitive parameters. For certificate errors, check the device clock and server name. For connection timeouts, check address reachability and differences between networks. If only one app fails, first check whether it is covered by the proxy. Use the client comparison to choose an app, the FAQ for quick answers, and the troubleshooting handbook for a symptom-by-symptom walkthrough.

TECHNICAL NOTES

Advanced Configuration and Troubleshooting Articles

After your first successful connection, move on to core selection, routing order, and TLS settings. Start by identifying which layer the problem belongs to, then follow the article's checks to narrow it down. Adapt configuration examples to your server settings and core capabilities; don't paste partial snippets over an existing configuration.

Troubleshooting TLS Certificate Errors: System Clock and SNI Configuration

For errors such as an invalid certificate or failed handshake, check the device clock, confirm that SNI matches the camouflage domain, and review the allowInsecure setting and fingerprint. Check one common TLS failure at a time. First determine whether the error occurs during certificate validation or connection setup, then choose what to inspect next. Disabling certificate verification should not be treated as a routine fix.

Read the TLS troubleshooting guide →

Xray vs. V2Fly Core: XTLS, REALITY, and Configuration Compatibility

Learn where the two core families came from, compare support for features such as XTLS Vision and REALITY, and find out whether v2rayNG or v2flyNG is right for you. Before migrating, check the protocol, transport, security layer, and fields one by one. A matching server name doesn't mean configurations can be reused as-is, and a setting available in the client interface doesn't guarantee that the core can run it.

Read the core comparison →

View all articles →Explore guides to first-time setup and subscription formats, too.

Download Clients