Project V is a collection of proxy tools built around V2Ray. It started with community developers and later split into two main core branches, V2Fly and Xray. The core handles protocol implementation, encryption and transport and offers no graphical interface; the clients most people actually touch — v2rayN, v2rayNG and v2flyNG — sit on top of a core and wrap configuration files, subscription management and system integration into a clickable interface. The practical benefit of this layering is that the same configuration file can move between clients, switching clients does not mean reconfiguring nodes, and when troubleshooting you can judge the interface and the core separately.
V2Fly and Xray are the two active core lines today. V2Fly continues the original Project V implementation and keeps a conservative protocol range; Xray builds on V2Fly and adds newer protocols and transport features such as VLESS, XTLS and REALITY, with a faster release cadence. v2rayN and v2rayNG use the Xray core by default and also keep V2Fly core builds for cases that need compatibility with older protocols — v2flyNG is the Android client for the V2Fly core. Both cores share the same JSON configuration structure and almost identical field names, though a few newer protocol fields work only under Xray; if an imported configuration reports an unrecognized field, check which core you are running first.
All three clients are released under open-source licenses, with source code available for inspection and free for the community to build and redistribute. A direct result of that openness is that configuration formats, field meanings and protocol implementations all have public discussion records, so an unfamiliar field can be checked against the core documentation. The clients themselves contain no node information and rely on no central server: nodes come from your own server or subscription, the client only opens connections according to the configuration file, and subscription URLs and node details stay on your machine.
Updates happen on two levels. Client versions follow interface features and core releases, while subscription content is maintained on the server and pulled by the client at an interval; the two do not affect each other. There is no need to switch clients often in daily use — the more common situation is that configuration fields evolve with the core version, so if an unrecognized field appears after an upgrade, compare it against the matching chapter of the configuration reference. The reference material on this site follows the configuration structure of current mainstream versions, field examples keep to the common syntax, and the actual values are whatever your server delivers.