Xray and V2Ray: The Proxy Cores Behind VLESS, VMess and Censorship-Bypass Apps
Below: where to find services that use it in our rankings.
V2Ray and Xray are open-source proxy cores, not VPN apps or VPN services: each is an engine that takes traffic from your apps, wraps it in protocols like VLESS, VMess, Trojan or Shadowsocks, ships it to a remote server and sends every connection where routing rules point. Xray is the 2020 fork of V2Ray and the core most new anti-censorship setups use.
From Project V to Project X: why the core split in two
V2Ray appeared in September 2015 as the heart of Project V, a Go codebase under the MIT licence. Its author, who published under the name Victoria Raymond, went silent in 2019; the last commit on the account dates to November that year. Volunteers regrouped as V2Fly and still maintain v2ray-core.
The rupture came in November 2020, when the community removed XTLS from v2ray-core, partly over licensing. The VLESS and XTLS authors left to form Project X and released Xray-core 1.0.0 on 25 November under the Mozilla Public License 2.0, with RPRX as lead developer. Configs still look familiar, yet the Project X documentation warns that the cores have diverged for a long time and Xray is no longer a drop-in replacement for v2ray-core: environment variables, API prefixes and many features differ.
Protocols that run inside the core
| Protocol | Origin | How it authenticates or hides | Note |
|---|---|---|---|
| VMess | V2Ray | UUID login plus its own encryption | requires clocks to agree within about 90 seconds |
| VLESS | Project X | UUID, no built-in cipher | relies on TLS or REALITY on top |
| Trojan | trojan-gfw | password inside real TLS | needs its own domain and a valid certificate |
| Shadowsocks | older encrypted proxy | shared key with AEAD ciphers | supported as inbound and outbound |
Xray's additions ride mostly on VLESS: XTLS with Vision flow control, XUDP, the XHTTP transport and REALITY, which masks traffic as a handshake with a real website.
Transports, security layers and routing rules
How bytes travel: TCP, mKCP, WebSocket, gRPC, XHTTP
Protocol, transport and security layer are picked independently. Both cores share TCP, mKCP (which rides on UDP) and the CDN-friendly WebSocket and gRPC; Xray adds HTTPUpgrade and XHTTP. On top sits TLS or, in Xray, REALITY. One wrong character in the key and the connection is dead, so every layer must line up on both ends.
Routing by domain, IP and process
Each connection passes a rule list before it leaves the core. Rules match by domain, IP, port, protocol or the process that opened the socket, and geosite and geoip lists group destinations by country or service. A typical setup sends home-country sites direct, drops ads into a block outbound and pushes the rest to the proxy. DNS settings matter here: a wrong configuration leaks lookups or breaks domain rules.
Client apps that wrap the core
The core itself is headless JSON; GUI clients import profiles and subscriptions, start it and expose proxying to the system. v2rayN on Windows (also Linux and macOS) can run Xray, sing-box and other cores underneath, while v2rayNG serves Android on Xray. Hiddify, Nekoray and NekoBox run on sing-box, v2rayA gives Linux a web interface, and on iOS the paid Shadowrocket and Stash import the same profiles. Clash Verge Rev belongs to the Clash family and runs the mihomo core. For whole-device coverage use TUN mode, since system-proxy mode only reaches apps that respect proxy settings. Server panels like 3X-UI and Marzban manage Xray from a browser and generate per-user share links and subscriptions.
sing-box, the third core
sing-box is a separate engine written from scratch by the SagerNet project, with no V2Ray lineage. It handles VLESS with REALITY, VMess, Trojan and Shadowsocks, and adds Hysteria2, TUIC and WireGuard, with TUN, DNS and routing built in. Its JSON format differs, so an Xray config will not load unchanged even for the same server, and XHTTP is absent from its transport list. Details in the sing-box documentation.
Proxy core or VPN app: who actually needs Xray
A VPN app bundles servers, billing, a client, a kill switch and support. A core ships with none of that: you bring a server, either your own VPS or keys and subscription links from a provider, plus a client; a service may also embed Xray in its own app without telling the user. The setup pays off where deep packet inspection blocks WireGuard and OpenVPN, since the protocols inside Xray were built to look like ordinary HTTPS or to borrow a real site's handshake. For plain privacy on hotel Wi-Fi in an open country, a regular VPN app means less work. Of the 377 services in VPNRadarLab's main ranking, 24 state support for VLESS with Reality, 17 for VMess, 11 for Trojan and 33 for Shadowsocks, while "not stated" means the provider publishes nothing on the matter, not that the feature is absent. The ranking of Xray VPN services and apps lists what is built on Xray-core.
Xray and V2Ray FAQ
Is V2Ray a proxy or a VPN?
A proxy core. Whole-device routing appears only when a client adds TUN mode.
Can an Xray client read V2Ray configs?
Basic V2Ray configs often still work in Xray, but options, environment variables and API prefixes that changed after the fork do not carry over, so a config may need edits.
Do I need a server to use Xray?
Yes. The core needs a remote server: either a VPS you rent or one run by a provider that gives you keys.
Xray and V2Ray at a glance
V2Ray is the 2015 Project V engine maintained today by V2Fly; Xray is the November 2020 fork built around VLESS, XTLS Vision and REALITY. Clients such as v2rayN or Hiddify run these cores and add profile management. sing-box covers more protocols but lacks XHTTP.
Top services: Xray / V2Ray
- CitadelVPN8.55
- Xeovo VPN5.05
- StelsVPN4.79
- IVPN4.77
- LightningX VPN4.76