Native Android client for private, censorship-resistant connections.
v0.8.0 — Aethery is an Android app around the Aether core. It is not a replacement or fork of Aether's networking engine.
Aethery turns Aether into an Android-first VPN experience. It provides the native interface, Android VPN/TUN bridge, connection state, protocol picker, live connection logs, and release packaging. Aether remains responsible for route discovery, tunnel establishment, transport protocols, and encrypted traffic handling.
Android UI + Android VPN/TUN
│
▼
Aethery client
│ JNI
▼
Aether core — discovery, MASQUE, WireGuard, routing
- Native Android UI with one-tap connect, connection state, motion, and live logs.
- Quick Settings tile uses last saved settings for connect/disconnect without opening app.
- Foreground notification shows upload/download totals, opens app on tap, and provides Disconnect action.
- Connection type picker: VPN routes device traffic through Android
VpnService; Proxy exposes local SOCKS5 at127.0.0.1:1819by default for apps configured to use it. - MASQUE over HTTP/3, with HTTP/2 fallback when available.
- WireGuard for networks where it is reachable.
- WARP-on-WARP (
gool) support through the Aether core. - Automatic endpoint scanning with IP-level diagnostics, cached-gateway reconnect, and Ironclad verification.
- Aether v1.6.0 Zero Trust enrolment through email OTP, service tokens, or an Access JWT.
- Custom DNS plus destination block/direct rules in Proxy mode and optional Zero Trust gateway filtering in VPN and Proxy modes.
- Retained Aether v1.6.0 Android FFI core builds into
libaether.so; it is excluded from repository language statistics. - App-level default protocol setting and direct links to releases/source.
| Protocol | Intended use |
|---|---|
| MASQUE | Recommended default. Uses HTTPS-like tunnel transport and can fall back to HTTP/2. |
| WireGuard | Fast direct transport where UDP/WireGuard is reachable. |
| WARP-on-WARP | Nested WireGuard transport supplied by Aether. It still needs a reachable outer WireGuard path. |
Network filtering differs by provider and location. A protocol appearing connected means Aether completed its tunnel readiness check; it does not promise that every destination is reachable on every network.
Draft and published builds are available from Gitea Releases.
| Device ABI | Asset |
|---|---|
| 64-bit ARM | Aethery-arm64-v8a.apk |
| 32-bit ARM | Aethery-armeabi-v7a.apk |
Install an APK from Android Downloads after allowing installs from the source application when Android asks.
-
Android Studio with Android SDK 36
-
Android NDK
26.3.11579264 -
CMake
3.22.1 -
JDK 17
-
Rust stable with required Android targets:
rustup target add aarch64-linux-android armv7-linux-androideabi
-
cargo-ndk
Gradle builds and stages matching Aether library automatically:
.\gradlew.bat :app:assembleDebug -PtargetAbi=arm64-v8a
.\gradlew.bat :app:assembleDebug -PtargetAbi=armeabi-v7aBuild both ABI splits:
.\gradlew.bat :app:assembleDebugAPK output:
app/build/outputs/apk/debug/app-arm64-v8a-debug.apk
app/build/outputs/apk/debug/app-armeabi-v7a-debug.apk
The Android release workflow runs manually and builds signed release APKs for arm64-v8a and armeabi-v7a. It uploads direct .apk files to a draft Gitea Release. See the release guide.
To prepare v0.8.0:
Open Gitea Actions, select Build Android APKs, choose Run workflow, and enter v0.8.0 as the release tag.
Review the draft assets and release note in Gitea, then publish the release when ready.
app/ Android application and JNI bridge
core/aether/ Aether Rust core used by this client
core/quiche/ QUIC/HTTP3 dependency used by Aether
.gitea/ issue forms and Android release workflow
Read CONTRIBUTING.md before opening an issue or pull request. Bug and feature forms are available from New issue.
Do not disclose security-sensitive tunnel, credential, or traffic issues in public issues. Read SECURITY.md for private reporting guidance.
Aethery is licensed under GNU AGPL-3.0. Aether and bundled dependencies retain their own license terms; see their respective files in core/.
