Wintun – Layer 3 TUN Driver for Windows
wintun.net
wintun.net
Where is the Windows client source code?
As an aside, I appreciate the simple and straightforward web design on this page. No JS is required and it offers interesting and original artwork to boot.
What is better about OpenVPN or Wrieguard?
Wireguard has a limited amount of configuration, a small code base and has been reviewed. This gives us a greater level of confidence in it. Obviously this needs to stand the test of time and you'd be connecting to a wireguard server.
There may be specific technical worries about the IPSec protocol, but I'll leave that to someone more knowledgeable.
Setting up IPSec site-site tunnels can be a frustrating experience but setting up IPSEC/L2TP is piss easy with any router I have worked with, maybe it's hard to bang together a working config on a Linux server but I wouldn't know.
It's windows that has the special requirements (oh, you have NAT somewhere on the way? You are going to deploy a registry key to all your clients to allow UDP encapsulation. And you have your gateway behind NAT? Now you cannot have your hostname in your Subject Alternate Name (otherwise mandatory), you gotta have the external IP there, potentially breaking all the non-windows clients).
The complexity folks are referring to is the volume of code, number of config options, and the equivalent increase in "wrong but functional" ways the code could work. As an end user, one of the worst possible outcomes is that I set up a VPN and the tunnel works for my traffic, but due to an error on my part or a bug in the code, the connection is not secure.
Wireguard's codebase is designed to be small, easily auditable, and expose the minimum necessary config choices. This is specifically to guard against these risks.