WireGuard announces a big Android update with Android TV support, more modern code, and API for third-party apps
If you value privacy, you’ve surely heard about WireGuard by XDA Recognized Developer zx2c4. To summarize it in a few words, the WireGuard project is a VPN protocol that runs inside the Linux kernel, aiming to be faster and simpler than many other alternatives. Earlier this year, the VPN protocol even made its way to the official Linux kernel. WireGuard now has a slew of announcements, with support for Android TV through their app, pre-built kernel modules for popular phones, a Kotlin rewrite of the UI, and much more.
First up, in anticipation of upcoming Google TV announcements, WireGuard has ported their Android app to run natively on TVs with an easy to use interface. This will let users run apps like Netflix and others through a VPN from within the TV.
The WireGuard app on Android smartphones features an ordinary VpnService-based backend for stock unrooted users and a kernel-based backend for rooted users. Now, prebuilt kernel modules are being made available for popular devices like the Google Pixel series, thanks to efforts by XDA Recognized Developer nathanchance. This way, users who are on stock but are rooted can also make use of these kernel modules, instead of needing to be on a custom ROM with WireGuard support. The kernel modules are available from within the app. Interested developers can add more supported ROMs via GitHub.
Another one of our favorite apps, Tasker, also gained WireGuard support earlier this year.
XDA Recognized Developer zx2c4 also informs us that WireGuard’s codebase has been seeing improvements too, with considerable renovations undertaken. The project is now split into two modules: a UI module for the user interface, and a tunnel module, which is a standalone API that allows any app to embed into WireGuard. The tunnel module can be imported from JCenter and comes along with extensive documentation. This split has a few benefits. For one, developers can now add WireGuard directly into their apps with a simple line like implementation ‘com.wireguard.android:tunnel:$wireguardTunnelVersion‘. The tunnel module is written in Java and embeds easily into both Java and Kotlin apps. The UI module has also been entirely rewritten in Kotlin while making use of tools like Jetpack and Kotlin Coroutines. Actions are entirely asynchronous on the app.
One of the reasons for these codebase improvements is to attract new developers. The WireGuard project is actively searching for a new maintainer for its Android app. If you’d like to help out with this open source project, reach out to the WireGuard development team, whose contact information is located at the bottom of their webpage.