mirror of
https://github.com/wgtunnel/core.git
synced 2026-10-09 14:40:38 -07:00
1.5.1
Fixes bugs with default network detection on linux. Fixes bugs with nftables overwrites on linux. Brings in shared auto tunnel, config reconciliation, calculator, and Amnezia 2.0 compat logic from Android to be shared with desktop.
WG Tunnel Core
The shared backend used by the WG Tunnel apps: WireGuard / AmneziaWG config parsing, tunnel orchestration, tunnel recovery, DNS bootstrap, and native JNI.
Modules
| Artifact | Description |
|---|---|
com.wgtunnel:parser |
WireGuard / AmneziaWG conf parser (JVM) |
com.wgtunnel:backend |
Kotlin Multiplatform tunnel backend (pulls the Android or JVM variant) |
com.wgtunnel:backend-android |
Android variant of the backend |
com.wgtunnel:backend-jvm |
JVM / desktop variant of the backend |
com.wgtunnel:backend-android-jni |
AmneziaWG userspace + JNI |
com.wgtunnel:hevtunnel |
hev-socks5-tunnel JNI for lockdown / kill switch |
Requirements
Install these before a source build.
- JDK 21
- Git
make- Android SDK
- Android NDK
- C toolchain
- MinGW-w64
- On Linux and macOS,
flock
Go toolchain is downloaded and patched.
Build
From the repo root:
./gradlew build
Format Kotlin:
./gradlew format
Using the libraries
repositories {
mavenCentral()
}
dependencies {
implementation("com.wgtunnel:parser:<version>")
implementation("com.wgtunnel:backend:<version>")
// Android
implementation("com.wgtunnel:backend-android-jni:<version>")
implementation("com.wgtunnel:hevtunnel:<version>")
}
Replace <version> with the latest Maven Central version.
License
MIT. See LICENSE and NOTICE for third-party components (AmneziaWG, hev-socks5-tunnel, Tailscale-derived desktop firewall/router).
Languages
Go
51.4%
Kotlin
43.6%
C
3.4%
Makefile
1.1%
CMake
0.5%