You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Jason A. Donenfeld 95e7236a09
tools: compile with latest NDK
10 hours ago
.idea idea: squelch XML codestyle warning 10 months ago
gradle/wrapper gradle: bump wrapper version 4 months ago
tunnel tools: compile with latest NDK 10 hours ago
ui tools: compile with latest NDK 10 hours ago
.gitignore gitignore: add gradlew.bat 3 years ago
.gitmodules Migrate tunnel related classes to tunnel/ Gradle module 3 years ago
COPYING global: move to Apache 2.0 5 years ago README: re-add desugaring block 1 year ago
build.gradle gradle: update AndroidX and Kotlin 4 months ago gradle: remove duplicate useAndroidX entry 9 months ago
gradlew gradle: bump wrapper version 4 months ago
settings.gradle build: update to gradle 7.4.2 and restructure lint block 12 hours ago build: add crowdin syncer script and use it 2 years ago
version.gradle version: bump 11 hours ago

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.


$ git clone --recurse-submodules
$ cd wireguard-android
$ ./gradlew assembleRelease

macOS users may need flock(1).


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

implementation '$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_1_8
    targetCompatibility JavaVersion.VERSION_1_8
    coreLibraryDesugaringEnabled = true
dependencies {
    coreLibraryDesugaring ""


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