Android ToolBox - CyberMind-FR/secubox-deb GitHub Wiki
The SecuBox Android ToolBox is a tiny companion app that onboards a phone onto the VILLAGE3B cabine in one tap: it installs the cabine CA, brings up the WireGuard R3 tunnel, verifies reachability, then opens the live cartographie sociale. It replaces the manual Android tutorial.
- Source :
clients/android-toolbox/ - Package :
in.secubox.toolboxΒ· Kotlin + Jetpack Compose Β· minSdk 26 / targetSdk 34 - License :
LicenseRef-CMSD-1.0
Grab the APK directly from the cabine β the toolbox serves it:
https://kbin.<board>.secubox.in/wg/toolbox.apk
The onboard panels in the kbin WebUI expose a π± Installer l'app ToolBoX
(1-tap) button pointing at that endpoint. When the cabine has a locally
fetched build it serves it (application/vnd.android.package-archive);
otherwise it 302-redirects to the latest GitHub release asset
secubox-toolbox-android.apk.
The MVP APK is debug-signed (sideload β enable Install unknown apps). A release-signed build with a published fingerprint is a follow-up (needs a keystore secret in CI).
-
Discover β scan the kbin QR or type the booth host (
kbin.<board>.secubox.in). -
Install CA β downloads
/wg/ca.crt, launches the Android cert-install intent (KeyChain.createInstallIntent). -
Import profile β downloads
/wg/profile/new, hands the.confto the official WireGuard app (FileProvider+ACTION_VIEW). -
Verify β polls
/wg/r3-checkβ Tunnel R3 actif β. -
Live metrics β opens
/social/me(cartographie sociale).
Android 11+ restricts user CA trust, so on a non-rooted device the browser CA confirm is a guided manual step.
When the device is rooted, the Discover step shows an extra
β‘ Installation automatique (root) button. One tap runs everything with
no further interaction (a RootAuto step streams the progress log):
-
System CA install β downloads
/wg/ca.pem, computes the OpenSSLsubject_hash_oldin pure Kotlin, then bind-mounts a populated copy of the trust store over/system/etc/security/cacerts(+ the conscrypt APEX on Android 14), restoring the SELinux contextu:object_r:system_security_cacerts_file:s0. Every app trusts the cabine CA β not just user-CA opt-in apps. Reversible viaumount. -
Native WireGuard β if the kernel has the WireGuard module +
wg/ip, the tunnel comes up natively (ip link add β¦ type wireguard+wg set) β no WireGuard app required. -
Auto R3 verify β polls
/wg/r3-check.
If the kernel lacks WireGuard, the root path installs the system CA then falls back to the manual WireGuard-app handoff.
Safety β every root action is gated behind the explicit tap; nothing
runs as root unless the operator chooses root mode on their own device.
Code: RootShell.kt (su wrapper) + RootOnboard.kt (silent sequence).
No Gradle wrapper jar is committed (text-only scaffold). CI builds it:
- GitHub Actions
build-android-apk.ymlβ debug APK artifact on push tomaster/ PRs touchingclients/android-toolbox/**. - Tagging
android-v*publishes the APK as a release asset.
Locally (Android SDK + Gradle 8.9 + JDK 17):
cd clients/android-toolbox
gradle :app:assembleDebug # app/build/outputs/apk/debug/app-debug.apk| Endpoint | Purpose |
|---|---|
/wg/ca.crt / /wg/ca.pem
|
cabine CA (user / system store) |
/wg/profile/new |
fresh WireGuard .conf
|
/wg/r3-check |
tunnel reachability probe |
/social/me |
live cartographie sociale |
/wg/toolbox.apk |
the APK itself |