Skip to content

Nukemichi/android

Repository files navigation

Nukemichi

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.

What the app does

  • 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

Product direction

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

Repository structure

  • app/: Android application entry point and dependency wiring
  • core/box/: sing-box profile, config, and VPN integration
  • core/agent/: API and implementation for agent-michi integration
  • core/security/api/: public security API surface intended for extension
  • core/ssh/: SSH transport layer for remote operations
  • feature/wizard/: guided deployment and bootstrap flow
  • feature/dashboard/: active profile and runtime monitoring UI

Public repository note

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.

Build requirements

  • macOS or Linux
  • JDK 21+
  • Android SDK
  • Android NDK
  • Android Studio Iguana or newer is recommended

Build manual

1. Clone and open the project

git clone <your-public-repo-url>
cd nukemichi-android

2. Prepare bundled agent-michi binaries

core/agent/impl expects these compressed assets:

  • core/agent/impl/src/main/assets/bin/amd64/agent-michi.zst
  • core/agent/impl/src/main/assets/bin/arm64/agent-michi.zst
  • core/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.0

Validate the assets:

./gradlew :core:agent:impl:verifyAgentBundledBinaries

Helper script:

  • scripts/ensure-agent-binaries.sh

3. Build a debug APK

./gradlew :app:assembleDebug

Output:

  • app/build/outputs/apk/debug/

4. Configure release signing

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

5. Build a release APK

./gradlew :app:assembleRelease

Output:

  • app/build/outputs/apk/release/

6. Useful verification commands

./gradlew :app:signingReport
./gradlew :core:agent:impl:verifyAgentBundledBinaries

TODO

  • 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-michi operations exposed through the app
  • Add tests around config generation, bootstrap flow, and profile lifecycle
  • Document contribution rules for public extensions

Contributing

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

License

See LICENSE.

About

A surgical tool for private network management on Android. Guided server deployment, real-time monitoring, and structured remote orchestration powered by sing-box.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors