Open-source ecosystem
Project V, V2Fly, Xray, and GUI clients
Client names, core names, and protocol names belong to different layers. Understanding their relationships makes it easier to choose software, read configurations, and pinpoint problems in logs.
PROJECT V
Project V is the ecosystem’s starting point
Project V established an open-source ecosystem centered on composable network proxy capabilities. In common configurations, inbound and outbound connections, routing, DNS, transport methods, and protocol parameters all follow this modular approach. Users interact with a GUI client, but the client core handles connections, protocols, and routing. As a result, the same subscription may expose similar fields across clients, while differences in core capabilities and integration status can still produce different settings.
When reading a guide, first identify which layer contains the problem. A subscription that cannot be added usually involves client input or subscription formatting; an unrecognized protocol parameter may indicate core support; a system proxy that does not affect the target application calls for checking the operating system’s proxy mechanism; an unexpected routing result requires reviewing rule order, DNS resolution, and outbound tags. Layer-by-layer troubleshooting is more effective than repeatedly reinstalling the client.
CORE FAMILIES
V2Fly and Xray are two core families
The V2Fly community continues to maintain and extend core V2Ray capabilities, with a configuration structure focused on modular composition and compatible evolution. Xray has developed its own core implementation and feature extensions within a similar configuration model. Neither is a GUI client, and neither is synonymous with a particular protocol. They execute inbound listeners, outbound connections, rule matching, DNS queries, and transport parameters.
Many basic settings can be understood correspondingly across the two core families, but the client’s currently integrated core remains authoritative for exact fields, support, and defaults. When copying a configuration from another client, do not stop at matching protocol names. Also verify the transport method, security parameters, server name, path, fingerprint options, and routing tags.
CLIENT LAYER
Three clients serve different platform entry points
v2rayN is the main desktop choice for Windows, macOS, and Linux, with GUI settings for subscription groups, server filtering, the system proxy, routing rules, DNS, TUN, and logs. v2rayNG targets Android and usually runs the Xray core, making it suitable for managing mobile connections through subscriptions or share links. v2flyNG also targets Android, but uses the V2Fly core and serves as an alternative when that core family is required.
All three applications continue to be maintained through open community collaboration, with code and change records available for review. Client releases and core updates do not always move in sync: after a core adds a capability, the GUI still needs parameter mapping, interaction design, and platform testing. Choose based on platform, core, and required features rather than name similarity alone.
OPEN SOURCE
Open-source licenses define use and redistribution boundaries
Open-source software uses licenses to define the conditions for using, modifying, and redistributing code. For everyday users, a license primarily signals transparent provenance and clear collaboration boundaries. Teams planning custom development or enterprise deployment should read the specific license used by each project and confirm that their distribution method complies. Different clients and dependencies may use different licenses, so the terms of one component cannot be applied to the entire software stack.
Open-source status does not replace configuration review. Before importing a subscription, confirm its source and intended use. After connecting, use logs to verify the actual inbound, outbound, and routing rules in effect. When system network permissions are involved, grant only the scope the operating system requires for the client to configure the proxy or virtual network.
UPDATE FLOW
Updates fall into three tracks: client, core, and subscription
Client updates mainly change the interface, platform compatibility, and feature entry points. Core updates affect lower-level capabilities such as protocol implementation, routing, and DNS. Subscription updates replace or add server configurations. These tracks are related but are not the same operation. If a subscription fails to update, check its address, network, and subscription group first. If the core fails to start, inspect logs and configuration fields. Consider a client update or settings migration only when the interface itself behaves unexpectedly.
Before updating, record the current routing mode, DNS policy, and TUN status so behavioral changes can be compared quickly. Users with multiple subscriptions should update them one group at a time and observe the result, rather than changing the client, core, and every subscription simultaneously and losing a troubleshooting baseline. The Advanced Config chapter also covers custom outbounds, FakeDNS, and multi-subscription filtering.
Open the Advanced Config manual →