Jason A. Donenfeld 3b1673584b Updater: discourage copy and pasting
When other projects copy and paste all of WireGuard and then tweak it,
some idiots leave the updater code in, resulting in useless requests
going to my server. In some cases this has even resulted in a DoS
because of further confusions.

To cut down on this, hardcode the usual package name prefix, and abort
with a really silly exception if it doesn't match. This will lead copy
and pasters to this comment, which hopefully they read.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2026-03-15 22:10:40 +01:00
2023-05-05 13:18:30 +02:00
2026-03-15 19:20:29 +01:00
2026-03-15 22:10:40 +01:00
2026-03-15 19:20:29 +01:00
2018-07-06 16:28:46 +02:00
2026-03-15 19:20:29 +01:00
2025-10-20 18:22:36 +02:00

Android GUI for WireGuard

Download from the Play Store

This is an Android GUI for WireGuard. It opportunistically uses the kernel implementation, and falls back to using the non-root userspace implementation.

Building

$ git clone --recurse-submodules https://git.zx2c4.com/wireguard-android
$ cd wireguard-android
$ ./gradlew assembleRelease

macOS users may need flock(1).

Embedding

The tunnel library is on Maven Central, alongside extensive class library documentation.

implementation 'com.wireguard.android:tunnel:$wireguardTunnelVersion'

The library makes use of Java 8 features, so be sure to support those in your gradle configuration with desugaring:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_17
    targetCompatibility JavaVersion.VERSION_17
    coreLibraryDesugaringEnabled = true
}
dependencies {
    coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:2.0.3"
}

Translating

Please help us translate the app into several languages on our translation platform.

S
Description
No description provided
Readme
5.2 MiB
2026-09-12 22:06:47 +02:00
Languages
Kotlin 51.9%
Java 44.2%
Python 1.5%
Go 0.9%
C 0.5%
Other 0.9%