audb - Aurora Debug Bridge
Development and debugging CLI tool for Aurora OS, similar to Android's ADB.
⚠️ Beta Software
This project is in beta. It may contain bugs or unexpected behavior. If you encounter any issues, please report them in issues.
Features
- Device Management - Add, remove, list, and select Aurora OS devices
- Package Management - Install, uninstall, sign, and validate RPM packages
- Shell Access - Execute commands on device (as user or root)
- File Transfer - Push/pull files via SFTP
- Input Injection - Tap, swipe, and key events with rotation support
- Screenshots - Capture device screen
- App Control - Launch and stop applications
- Logs - View and filter system logs
- Device Info - Get detailed hardware and software information
Requirements
Host Machine
| Requirement | Version | Notes |
|---|---|---|
| Rust | 1.70+ | For building from source |
| Docker | Any | Required for package sign and package validate |
| Aurora Build Tools | 5.2+ | Docker image for signing/validation |
Target Device
| Requirement | Notes |
|---|---|
| Aurora OS | SSH access enabled |
| Python 3 | Required for tap, swipe commands |
Install Python on device:
Aurora SDK Docker Image
For package signing and validation, you need the Aurora Build Tools Docker image. Download from Aurora OS Developer Portal.
Image names: aurora-build-tools-* or aurora-os-build-engine-*
Signing Keys
Signing keys are automatically downloaded from Aurora OS developer portal on first use and cached in ~/.cache/audb/.
To use custom keys:
Installation
From crates.io
This installs both binaries:
audb- CLI clientaudb-server- Background server daemon
From Source
Binaries will be at:
target/release/audb- CLI clienttarget/release/audb-server- Background server
Add to PATH (from source)
# Option 1: Copy to /usr/local/bin
# Option 2: Add to PATH in ~/.bashrc
Quick Start
# 1. Add your device
# 2. Select it as active
# 3. Test connection
# 4. Run a command
Commands Reference
Device Management
# List all devices
# List only connected devices
# Add new device interactively
# Remove device (by index, IP, or name)
# Select active device
Package Management
# Install RPM on device
# Uninstall package
# List installed packages
# Sign RPM (local, uses Docker)
# Validate RPM (local, uses Docker)
Shell & File Operations
# Execute command
# Execute as root
# Push file to device
# Pull file from device
Input Injection
# Tap at coordinates
# Long press (500ms)
# Fast tap (direct evdev, requires correct device)
# Swipe by direction
# Swipe by coordinates
# Fast swipe
# Key events
Note: Tap and swipe automatically handle screen rotation. Use --no-rotate to disable.
Screenshots
# Save with auto-generated name
# Save to specific file
Application Control
# Launch app
# Stop app
# Open URL
Logs
# Last 100 lines
# Last 500 lines
# Filter by priority
# Filter by unit
# Grep pattern
# Since time
# Kernel messages
# Clear logs
Device Info
# All info
# Specific category
Server Management
# Check server status
# Ping server
# Start server manually
# Stop server
# Force reconnect
Global Options
# Use specific device for this command
Configuration
Device Storage
~/.config/audb/devices.json:
Current Device
~/.config/audb/current_device - stores selected device identifier
Server PID
~/.config/audb/server.pid - server process ID
Architecture
┌─────────────┐ Unix Socket ┌─────────────┐ SSH/SFTP ┌────────────┐
│ audb CLI │ ◄─────────────────► │ audb-server │ ◄──────────────► │ Device │
└─────────────┘ └─────────────┘ └────────────┘
- audb - CLI client, sends commands to server
- audb-server - Background daemon, manages SSH connections
- Connection Pool - Persistent SSH sessions with auto-reconnect
- Health Check - Automatic connection monitoring (60s interval)
Touchscreen Devices
Known touchscreen event devices:
- R570:
/dev/input/event3(chsc_cap_touch) - KVADRA_T:
/dev/input/event5(himax-touchscreen)
Use --event auto to auto-detect, or specify directly for faster input.
Troubleshooting
"No device selected"
"Device disconnected"
# or check device status
"Python not found" (tap/swipe)
# On device:
"Aurora SDK Docker image not found"
Download from Aurora OS Developer Portal and load:
Server issues
Acknowledgments
- Inspired by aurora-cli by Vitaliy Zarubin
License
MIT License