Go to file
Harsh Shandilya 9fe008d407 ObservableTunnel: Don't recurse in getConfig
The correct way to retrieve the value inside a getter/setter is to use `field` to ensure
you don't invoke the getter while inside the getter and trigger a stack overflow

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-28 02:35:01 +05:30
.idea codestyle: Require atleast 10 references before using star imports 2020-03-19 09:24:48 +05:30
gradle/wrapper Upgrade to Gradle 6.3 2020-03-25 02:05:12 +05:30
tunnel libwg-go: update go modules 2020-03-22 14:08:20 -06:00
ui ObservableTunnel: Don't recurse in getConfig 2020-03-28 02:35:01 +05:30
.gitignore global: get rid of nonnull gradle hack 2020-03-09 12:19:15 -06:00
.gitmodules Migrate tunnel related classes to tunnel/ Gradle module 2020-03-09 19:24:26 +05:30
build.gradle gradle: bump threetenabp to 1.2.3 2020-03-27 13:20:51 -06:00
COPYING global: move to Apache 2.0 2018-07-06 16:28:46 +02:00
gradle.properties Migrate to AndroidX 2018-12-18 16:54:54 +01:00
gradlew Update Gradle to 6.0.1 2019-12-15 11:07:59 +05:30
README.md README: mention docs location 2020-03-27 14:26:08 -06:00
settings.gradle Rename app module to ui 2020-03-09 19:24:27 +05:30
version.gradle version: bump 2020-03-22 13:09:09 -06: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

Embedding

The tunnel library is on JCenter, 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:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}