Nukemichi is an Android private network management tool built on top of the sing-box unified proxy platform. The project combines two roles in one app:
- a user-facing client for connecting and monitoring a configured profile
- a guided deployment workflow for provisioning and maintaining your own server setup
The long-term direction is simple: make private network operations accessible for regular users without removing the lower-level controls that engineers expect.
Warning
Intense development is in progress. Architecture, UX, APIs, and build steps may change between commits.
- Connects Android devices to a configured sing-box profile
- Provides a wizard for deploying and managing a remote server
- Integrates with
agent-michi, a companion backend used for structured remote operations such as host inspection, deployment, and service management - Exposes modular APIs so other developers can build on top of the project without depending on internal implementation details
Planned and in-progress areas:
- RBAC-oriented UX split between a simplified user flow and a more advanced engineering flow
- one-click server deployment workflow
- embedded tutorials and FAQ content for private networking, server basics, and self-hosting
- multiple deployment strategies for different operational requirements
- stronger app-side privacy and environment hardening
- improved transport defaults and optional advanced tunneling features
app/: Android application entry point and dependency wiringcore/box/: sing-box profile, config, and VPN integrationcore/agent/: API and implementation foragent-michiintegrationcore/security/api/: public security API surface intended for extensioncore/ssh/: SSH transport layer for remote operationsfeature/wizard/: guided deployment and bootstrap flowfeature/dashboard/: active profile and runtime monitoring UI
This public repository intentionally exposes the application architecture, module boundaries, and public APIs without shipping private defensive strategy details. Security-related extension points remain available for contributors, while the production-specific implementation can stay private.
- macOS or Linux
- JDK 21+
- Android SDK
- Android NDK
- Android Studio Iguana or newer is recommended
git clone <your-public-repo-url>
cd nukemichi-androidcore/agent/impl expects these compressed assets:
core/agent/impl/src/main/assets/bin/amd64/agent-michi.zstcore/agent/impl/src/main/assets/bin/arm64/agent-michi.zstcore/agent/impl/src/main/assets/bin/armv7/agent-michi.zst
Sync them from a published agent-michi release:
./gradlew :core:agent:impl:syncAgentBundledBinaries -PagentReleaseTag=v1.0.0Validate the assets:
./gradlew :core:agent:impl:verifyAgentBundledBinariesHelper script:
scripts/ensure-agent-binaries.sh
./gradlew :app:assembleDebugOutput:
app/build/outputs/apk/debug/
Set these in ~/.gradle/gradle.properties or provide them through Gradle properties:
RELEASE_STORE_FILE=/absolute/path/to/release.jks
RELEASE_STORE_PASSWORD=your_store_password
RELEASE_KEY_ALIAS=your_key_alias
RELEASE_KEY_PASSWORD=your_key_password./gradlew :app:assembleReleaseOutput:
app/build/outputs/apk/release/
./gradlew :app:signingReport
./gradlew :core:agent:impl:verifyAgentBundledBinaries- Finish the guided deployment flow
- Formalize RBAC and split user/engineer experiences
- Add tutorial and FAQ modules
- Add selectable deployment strategy presets in the wizard
- Expand
agent-michioperations exposed through the app - Add tests around config generation, bootstrap flow, and profile lifecycle
- Document contribution rules for public extensions
The project is still moving quickly, so expect rough edges. Public contributions are most useful in these areas:
- UI and UX improvements
- testing and validation
- documentation
- modular API design
- deployment workflow reliability
See LICENSE.