# Wire VPN for Android **A fork of [WireGuard for Android](https://git.zx2c4.com/wireguard-android/about/), rebranded as Wire VPN.** Package: `page.onram.wirevpn` ยท Available from our [F-Droid repository](https://git.obahan.xyz/frank/wirevpn) on release. Wire VPN is an Android GUI for [WireGuard](https://www.wireguard.com/). It [opportunistically uses the kernel implementation](https://git.zx2c4.com/android_kernel_wireguard/about/), and falls back to using the non-root [userspace implementation](https://git.zx2c4.com/wireguard-go/about/). ## What changed from upstream - App name rebranded from *WireGuard* to *Wire VPN* - New launcher icon (padlock with a bold W in a circle) - Application ID changed to `page.onram.wirevpn` (Java/Kotlin package is `page.onram.wirevpn`) - GitHub Actions pipeline: every new Git release automatically builds a signed release APK and produces F-Droid v2 repository artifacts - Upstream in-app auto-updater and donation links removed (we distribute via our own F-Droid repo) ## Building ``` $ git clone --recurse-submodules https://git.obahan.xyz/frank/wirevpn.git $ cd wirevpn $ ./gradlew assembleRelease ``` The build compiles the tunnel backend natively (CMake + NDK) and the userspace WireGuard implementation in Go (Go 1.24.3 is fetched and hash-checked by the build automatically). To sign with a keystore, export: ``` export KEYSTORE_FILE=/path/to/keystore.jks export KEYSTORE_PASSWORD=... export KEY_ALIAS=... export KEY_PASSWORD=... ``` Releases are cut by creating a Git tag/release on `main` (e.g. `v1.0.x`); the `release.yml` GitHub Action builds and publishes the artifacts. ## Translating This project uses [Crowdin](https://crowdin.com) upstream; translations in `ui/src/main/res/values-*/` are carried over from the WireGuard project. ## Licences See [NOTICE.md](NOTICE.md) for the full list. The app code is [Apache-2.0](COPYING). This project is a fork of the WireGuard Android app and is not affiliated with WireGuard LLC.