WireGuard vs OpenVPN

WireGuard home page :

WireGuard® is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography.
It aims to be faster, simpler, leaner, and more useful than IPSec, while avoiding the massive headache.
It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable.

WireGuard was designed with the Linux operating system in mind. More specifically, with being incorporated into the Linux Kernel.

To know if you can trust a VPN protocol, it needs to be auditable. Auditability is one of the key reasons that open source software is preferred by most privacy advocates.

But just because code is open source doesn’t make it easy to audit.
OpenVPN is auditable. But with hundreds of thousands of lines of code, actually doing an audit requires a team of experts and a lot of time.
WireGuard is also open source and auditable. But with somewhere around 4,000 lines of code, it is much more amenable to an audit. A single engineer could conceivably do the job in a short while.

WireGuard was also designed with the Linux operating system in mind. More specifically, with being incorporated into the Linux Kernel.

HOWEVER :
- WireGuard stores user IP addresses on the VPN server
zie : https://restoreprivacy.com/vpn/wireguard-vs-openvpn/
- Wireguard is UDP only.
a HUGE drawback if you need to punch through a firewall (if either the client OR server are behind firewall rules).
- OpenVPN is very much more established than Wireguard which feels more like a hack than something real. Wireguard is essentially just SSH-over-UDP with packet routing.
Would you even consider putting SSH directly in the kernel?! Yeah, maybe only the systemd people would.