mirror of
https://github.com/wgtunnel/core.git
synced 2026-10-09 14:40:38 -07:00
master
Local proxy was not getting the proper DNS server IPs for fakeDNS to support custom tunnel dns.
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 (Xcode Command Line Tools on macOS, GCC/Clang on Linux, MSVC or MinGW on Windows)
- 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%