Clients · Protocols · Configuration Reference

V2Ray Resource Hub Download v2rayN

Explore setup guides, choose an open-source client for your platform, and follow each connection setting, from subscription imports to routing.

  • Protocol Reference
  • VMess
  • VLESS
  • Trojan
  • Shadowsocks
  • REALITY

Client Downloads

Choose an installer for your operating system

Browse all clients →

Clients store configuration, manage subscriptions, and run proxy cores. Installing a client is only one step—you still need a valid server configuration. Check your operating system and processor architecture, then follow the platform-specific setup guide. v2rayN is the main desktop option; v2rayNG is a common choice for Android, while v2flyNG is an alternative when you need the V2Fly core.

Configuration Guides

Common v2rayN Settings

Open the user guide →

These five settings cover different stages, from subscriptions to local ports. Subscriptions determine which servers are available; system proxy settings control how apps connect; routing determines how traffic is forwarded once it enters the core. When troubleshooting, change one setting at a time and note its original value to isolate whether the issue is with the configuration, inbound connection, or outbound connection.

Subscription groups keep configurations from different sources organized. In Subscription Group Settings, add a group, enter its URL, and save it. Then update the subscription to load the server list locally. A subscription URL and a single node link serve different purposes; URL length alone doesn’t tell you which one you have. If an update fails, check that the URL is complete and hasn’t expired, then review the connection method used for the update request. Updating a group makes it easier to sync server changes than adding nodes one by one, but check custom names and filters again after each update.

↗

Subscription Group Settings

Manage Groups
Add / Edit
Subscription URL
Enter the provider URL
Update
Update subscription for this group
Check after updating
Server and Protocol Fields

Setup Steps

Three Steps: Install, Configure, Verify

Read the full guide →

For your first setup, establish a connection you can verify before adding routing rules or automatic updates. Don’t run multiple proxy clients at once, and don’t treat “import succeeded,” “core started,” and “destination page loads” as the same result. They test three separate stages: configuration parsing, the local service, and the actual connection.

  1. 01

    Install and Check Your Environment

    Choose the installer for your operating system on the downloads page. After installation, open settings and check the local listening address and port. On desktop, make sure other proxy tools aren’t still running. On Android, check whether another app is already using the VPN connection. Leave the default routing in place for now, and note the current system proxy settings so you can restore them after testing.

    If the app won’t start, check system requirements, runtime dependencies, and permission prompts before changing the subscription. An interface that opens doesn’t mean the core is running properly; check the logs for configuration parsing or port binding errors if needed. The installation directory may differ from the configuration directory, so confirm where settings are actually stored before moving them.

  2. 02

    Import a Subscription and Select a Configuration

    Add a source under Subscription Groups, paste the complete URL, and update it. For a single share link, use the clipboard import option instead. Once entries appear, check that the protocol, server address, port, and security layer are all present, then select a configuration to use. Subscription URLs may contain access credentials, so don’t include them in public screenshots.

    v2rayNG’s subscription group and update controls are laid out differently from the desktop client, but you still need to save the source before updating its contents. If the list is empty, check that the response uses a subscription format supported by the client. If import succeeds but the connection fails, check the node fields and core support. Repeatedly clicking Update usually won’t fix incompatible fields.

  3. 03

    Connect Apps and Verify Traffic

    On desktop, start the local service and configure the system proxy. On Android, approve the system request and start the connection. First, use an app that reads the system proxy to open a test page, then check the logs for connection and routing results. If an app has its own proxy settings, check whether they override the system settings. SOCKS and HTTP endpoints aren’t interchangeable.

    When something goes wrong, check the local port, system proxy, routing, DNS resolution, system time, and server status—in that order. A latency test measures the response under a specific test method; it doesn’t tell you download speed or whether every site is reachable. Once the setup works, enable custom rules and repeat the same test after each change so results are comparable.

Open-Source Ecosystem

Project V, V2Fly, and Xray

