From Project V to the core family
Project V is an open-source technology ecosystem built around proxy protocols, transport methods and routing. Early V2Ray introduced a unified configuration model, inbound and outbound concepts, and routing based on domain and IP matching. As community maintenance evolved, V2Fly continued maintaining v2ray-core while advancing compatibility, protocol implementations and documentation; Xray developed from similar configuration ideas into an independent core branch with new protocol capabilities and transport options.
The two core families share many fundamentals, including inbound, outbound, routing, DNS and transport-layer configuration, but not every field or feature is interchangeable. When you receive a node configuration, confirm the protocol type and server requirements before checking whether the client's bundled core supports it. The client name alone is not enough: the graphical client imports, edits and controls settings, while the core it invokes performs the connection.
What the three clients do
v2rayN is a desktop graphical client for Windows, macOS and Linux, suited to managing multiple subscriptions, complex routing and the system proxy. It brings server lists, subscription groups, core controls, testing tools and logs into one desktop interface for users who maintain configurations over time. v2rayNG targets Android and usually works with the Xray core, with a mobile-focused flow for importing subscriptions, selecting a server, starting a connection and viewing logs.
v2flyNG also targets Android but uses the V2Fly core family. It suits users with existing V2Fly configurations, a need for matching core behavior or a desire to compare compatibility between the two core families. v2rayNG and v2flyNG differ in more than interface styling; choose based on the node protocol, configuration fields and maintenance needs. When a provider specifies a client or core, follow that guidance first.
Open-source licensing and community updates
These projects collaborate through open source, with releases coming from software projects under ongoing maintenance. Open-source licenses define the boundaries for using, modifying and redistributing code; community contributions cover bug fixes, protocol support, platform compatibility and documentation. For most users, the practical checks are whether the client is still maintained, whether its core supports the current node protocol, whether the package matches the device and whether configuration behavior changed after an update.
Client and core release cycles may differ. Client updates can change the interface, subscription handling or system proxy logic, while core updates are more likely to affect protocol, transport and routing implementation. When compatibility problems appear, first determine whether they involve the client interface, core startup, subscription content or remote service, then decide whether to update, roll back configuration or adjust rules. Do not replace the client, core and entire configuration at the same time without reading the change notes.