Contact

Guide

Open-source VPN protocols, compared: what still works in China and Russia

·The Openscore VPN team

protocols · wireguard · openvpn · shadowsocks · reality · censorship · china · russia

“Which VPN protocol is best?” has two different answers, because two different jobs hide under the word “VPN.” One job is to move your traffic privately and quickly past an ordinary network. The other is to get that traffic past a national firewall that is actively trying to identify and drop it. The protocols that win the first job mostly lose the second.

Everything below is open source, so its design is a matter of public record rather than a marketing claim. You can read the code and the specifications yourself, and every source we lean on is linked at the end. Where a claim is about censorship, we date it: the firewalls and the tools co-evolve monthly, and a protocol that was “unblockable” in January can be detectable by April.

The classic open-source VPN protocols

These are the general-purpose tunnels. They were built for confidentiality and performance, and, with one partial exception, they make no attempt to hide the fact that they are a VPN.

WireGuard is the modern default. Its cryptography is fixed and non-negotiable: ChaCha20-Poly1305 for encryption, Curve25519 for key exchange, BLAKE2s for hashing, all wrapped in the Noise protocol’s Noise_IK 1-RTT handshake, with every packet carried over UDP. Removing algorithm negotiation kills downgrade attacks and keeps the codebase tiny, and in-kernel processing makes it markedly faster and lower-latency than OpenVPN on the same hardware (exact figures depend heavily on the test; WireGuard’s own performance page now disclaims its published benchmarks as “old, crusty, and not super well conducted”). The cost of that minimalism is visibility: a fixed message-type header and a fixed-size handshake packet make WireGuard easy to fingerprint, which is exactly why it is among the first protocols a censor blocks.

OpenVPN is the veteran. It rides a TLS control channel and an encrypted data channel multiplexed over a single TCP or UDP port, and inherits whatever ciphers OpenSSL provides (modern configs use AES-GCM). It is enormously flexible and can hide on TCP 443, but its userspace, largely single-core data path is slower, and it is thoroughly fingerprintable: a peer-reviewed study at USENIX Security 2022 identified over 85% of vanilla OpenVPN flows “with only negligible false positives” using its opcode byte-sequence plus active probing.

IPsec/IKEv2, via the open-source strongSwan or libreswan daemons, is fast (data-plane encryption runs in the kernel) and genuinely good at roaming between networks thanks to MOBIKE, which is why it is a common mobile choice. But its key exchange lives on fixed UDP ports 500 and 4500 with a distinctive handshake, so it is trivial to fingerprint and is frequently firewalled.

OpenConnect / ocserv (an open re-implementation of Cisco’s AnyConnect SSL-VPN) is the interesting middle case: it establishes its channel over TCP + HTTP + TLS on port 443 and then negotiates a DTLS-over-UDP data channel for speed. Because the control traffic looks like ordinary HTTPS, it passes through most restrictive firewalls where OpenVPN and IPsec do not.

SoftEther (Apache-2.0 since 2019, out of the University of Tsukuba) is a multi-protocol server that speaks its own SSL-VPN, OpenVPN, IPsec/L2TP, and more, and can even tunnel over ICMP or DNS. Its headline feature is camouflaging VPN traffic as HTTPS. Note that the claim that “deep-packet inspection firewalls cannot detect” it is the project’s own, and its large userspace codebase has had less formal cryptographic scrutiny than WireGuard or IPsec, so treat it as a vendor claim rather than a measured fact.

The circumvention layer

When the adversary is a national firewall, the tunnel is not enough. You need the traffic to be indistinguishable from something the censor will not block. These open-source protocols are built for exactly that, and they take three broad approaches.

  • Look like random noise. Shadowsocks is an encrypted SOCKS5 proxy whose payload is designed to be an indistinguishable random byte stream. Its modern edition, Shadowsocks-2022, mandates replay protection and modern AEAD with a fixed pre-shared key, closing the active-probing and replay holes of the older AEAD version. The catch (see China, below) is that “looks random” is itself now a detectable property.
  • Look like real TLS. Trojan performs a genuine TLS handshake and, on any malformed or wrong-password connection, transparently proxies the visitor to a real website, so a probe sees an ordinary HTTPS server. V2Ray/VMess was the earlier workhorse but its detectable header pushed the ecosystem toward Xray’s VLESS + XTLS-REALITY: REALITY borrows a real third-party site’s TLS certificate so that, to an observer, the handshake is a genuine, indistinguishable TLS session to that site, with no domain or certificate of your own to blacklist.
  • Look like HTTP/3 or a browser. Hysteria2 and TUIC ride standard QUIC and masquerade as an HTTP/3 web server, trading brute-force-friendly congestion control for good speed on lossy links; Hysteria adds an optional “Salamander” obfuscation layer. NaiveProxy goes further and uses Chromium’s own network stack to make its traffic parrot a real Chrome browser talking to a normal web server, defeating active probing by hiding behind a commonly used frontend.

