Android GUI for WireGuard
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 https://github.com/zaneschepke/wireguard-android.git
$ cd wireguard-android
$ ./gradlew assembleRelease
macOS users may need flock(1).
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"
}
- Update tunnel's build.gradle.kts to the publishing repository with credentials.
- Install gpg
brew install gpg
git config --global gpg.program $(which gpg)
- Create gpg key
gpg --full-generate-key2
- Add key information to ~/.gradle/gradle.properties
signing.gnupg.keyName=name
signing.gnupg.passphrase=********
signing.gnupg.executable=gpg
signing.secretKeyRingFile=/path/to/.gnupg/secring.gpg
- Add username and token for repository to local.properties
GITHUB_USER=zaneschepke
GITHUB_TOKEN=***
- Send key to public key server
gpg --send-key <keyId>
- Run publish
./gradlew publish
Please help us translate the app into several languages on our translation platform.