WireGuard is a next generation secure VPN tunnel for the Linux kernel, with modern yet conservative cryptography and simple design principles. It is meant as a replacement for OpenVPN and for IPsec, and generally has better performance and security characteristics than both. It also is much easier to use. The whitepaper was peer reviewed for NDSS17 and the protocol itself has been formally verified. Since it lives in the kernel, it not only is very fast, but it is able to integrate in clever ways that are quite nice for battery life and overall smoothness. There are already commercial VPN providers offering services using WireGuard, and it is very easy to run your own WireGuard servers as well.
Not only is it free software, but WireGuard also comes with free stickers. Send me a DM with how many you want and to where I should send them, and I’ll drop an envelope in the box. (Do not request stickers on the mailing list.)
But WireGuard being awesome is old news. The new news is that now there’s an easy way to integrate it into Android kernels.
WireGuard runs on ordinary Android devices, but ones that have the special WireGuard kernel module will have numerous advantages. That is the topic of this thread. The main interest here in XDA Land is in making the kernelspace version readily available to kernel/ROM devs, which has the best possible performance, battery life, integration, and stability.
Adding to Kernel Trees
If you maintain your own kernel, you may easily patch your kernel tree to support WireGuard with the following commands:
$ curl https://data.zx2c4.com/wireguard-android-kernel-patcher.tar.xz | tar -xJf - $ wireguard-android-kernel-patcher/doit.bash path/to/kerneltree
This will patch your kernel and create a commit or a series of commits for you.
Everybody: Download the App
The Android GUI app will opportunistically use the kernel component if it's available (patched in using either one of the two methods above), and will then fall back to the userspace implementation otherwise.
Ask or help on IRC in #wireguard on Freenode. DO NOT ASK FOR USER SUPPORT IN THIS THREAD. Devs only, please. User help is on the IRC channel.
WireGuard, Kernel for all devices (see above for details)
Source Code: https://www.wireguard.com/
Kernel Special Features: WireGuard kernel module integration
Last Updated 2020-12-05