Read the protocol guide →

PROJECT V / CORE / CLIENT

Interfaces, cores, and protocols each have a distinct role

Background
Project V · V2Ray
Core Families
V2Fly · Xray
Desktop Clients
v2rayN
Android Clients
v2rayNG · v2flyNG

Choose a client based on your device and preferred workflow, a core based on configuration compatibility, and a protocol based on the connection parameters provided by your server.

Explore core and client terminology →

Project V and V2Ray

Project V is a starting point for understanding the technology behind V2Ray. V2Ray combines local inbound connections, remote outbound connections, routing, and DNS resolution into a configurable system. It isn’t a particular graphical interface or just one protocol. When people say “install V2Ray,” they often mean installing a client that manages these configurations. Separating interface, core, and protocol names helps explain why different clients can import the same share link, yet fail to start it with a particular core.

This layered design also shapes the troubleshooting process: seeing a node in the interface only confirms that some of its details were recognized. To establish a connection, the core must still handle the protocol, transport, and security layer. When reading a guide, first identify whether it describes an interface setting or core behavior. Our user guides focus on setup steps, protocol guides cover compatibility and design trade-offs, and the glossary explains configuration fields. Use them together to investigate the issue at hand.

How V2Fly and Xray Differ

V2Fly continues the V2Ray community’s maintenance work, while Xray is a separate core branch developed from related technology. They share some concepts and protocol support, but their feature development, configuration fields, and default behavior aren’t identical. For settings such as REALITY and XTLS Vision, check Xray’s support. Simply swapping the core doesn’t mean every existing field will behave the same way.

When choosing a core, start with the server configuration to determine what you need, then check whether the client can represent all of its fields. If a subscription import drops security or transport parameters, a familiar protocol name in the interface won’t guarantee a working connection. For most users, keeping a verified working configuration is more useful for troubleshooting than switching cores frequently. To compare cores, keep the server, destination, and test method the same, then compare startup logs and connection results.

Open-Source Status of the Three Clients

v2rayN, v2rayNG, and v2flyNG are all open-source graphical clients. v2rayN is designed for desktop use, with server lists, subscription groups, and proxy settings. v2rayNG is for Android and uses the Xray core; v2flyNG offers an Android option based on the V2Fly core. These clients provide interfaces for managing configurations, but they aren’t server services, and installing one doesn’t automatically give you a working subscription.

Open source means the code can be read, used, and redistributed under its applicable license. It doesn’t mean every configuration will work on every device. V2Fly-core is primarily licensed under MIT, while Xray-core is primarily licensed under MPL-2.0; each client and dependency has its own license terms. Most users only need to check the source, maintenance notes, and features. If you plan to modify or redistribute code, read the licenses for the relevant projects and dependencies rather than treating the entire ecosystem as if it had a single license.

Updates and Compatibility Checks

Clients, cores, subscriptions, and routing rule sets are separate things to update. A client update may change interface controls or how configurations are generated. A core update may add protocol features or change field support. Subscription updates sync server parameters, while rule set updates can change domain and IP matches. So “it’s updated” isn’t specific enough for troubleshooting. Note what was updated and which settings changed before and after the issue appeared.

For routine maintenance, save your subscription sources, custom routing rules, and local listener settings first. Then read the update notes and test one change at a time. Use the homepage to find resources and understand how settings relate; installation details are on the downloads page, so you don’t have to rely on outdated version information. If only some apps stop working after an update, check system proxy and app-specific settings first. If the core won’t start, review the configuration parsing details. Recording these layers separately preserves more useful clues than simply reinstalling.

Technical Articles

Troubleshooting and Protocol Selection

Browse all articles →

When you run into an issue, first determine whether it involves app connectivity, core compatibility, or server selection. These three articles cover connection troubleshooting, core differences, and node evaluation. Before making changes, note the current proxy mode and active configuration. Test one hypothesis at a time to avoid mixing up the effects of multiple changes.

Download v2rayN