MasterDnsVPN Android client (community build) based on the upstream Go core—install signed APKs from Releases and connect to your own MasterDnsVPN server (domain/key/resolvers).
Go
227
304 commits
updated Sep 25, 2026
English | فارسی
Android client application for the MasterDnsVPN ecosystem, built with a Kotlin/Jetpack Compose UI on top of the upstream Go networking core.
gomobile as an Android AAR.If Android blocks installation, enable Install unknown apps for your browser/file manager and retry.
You need an operational MasterDnsVPN server first.
DOMAINS and ENCRYPTION_KEY.IP or IP:PORT).compileSdk 36)gomobile and gobind# From repository root
bash ./android/build_go_mobile.sh
cd android
./gradlew :app:assembleDebug
Note: the AAR is built from committed HEAD (git archive HEAD inside the
script) — commit your Go changes under mobile/ before rebuilding, or
the AAR silently excludes them.
Release builds require signing environment variables (see workflow release-manual.yml for exact names):
ANDROID_SIGNING_ENABLED=trueANDROID_KEYSTORE_PATHANDROID_KEYSTORE_PASSWORDANDROID_KEY_ALIASANDROID_KEY_PASSWORDANDROID_VERSION_NAME, ANDROID_VERSION_CODEThen run:
cd android
./gradlew :app:assembleRelease
android-ci.yml: builds Go mobile AAR and Debug APK artifacts on push/PR.go-test.yml: runs Go tests for applicable packages.release-manual.yml: manual signed release workflow that uploads APK/AAR assets.ENCRYPTION_KEY, credentials, or full raw configs publicly.This project is provided for legitimate privacy and network-routing use cases. Users are responsible for complying with local laws, service terms, and organizational policies.
MIT License. See LICENSE.
Go
70.5%
Kotlin
27.1%
Shell
2.1%
MasterDnsVPN Android client (community build) based on the upstream Go core—install signed APKs from Releases and connect to your own MasterDnsVPN server (domain/key/resolvers).
Go
227
304 commits
updated Sep 25, 2026
English | فارسی
Android client application for the MasterDnsVPN ecosystem, built with a Kotlin/Jetpack Compose UI on top of the upstream Go networking core.
gomobile as an Android AAR.If Android blocks installation, enable Install unknown apps for your browser/file manager and retry.
You need an operational MasterDnsVPN server first.
DOMAINS and ENCRYPTION_KEY.IP or IP:PORT).compileSdk 36)gomobile and gobind# From repository root
bash ./android/build_go_mobile.sh
cd android
./gradlew :app:assembleDebug
Note: the AAR is built from committed HEAD (git archive HEAD inside the
script) — commit your Go changes under mobile/ before rebuilding, or
the AAR silently excludes them.
Release builds require signing environment variables (see workflow release-manual.yml for exact names):
ANDROID_SIGNING_ENABLED=trueANDROID_KEYSTORE_PATHANDROID_KEYSTORE_PASSWORDANDROID_KEY_ALIASANDROID_KEY_PASSWORDANDROID_VERSION_NAME, ANDROID_VERSION_CODEThen run:
cd android
./gradlew :app:assembleRelease
android-ci.yml: builds Go mobile AAR and Debug APK artifacts on push/PR.go-test.yml: runs Go tests for applicable packages.release-manual.yml: manual signed release workflow that uploads APK/AAR assets.ENCRYPTION_KEY, credentials, or full raw configs publicly.This project is provided for legitimate privacy and network-routing use cases. Users are responsible for complying with local laws, service terms, and organizational policies.
MIT License. See LICENSE.
Go
70.5%
Kotlin
27.1%
Shell
2.1%