The Project V ecosystem and core differences
Understanding the roles of the client and core can prevent confusion when choosing or switching tools. The graphical interface stores subscriptions, selects configurations, organizes settings, and displays logs. The core reads the generated configuration and handles protocols, transport, routing, and connections. Whether a setting in the interface takes effect depends both on how the client generates parameters and whether the core supports them. Don't assume every feature is identical just because apps have similar names or display the same protocol label.
How Project V, V2Fly, and Xray relate
Project V is an open-source proxy tool ecosystem built around V2Ray. V2Fly continues and develops related core implementations, while Xray is another core branch that emerged from this technical background. They share some concepts and configuration conventions, but their features, parameter support, and behavior are not identical. When comparing V2Ray cores, specify which implementations you're comparing rather than treating all related graphical clients as the same program.
VMess, VLESS, and Trojan are connection protocol names; REALITY is a security-layer technology. They belong to different layers and aren't interchangeable options. A complete connection may also require transport settings, a domain, port, and identity fields. If a client recognizes a share link, that only means it could parse the format. Whether it can connect depends on compatibility between the core, server configuration, and current network conditions. Get the correct parameters before changing protocols.
What three open-source clients do
v2rayN is designed for desktop use, with tools for managing subscriptions, switching configurations, and adjusting routing. v2rayNG is for Android and uses the Xray core; v2flyNG is also for Android and uses the V2Fly core. All three are open-source clients; check each app's installer and interface documentation for specific features. Choose based on your device first, then your configuration requirements. There's no need to keep switching between apps just because their names are similar.
Desktop and mobile operating systems handle traffic differently. The same subscription may behave differently after import because of system permissions, background policies, or DNS behavior. For example, desktop apps may follow the system proxy, while Android typically requires the client to start a system VPN connection. You can reuse a subscription you legitimately have access to, but don't assume another device will automatically inherit routing modes, permissions, or background settings.
Open-source licenses and component boundaries
Open-source code can be read, used, and redistributed under the terms of its license. That doesn't mean every component uses the same license. Graphical clients, cores, and bundled components may each have their own license notices. If you plan to modify, repackage, or redistribute software, review the applicable terms for each component and retain any required copyright and license information. Open-source status also doesn't replace the need to assess subscription sources, configuration content, or system permissions.
Client downloads and remote services are separate concerns. A client provides local management and connection tools; remote service availability, permissions, and access conditions depend on that service. If installation succeeds but no configuration is available, or an existing subscription can't be updated, the cause can't be inferred from whether the client is free. This site covers client installation and setup. Always follow applicable laws, network policies, and service terms where you are.
Clients, cores, and rules update separately
Community maintenance can bring interface changes, compatibility fixes, and new features. Client upgrades, core updates, subscription refreshes, and rule data updates are separate operations. A subscription refresh changes connection configurations; a rule data update affects classification; a core update may change parameter support; and a client upgrade may alter the interface or how configurations are generated. When an issue occurs, first note which of these changed most recently, then decide whether to restore previous settings or import the configuration again.
Before updating, keep the configuration you need and protect sensitive information in backups. Afterward, verify startup, subscription loading, connection, and routing in that order—don't just check whether the window opens. If a guide's menus don't match your version, look for the corresponding options by function, such as subscription management, system proxy, or routing settings. For platform-specific instructions, see the complete installation guides. To compare which of the three apps suits your needs, see the client comparison.