Project V is the ecosystem, not a single download
Project V is a modular proxy ecosystem, with V2Ray as one of its widely used core projects. The V2Fly community continues to maintain V2Ray-related implementations, while Xray developed from a V2Ray fork and has its own feature development and parameter support. Understanding this relationship helps make sense of core options in a client: they share a history, but configuration fields, protocol extensions, and routing behavior are not necessarily identical.
Most users don't need to edit a complete core configuration directly. The graphical client generates a runtime configuration from subscription profiles and interface settings, then starts the appropriate core. Manual changes to generated files may be overwritten the next time you switch servers or save settings. For changes you need to keep, use the client's settings wherever possible and note the behavior before and after.
Open-source licenses and use cases of three clients
v2rayN, v2rayNG, and v2flyNG are community-maintained, open-source graphical clients that are free to use. v2rayN is released under GPL-3.0 for desktop configuration management; v2rayNG also uses GPL-3.0, targets Android, and uses the Xray core; v2flyNG uses GPL-3.0, targets Android, and uses the V2Fly core. A software license governs the use and distribution of code; it does not mean the client includes a remote service you can connect to.
For desktop, start with v2rayN; for Android, consider v2rayNG first. If your configuration specifically requires V2Fly behavior, evaluate v2flyNG. The three clients differ in interface, core, and platform permissions, so when switching, review routing, DNS, and which apps use the proxy—not just whether the server profile imported. See the client comparison for details.
Check core licenses and protocol support separately
The core code for V2Fly and Xray is generally licensed under MPL-2.0, a different licensing layer from that of the graphical clients. Open source means you can view, modify, and distribute the relevant code under the license terms. To determine whether a configuration will work, check which protocols and transport fields the specific core supports. VMess, VLESS, Trojan, and Shadowsocks are protocol names, not server addresses, and the protocol alone doesn't indicate speed.
For example, a configuration with specific TLS or REALITY parameters must match the server's settings and use an implementation that supports those fields. Don't disable certificate verification just to get rid of an error. First check that the system time is correct, the domain matches, and all required parameters are present; then decide whether to update the client or switch cores. If a parameter is unclear, look it up in the glossary before experimenting with settings—it's easier to reproduce and troubleshoot.
Handle software updates and subscription updates separately
Client updates affect the interface, dependencies, and configuration generation; core updates affect protocol implementations and runtime behavior; subscription updates only refresh server profiles. A successful subscription refresh doesn't mean the software is up to date, and installing a newer client won't automatically fix an expired subscription. The download center provides client installers; check with your configuration provider for subscription URLs and service status.
Before updating, back up your current settings and note the active core, listening port, and custom rules. After the update, verify the basic connection before restoring extra settings one at a time. If the new setup fails, keep the first error in the logs and the steps that triggered it—not just the last “startup failed” line. For connection timeouts, DNS resolution problems, or lingering system proxy settings, go to Troubleshooting. For general questions, start with the FAQ before reinstalling anything.