PROJECT V
Shared roots and community development
Project V brings together components for proxy connections, transport, and routing. V2Ray is one of its widely used core projects. As the community evolved, V2Fly continued maintaining the V2Ray core, while Xray developed as an independent fork from shared code. The two retain some related concepts while developing their own features and configuration conventions. These project names don't refer to different skins of the same program.
Graphical clients sit above the cores, providing configuration editors, share-link import, subscription groups, and runtime controls. The settings you see are usually part of the client interface; the underlying core establishes connections and applies routing. As a result, similar-looking subscription entries in different clients don't guarantee identical core configurations. Whether an importer recognizes a particular field is also part of compatibility.
XRAY / V2FLY
Feature differences and configuration compatibility
Xray and V2Fly can both handle a range of proxy configurations, but supported features vary by release. When choosing a core, first check the protocol, transport, security layer, and required extensions specified by the server—not assumptions about speed based on the core's name. For features such as REALITY, confirm the implementation and parameter requirements. Don't copy an entire configuration from another core and expect every field to be interpreted the same way.
Protocol names aren't performance rankings. The same protocol can perform differently depending on network path, transport combination, device load, and server conditions. On mobile, battery life is also affected by persistent connections, background restrictions, and how traffic enters the client. A reliable approach is to check compatibility first, then compare on the same device and in the applications you actually use. For a structured comparison, read the protocol reference and narrow your options based on configuration requirements.
OPEN SOURCE
Open-source status of the three clients
v2rayN, v2rayNG, and v2flyNG are all open-source client projects. v2rayN targets desktop platforms and focuses on configuration, subscriptions, and routing. v2rayNG is for Android and primarily supports the Xray core; v2flyNG is also for Android, with a V2Fly core option. They aren't the same interface with different names: settings, import handling, and platform permissions vary, so don't assume steps transfer unchanged between them.
Open-source licenses set the terms for using, modifying, and redistributing code; they don't guarantee how software will perform in every network environment. Among the cores, Xray-core uses MPL-2.0, while the v2ray-core maintained by V2Fly uses MIT. Check the licenses for each client and its dependencies separately. When reviewing open-source information, distinguishing the client license, core license, and included dependency licenses is more precise than assigning one license to the entire download package.
MAINTENANCE
What gets updated and in what order
Client, core, subscription, and rule-data updates address different things. A client update may change the interface or how configurations are generated; a core update affects connection capabilities and how fields are interpreted; a subscription update fetches remote configurations; and updates to data such as geosite and geoip affect rule coverage. Updating a subscription doesn't upgrade every software component, and updating the client doesn't refresh remote connection settings.
If your existing setup works, record the active connection, subscription groups, routing, and DNS settings before upgrading. Read the release notes for configuration changes. After updating, verify the basic connection first, then check routing and specific applications. Avoid changing the core, rules, and traffic entry mode all at once. If an unfamiliar term comes up during migration, look it up in the quick reference. For import or connection errors, use the FAQ to find guidance by troubleshooting stage rather than assuming every issue is protocol-related.