Project Overview / OPEN SOURCE
Project V, V2Fly, and Xray
The client provides the interface; the kernel handles protocol connections and traffic. Consider these as separate layers when choosing a client. This makes it easier to tell which project provides a setting and why the same share link may behave differently across clients.
From a tool ecosystem to kernel forks
Project V is an open-source ecosystem built around network proxy tools, with V2Ray as a key component. The V2Fly community continues development and maintenance of the V2Ray kernel, while Xray is a separate kernel fork that evolved from V2Ray. They share some concepts and configuration structures, but supported protocols, transports, and fields can change over time. Similar names do not guarantee fully compatible configurations.
VMess and VLESS are protocol names; WebSocket and gRPC are transport methods; TLS concerns transport security. These settings must match the server when you import a configuration. A correct protocol name does not guarantee that the transport, server name, or port is correct. Check each field when troubleshooting instead of changing everything at once.
What the graphical client and kernel each do
v2rayN provides a desktop interface for subscription groups, server selection, system proxy, and routing, then passes settings to the selected kernel. v2rayNG is an open-source Android client using the Xray kernel; v2flyNG offers another option based on the V2Fly kernel. All three are open-source projects with independently developed interfaces, packaging, and release schedules. Available features also depend on the capabilities of the kernel in use.
Choose a platform first, then check the protocols and transport features your existing configuration requires. For desktop, start with v2rayN; for Android, consider v2rayNG first, and evaluate v2flyNG if you need V2Fly compatibility. A different kernel name does not guarantee a fixed difference in connection speed. Server routes, network conditions, and configuration usually have a more direct effect on access.
Open source does not mean a single shared license
Open source means the code is published under a license; each project’s license sets the terms for use, modification, and redistribution. The V2Ray kernel maintained by V2Fly and the Xray kernel use MPL 2.0, while clients and their dependencies may use other licenses. For everyday use, focus on features and maintenance notes. If you plan to modify, package, or distribute software, read the license files for the client, kernel, and bundled components separately.
Public code lets the community discuss implementations, report issues, and review changes, but it does not replace your judgment about where configurations come from. Subscription providers, server operators, and graphical clients have different roles. Know the source of a configuration before importing it, and understand which server your connection will pass through. An open-source client does not guarantee that a third-party service is trustworthy.
Keep a rollback option when updating
Client updates can change menus, configuration generation, kernel components, and rule data. Before updating, back up subscription groups, routing, and essential custom settings, and note the combination that currently works. Test existing configurations after the update before trying new features. If the basic connection stops working, compare logs and settings changes instead of repeatedly importing the same subscriptions.
Subscription, client, kernel, and routing data updates are separate operations. Updating a subscription refreshes server configurations; it does not automatically fix every client compatibility issue. Outdated routing data does not necessarily mean you need to reinstall the app. First identify which layer needs an update, then use the corresponding option. Avoid making more changes than necessary before locating the problem.