5946d7c10d
Fixes bug where control tile tunnel did not match with tunnel being controlled Closes #132 Fixes tunnel config edit screen error message #131 Revert to official lib to fix slow speeds issue Closes #137 Adds local app lock feature Closes #88 Adds restart vpn on ping fail with 1 minute interval and 60 minute cooldown Closes #6 Adds ability to easily make a copy of a tunnel. Fixes bug on AndroidTV where tunnels were not being deleted properly. Fixes bug where auto tunneling could be turned on before VPN permission was given. |
||
---|---|---|
.github | ||
app | ||
asset | ||
buildSrc | ||
fastlane | ||
gradle | ||
logcatter | ||
.editorconfig | ||
.gitignore | ||
Gemfile | ||
LICENSE | ||
README.md | ||
build.gradle.kts | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
settings.gradle.kts |
README.md
WG Tunnel
This is an alternative Android Application for WireGuard with added features. Built using the wireguard-android library and Jetpack Compose, this application was inspired by the official WireGuard Android app.
Screenshots
Inspiration
The original inspiration for this app came from the inconvenience of having to manually turn VPN off and on while on different networks. This app was created to offer a free solution to this problem.
Features
- Add tunnels via .conf file, zip, manual entry, or QR code
- Auto connect to VPN based on Wi-Fi SSID, ethernet, or mobile data
- Split tunneling by application with search
- WireGuard support for kernel and userspace modes
- Always-On VPN support
- Export tunnels to zip
- Quick tile support for VPN toggling
- Static shortcuts support for primary tunnel for automation integration
- Intent automation support for all tunnels
- Automatic service restart after reboot
- Battery preservation measures
Docs (WIP)
Basic documentation of the feature and behaviors of this app can be found here.
The repository for these docs can be found here.
Building
$ git clone https://github.com/zaneschepke/wgtunnel
$ cd wgtunnel
Create a personal access token (classic) in GitHuv to be able to pull the wireguard-android github dependencies from GitHub packages as documented here.
Alternatively, you can clone wireguard-android and run the following command to publish the dependency to your local maven repository (requires you have maven installed). This is the ideal approach if you intent to make changes to this lib.
$ git clone https://github.com/zaneschepke/wireguard-android
$ cd wireguard-android
$ brew install maven
$ ./gradlew publishToMavenLocal
The wireguard-android dependency is a fork of the official wireguard-android library.
Add the following lines to local.properties file:
GH_USER=<your github username>
GH_TOKEN=<the personal access token with read package permission you just created>
And then build the app:
$ ./gradlew assembleDebug