MORE THROUGHPUT
519.3 Mb/s TCP-WG versus 428.9 Mb/s UDP-WG.
BUT WAIT—
Same encrypted tunnel.
A long-lived TCP carrier.
AN OPT-IN TCP TRANSPORT FOR THE LINUX WIREGUARD KERNEL MODULE
BUT WAIT—THERE’S DATA!
TCP mode matched or beat UDP mode in several clean low- and medium-latency application tests, while preserving the familiar WireGuard configuration model.
519.3 Mb/s TCP-WG versus 428.9 Mb/s UDP-WG.
152.55 versus 131.14 requests per second at 0% loss.
2918.4 Mb/s TCP-WG on the clean-path arm64 cell.
No valid post-repair execution met all three predeclared meltdown conditions.
50 Mb/s carrier · 400 ms RTT · 1× BDP FIFO · no induced loss
TCP mode is not universally faster. Clean bulk-TCP results at approximately 195–227 ms RTT were 14.4%–23.4% lower than UDP. Persistent loss, long RTT, constrained queues, and saturated inner flows can still produce severe stalls. Benchmark your path.
PICK YOUR POISON
Precompiled release channels are staged below. Until signed artifacts are attached to a GitHub release, each binary card points to the release feed instead of serving an unverified build.
.tar.zst
Kernel module + modified wg tool
Ubuntu 24.04 · Linux 6.8
WATCH RELEASES ↗.tar.zst
Kernel module + modified wg tool
Ubuntu 24.04 · aarch64
WATCH RELEASES ↗.zip / .tar.gz
Clean standalone repository
Kernel · tools · UAPI · tests · docs
WHAT’S IN THE BOX?
WireguardTCP adds an opt-in TCP path beneath the existing WireGuard encryption layer. Handshakes, keepalives, and encrypted data are framed inside a long-lived per-peer stream. UDP remains untouched and remains the default.
READ THE DESIGN NOTES ↗The framing checksum finds record boundaries. WireGuard authentication still decides what is trusted.