The Tor Project’s pluggable transports round out the field for the hardest networks: obfs4 (random polymorphic stream), meek (domain fronting through a CDN, now weakened as major CDNs disabled fronting), and Snowflake (traffic that looks like an ordinary WebRTC video call, brokered through volunteer browsers).

So which is “best”?

For an ordinary untrusted network such as hotel Wi-Fi or an ISP you don’t want reading your DNS, the honest answer is WireGuard: modern, fast, small, with a formally analysed handshake. OpenVPN remains a reasonable, more flexible fallback, and IKEv2 is excellent on phones that change networks. There is no obfuscation tax to pay, so pick on speed and audit quality.

The moment your adversary is a censor rather than a snoop, the ranking inverts. WireGuard, OpenVPN and IPsec are the easiest to detect, and raw speed is worthless if the flow is dropped. There, the question is not which tunnel is fastest but which disguise survives, and the answer is different in Beijing than in Moscow, and different this quarter than last.

Mainland China: the Great Firewall

China’s censorship is the most technically advanced, and it is documented in peer-reviewed detail by the GFW Report group. Four capabilities matter here, and they are why bare protocols and even some obfuscated ones fail:

  • Real-time entropy analysis. Since 2023 the GFW flags “fully encrypted” traffic, meaning anything that looks like random bytes, by measuring the fraction of set bits in the first packet and blocking it unless it matches an exemption, at an estimated 0.6% collateral damage (USENIX Security 2023). This is the structural reason plain Shadowsocks and VMess are detectable: looking random is the tell.
  • Active probing. The firewall does not just watch; it connects to suspected servers with staged and replayed probes to confirm them before blocking (documented for Shadowsocks at IMC 2020).
  • SNI filtering, now including QUIC. Since 7 April 2024 the GFW decrypts QUIC Initial packets at scale, reads the encrypted SNI, and drops matching flows; researchers found a blocklist of 58,207 domains and confirmed that Hysteria’s own and users’ custom proxy domains were blocked this way (USENIX Security 2025).
  • TLS-in-TLS detection. A 2024 study showed that tunnels running an inner TLS session inside an outer one (Trojan, VLESS+TLS, NaiveProxy) leave a detectable encapsulated-handshake fingerprint that padding alone cannot hide. This is a research capability, not yet confirmed deployed at scale, which is why NaiveProxy still empirically works.

The practical picture as of mid-2026: unobfuscated WireGuard, OpenVPN, IPsec, and plain Shadowsocks/VMess are not viable without a wrapper. What survives best are the real-TLS mimics and QUIC masquerades: VLESS+REALITY, Hysteria2 (with Salamander and a high destination port), and Shadowsocks-2022 behind a TLS-looking outer layer. But surviving is not the same as being immune. 2025 reports describe blocking driven by traffic volumeand the (IP, SNI) pair and hosting reputation rather than the protocol signature, so a busy clean server can be IP-blocked within hours while a quiet one lasts weeks. Treat any single-protocol recommendation for China as perishable.

Russia: from blocking services to blocking protocols

Russia’s system, built on TSPU DPI boxes installed at ISPs but centrally controlled by Roskomnadzor, took a different path. As OONI and Roskomsvoboda document, in 2022 and 2023 it shifted from blocking individual VPN services by IP to fingerprinting and blocking the protocols themselves. Human Rights Watch, citing the DPIdetector project, reported in July 2025 that the authorities block “at least seven of the most common VPN protocols, such as Shadowsocks, AmneziaWG, and OpenVPN.”

The rough timeline, each point tied to a dated source below: OpenVPN and IKEv2 were fingerprinted and disrupted first; WireGuard held out longer but was throttled to unusable speeds and then blocked on many residential and mobile networks through 2024 and 2025; and in a December 2025 TSPU update, Russia began blocking VLESS, SOCKS5, and L2TP. VLESS was, in the words of one Russian analyst, “one of the last consistently working protocols,” now identified “by indirect signs.” A distinct second front opened in 2026: app-layer VPN detection, with guidelines pushing popular Russian apps to detect and restrict VPN-using devices, so even a protocol that beats the TSPU can be flagged inside an app.

Two consistent escape hatches show up across the Russian reporting, and neither is a protocol. Traffic on business and landline connections is filtered far less aggressively than residential and mobile, and tools that rotate their configurations (AmneziaWG’s periodic updates, REALITY behind a frequently changed front) outlast any static setup. The survivor is maintenance, not a magic protocol.

The honest takeaway

There is no single “best” open-source protocol, and anyone selling you one for China or Russia is selling a snapshot as if it were a law. For everyday privacy, WireGuard is the sensible default. For a censored network, the winning family (real-TLS mimicry like VLESS+REALITY, or a QUIC/HTTP-3 masquerade) matters less than the operational discipline around it: unremarkable traffic volume, rotating fronts, and a fallback ready for the week the rules change. That is exactly why, on this site, we record a provider’s protocols as dated, cited facts rather than a badge. A protocol’s censorship resistance is a moving target, and the only honest way to describe it is with a source and a date.

Sources

Every claim in this note rests on the site's published method. Read it in full on the methodology page, or return to the notebook.