Key takeaways
Overview
I've spent the last three months doing something unusual: systematically mapping how Russia's TSPU censorship system works, then testing which VPN protocols survive it and why. The result is a clear picture of why VLESS Reality works where WireGuard and OpenVPN don't — and it comes down to a genuinely elegant piece of protocol engineering.
This article gets technical. If you want the short answer: VLESS Reality defeats DPI censorship by impersonating the TLS handshake of real websites, not by encrypting traffic harder. The distinction matters enormously.
The Fundamental Misunderstanding About VPN Detection
Most people think VPNs are blocked because 'DPI can see inside the encrypted traffic'. This is wrong. Even the best DPI systems can't decrypt properly implemented TLS — the encryption isn't the problem.
The problem is fingerprinting. Every protocol has a behavioral signature that's visible without decryption
- WireGuard: uses UDP with a uniquely structured handshake. The first two packets are identifiable regardless of payload. Detection time: milliseconds.
- OpenVPN: uses TLS with characteristic certificate exchange patterns and specific packet size distributions. The timing and size of the initial bytes are uniquely OpenVPN.
- Classic VLESS (no Reality): uses TLS, but the connection initiation pattern differs from legitimate browsers in measurable ways. The TLS client hello has wrong cipher suites for claimed client type.
- Shadowsocks: randomizes payload to look like noise. Problem: true random noise is statistically anomalous. A 2024 paper from TSPU researchers showed entropy-based detection catches Shadowsocks with 94% accuracy.
The question DPI asks is not 'what's inside this packet?' but 'what protocol created this traffic pattern?' VLESS Reality answers that question with a lie so good it's indistinguishable from truth.
How VLESS Reality Works: Technical Walkthrough
VLESS Reality was designed by RPRX as part of the Xray-core project. The core insight is what RPRX calls 'Reality Steal' — instead of creating a VPN-specific TLS certificate, the server borrows the TLS behavior of a real, trusted public website.
Here's what happens when a VLESS Reality client connects
- Client sends a TLS ClientHello — with cipher suites, extensions, and elliptic curve preferences that exactly match a real Chrome browser. This is the JA4 fingerprint — it matches Chrome 124 connecting to microsoft.com. Indistinguishable from a real browser.
- Server receives the ClientHello and identifies the connection as a Reality client via the shortId parameter embedded in the client random field. Only clients that know the correct shortId can trigger Reality mode.
- Server responds with TLS handshake parameters that exactly mirror microsoft.com's real TLS server behavior. The certificate is from Microsoft's certificate chain. The cipher suite and extension choices match Microsoft's real servers.
- To any external observer — including Russia's TSPU active probing — this looks like a Chrome browser connecting to Microsoft. The probe sends a TLS ClientHello, the server responds exactly as Microsoft would.
- Inside this legitimate-looking TLS session, the actual VLESS tunnel is established using a private keypair (publicKey in the client config). Only the client and server know these keys.
The elegance: the server doesn't 'become' Microsoft. It doesn't man-in-the-middle Microsoft. It simply responds to TLS handshake probes in exactly the way Microsoft's servers respond — because the Reality implementation is a precision TLS handshake simulator, not a certificate thief.
Why Active Probing Fails Against Reality
Active probing is the advanced censorship technique where the filtering system sends its own connection attempts to suspected proxy servers to test how they respond. This defeated many earlier obfuscation techniques (Tor bridges, Shadowsocks with simple obfuscation).
Against VLESS Reality: the probe connects to the server, initiates TLS, and receives a perfect Microsoft-like response. No VPN behavior is visible. The probe logs 'legitimate Microsoft TLS server' and moves on. The attacker would need to know the shortId and publicKey to even begin to distinguish the server from a real Microsoft endpoint — and these are secret values shared only between client and server.
The JA4 Fingerprinting Arms Race of 2026
In early 2026, TSPU deployments began using JA4 fingerprinting more aggressively. JA4 is a hash computed from TLS ClientHello parameters: cipher suite list, extension list, elliptic curve preferences, signature algorithms. Different TLS implementations have distinct JA4 hashes.
The problem this created: some VLESS Reality configurations were using Golang's default TLS library for the ClientHello, which has a different JA4 than any browser. Reality with fingerprint=golang gets flagged even if the server-side impersonation is perfect.
The fix — fingerprint=chrome or fingerprint=firefox in Xray config — makes the ClientHello use exact parameters of that browser. This resolved the January 2026 blocking wave for correctly configured servers.
A March 2026 Habr analysis documented this in detail, noting that the blocking was specifically targeting servers with non-browser TLS fingerprints, and that updating Xray-core to version 24.x and setting fingerprint correctly restored functionality.
VLESS xHTTP: The Next Evolution
Reality is TLS impersonation. xHTTP is a different approach: actual HTTP/2 or HTTP/3 transport.
Where Reality makes VPN traffic look like HTTPS, xHTTP makes VPN traffic be HTTP requests — real HTTP/2 requests with headers, request/response cycles, and timing that matches normal web browsing. The traffic can even pass through CDNs like Cloudflare as genuine HTTP traffic, adding another layer of legitimacy.
The trade-off: xHTTP is more complex to configure correctly (requires a web server as frontend, Nginx or Caddy), but provides additional resilience against behavioral analysis that might eventually catch well-fingerprinted Reality traffic.
What This Means for Protocol Selection in 2026
| Protocol | Detection Resistance | Performance | Config Complexity |
|---|---|---|---|
| WireGuard | ❌ Easily detected | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| OpenVPN | ❌ Easily detected | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| Shadowsocks | ❌ Entropy analysis | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| VLESS (no Reality) | ⚠️ JA4 detectable | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| VLESS + Reality | ✅ High resistance | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| VLESS + xHTTP | ✅✅ Very high | ⭐⭐⭐⭐ | ⭐⭐ |
| AmneziaWG | ✅ High resistance | ⭐⭐⭐⭐ | ⭐⭐ |
Managed Service vs. Self-Hosted: The Configuration Quality Problem
One underappreciated fact: a misconfigured VLESS Reality server can be blocked just like WireGuard. The protocol quality is necessary but not sufficient — the configuration must be correct. Specifically: wrong fingerprint setting (fingerprint=golang instead of chrome), bad steal target (a low-traffic domain that doesn't get Chrome-like browser connections), missing XTLS-Vision on port 443 — all of these reduce effectiveness.
This is the case for using a managed service rather than self-hosting if you don't want to track Xray-core releases and configuration best practices. INFOCROSS VPN (@infocross_bot) manages this for users — their team monitors for blocking events and updates configurations. When the January 2026 TSPU wave hit, managed services that were on top of their config recovered within hours. Users with misconfigured self-hosted servers stayed broken for days.
✅ Bottom Line
VLESS Reality defeats DPI censorship by impersonating real website TLS behavior, not by encrypting harder. Correctly configured Reality survives Russia's TSPU including active probing. JA4 fingerprint matching is critical — fingerprint=chrome/firefox required. INFOCROSS (@infocross_bot) provides managed, correctly configured Reality access from €1.30/month.
How INFOCROSS fits this use case
INFOCROSS VPN combines Telegram payment flow, VLESS Reality key delivery, QR setup, dashboard access, partner API, and support in one product. That makes it useful for individual users, families, Telegram communities, and projects that need reseller automation.