From Project V to V2Fly and Xray
Project V is a useful starting point for understanding the V2Ray ecosystem. Its core idea is to combine inbounds, outbounds, transport and routing into a configurable networking tool. Different community projects later grew around V2Ray. V2Fly continues the community-maintained V2Ray lineage, while Xray developed from related code into an independently evolving core project. They share history, but that does not mean their fields, protocol features or defaults have always been identical.
Here, “core” means the main program that handles proxy connections, not the operating system kernel. A GUI client converts server details and user choices into a configuration the core can read, then starts and manages the relevant process. So a setting appearing in the interface does not necessarily mean the selected core can use it. To determine whether a feature is available, check both client support and core capabilities.
VMess and VLESS are protocol names. TLS and REALITY relate to connection security and handshakes, while routing rules determine which outbound handles a request. These concepts operate at different layers. When choosing a client, start with the platform; when configuring a connection, check the protocol and core; then set up the traffic entry point and routing. This helps avoid trial and error across multiple settings pages.
v2rayN and two Android clients
v2rayN focuses on desktop GUI management, bringing together subscriptions, server lists, system proxy settings and routing. Its cross-platform Desktop and classic WPF editions differ in interface implementation, not protocol. Available cores also include sing-box, a separate project with its own configuration format; don't use an Xray configuration with it unchanged.
v2rayNG is for Android and uses the Xray core; v2flyNG is also for Android, but uses the V2Fly core. The similar names are no reason to treat one as a drop-in replacement for the other. Choose based on compatibility with your existing configuration and the features you need. For a first install, follow the download page's recommended order, then switch if you have a specific core requirement.
Open-source licenses and project boundaries
v2rayN, v2rayNG and v2flyNG are open-source clients licensed under GPL-3.0; Xray-core and V2Fly core are licensed under MPL-2.0. GUI clients and cores are separate projects, so their licenses should be considered separately. Open source means code can be viewed, used and modified under the applicable license; it does not mean every network configuration will work for your device.
Clients, cores and bundled components may each include their own license terms. For personal use, their open-source status can help you understand where the technology comes from. If you modify or redistribute software, read the relevant license and meet the obligations that apply to the code and components involved. This site provides download links and configuration documentation; it does not maintain the client projects.
Think of updates in three layers
Client updates mainly change the interface, configuration management and integrations. Core updates may change protocol handling, configuration parsing and connection behavior. Updates to rule databases such as GeoIP and GeoSite change classification data. Each serves a different purpose: updating a subscription does not update the core, and a client upgrade will not automatically fix every routing match.
A subscription update simply fetches the latest content from a configuration source. Server entries may be added, removed or changed, and manually edited entries may be affected by how the subscription is managed. Check the group before updating, then review the result. For certificate errors or an unreachable address, check the system clock, network connectivity and subscription validity in that order instead of changing every proxy setting at once.
Before upgrading a device with custom configuration, back up your settings and note the active core and routing preset. After upgrading, test a basic connection first, then check DNS, local network access and the apps you use. Logs can help identify where a failure occurs, but remove subscription URLs, credentials and identifiable server details before sharing them. For details on configuration fields, see the V2Ray configuration reference.