Your complete homelab command center for Android
Monitor, manage, and automate all your servers from one beautiful app.
- Add servers, NAS, Raspberry Pi, routers, and more
- Connect via SSH, Wake-on-LAN, or REST APIs (Home Assistant, Proxmox, TrueNAS, Pi-hole)
- Quick-action chips for instant Terminal, SFTP, and WoL access
- Long-press quick actions β Reboot, Shutdown, Wake, Terminal, Files, Edit, Delete via bottom sheet
- Pull-to-refresh with live ping status for all devices
- Search and filter across your entire fleet
- Device grouping with collapsible sections
- Customizable tile grid with real-time data
- Server Status β CPU, RAM, disk usage via SSH
- Docker β Running/total container counts with progress bar
- Pi-hole β Query & blocked counts with animated stats
- Services β Systemd running/failed service counts
- Ping Latency β Quality indicator (Excellent/Good/Fair/Poor)
- Home Assistant β Entity state monitoring
- Custom API β JSON key-value display from any endpoint
- Community Tiles β Plugin architecture for user-created tiles (SSH command or API endpoint as data source)
- Auto-refresh every 30 seconds with countdown timer
- Live pulse indicator β Green pulsing dot shows the dashboard is alive
- Spinning refresh icon animation during data fetches
- Relative timestamps β "Just updated", "Updated 15s ago"
- Per-tile error handling β Error overlays with warning icons on failed tiles
- Failed tile count in header subtitle
- Full interactive terminal with multiple concurrent sessions
- Command history β Up/Down arrows to recall last 50 commands
- Clear output β One-tap terminal clear
- Tab-safe crash protection (deferred tab switching, SupervisorJob)
- Connecting/disconnected state indicators with reconnect
- Browse, upload, download, and edit remote files
- Interactive breadcrumb path bar β Click any segment to jump
- Copy, cut, paste between directories
- Create files and folders
- Inline file editor with monospace font
- Transfer progress overlay
- Create, organize, and execute bash/python scripts on devices
- 19 pre-built templates β System info, updates, Docker, firewall, users, logs, backups, web server
- Quick Insert chips β Tap to insert
if,for,while,function,case, and more - Template gallery with one-tap import
- Run scripts directly on any SSH device with live output
- Script scheduling β Enable automated execution with cron presets:
- Every 5m, 30m, Hourly, Daily 6am, Daily midnight, Weekly, Monthly
- Custom cron expression support
- Target device picker for scheduled runs
- Powered by WorkManager for reliable background execution
- Execution history β View all past script runs with:
- Filter by: All / Completed / Failed
- Expandable log cards with monospace output preview
- Script name, device, exit code, duration, timestamp
- One-tap delete or clear all
- Script execution notifications β Get notified when scheduled scripts complete or fail
- Shows β /β status, script name, device, exit code, duration
- Error output included on failure
- Notification channels β Script Execution + Device Alerts (separate Android notification channels)
- Settings β Security β SSH Keys β Dedicated key management screen
- Generate RSA-2048 key pairs with custom names
- Import existing PEM private keys
- Key cards showing: name, type, SHA-256 fingerprint, public key preview, creation date
- Copy public key to clipboard for pasting into
authorized_keys - Delete keys with one tap
- All private keys encrypted with Android Keystore
- Theme β System, Light, or Dark mode
- Dynamic Colors β Material You wallpaper-based theming
- Monitoring β Configurable refresh interval (10β300s)
- Notifications β Device alerts & script results toggle
- 5-page introduction to all features
- "Add Your First Device" interactive setup page:
- Form fields for name, host, port, username, password
- Security info banner about local encryption
- "Add & Get Started" saves the device directly
- "Skip for now" to set up later
- All credentials encrypted with Android Keystore
- SSH key private keys encrypted at rest
- No accounts, no telemetry, no ads, no tracking
- 100% open source β inspect every line of code
| Requirement | Minimum |
|---|---|
| Android | 11+ (API 30) |
| Android Studio | Ladybug or newer |
| JDK | 17 |
# 1. Clone the repository
git clone https://github.com/iTroy0/NexusControl.git
# 2. Open in Android Studio and let Gradle sync
# 3. Connect a device or start an emulator (API 30+)
# 4. Build & run
./gradlew assembleDebugOr simply click Run
| Layer | Technology |
|---|---|
| Language | Kotlin 2.0 |
| UI | Jetpack Compose + Material 3 (Material You) |
| DI | Hilt |
| Database | Room |
| Preferences | DataStore |
| Background | WorkManager |
| Navigation | Navigation Compose |
| SSH/SFTP | SSHJ |
| Networking | OkHttp + Retrofit |
| Serialization | kotlinx.serialization |
| Security | Android Keystore + BouncyCastle + EdDSA |
NexusControl follows Clean Architecture with three layers:
βββββββββββββββββββββββββββββββββββββββββββ
β Presentation (Compose + ViewModels) β
βββββββββββββββββββββββββββββββββββββββββββ€
β Domain (Models + Repository Interfaces)β
βββββββββββββββββββββββββββββββββββββββββββ€
β Data (Room, SSH, API, Security, DI) β
βββββββββββββββββββββββββββββββββββββββββββ
- Unidirectional data flow β StateFlow β Compose β ViewModel β Repository
- Dependency injection β Hilt modules for database, network, and security
- Reactive data β Room Flow + StateFlow for live UI updates
app/src/main/java/com/nexuscontrol/app/
βββ data/ # Data layer
β βββ local/ # Room database, DAOs, entities
β βββ network/ # SSH, SFTP, API, WoL managers
β βββ notification/ # Notification channels & helpers
β βββ preferences/ # DataStore user preferences
β βββ repository/ # Repository implementations
β βββ security/ # Credential & SSH key encryption
β βββ sftp/ # SFTP file operations
β βββ ssh/ # SSH session management
β βββ worker/ # Background workers (script scheduling)
βββ di/ # Hilt dependency injection modules
βββ domain/ # Domain layer
β βββ model/ # Data models (Device, Script, Tile, AlertRule)
β βββ repository/ # Repository interfaces
βββ navigation/ # Navigation graph & routes
βββ presentation/ # UI layer
β βββ common/ # Shared composables (LoadingState, EmptyState)
β βββ dashboard/ # Dashboard screen & tile components
β βββ devices/ # Device list, editor & quick actions
β βββ onboarding/ # First-launch onboarding with setup
β βββ scripts/ # Script library, editor, scheduling & history
β βββ settings/ # App settings & SSH key management
β βββ sftp/ # SFTP file browser & hub
β βββ terminal/ # Multi-tab SSH terminal
βββ ui/theme/ # Material 3 theming & color system
MIT License β see LICENSE








