android-unlock-and-more-box/firmware
Stefan Hacker fb3534553b initial aubox skeleton: web-UI, kirin DLOAD, firmware library
- FastAPI Web-UI auf 127.0.0.1:8080 mit Geräte-Live-Erkennung,
  sandboxed File-Browser, Firmware-Library (SQLite + Auto-Identifikation)
- Huawei update.app Parser: extrahiert Hardware-ID, Section-Layout,
  BOOT/SYSTEM-Vorhandensein direkt aus den Headern
- Kirin Download-Mode: hisi-idt-Protokoll-Implementation gegen pyusb
- USB-Erkennung für Huawei (DLOAD/Fastboot-D), Google, MediaTek, Qualcomm EDL
- Huawei-P10-Lite-Workflow (eRecovery + Testpoint-DLOAD-Pfade)
- Docker-Compose mit USB-Passthrough (Major 189) für Re-Enumeration
- udev-Regeln + Setup-Script für Debian/Ubuntu/Pi-OS

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 12:09:39 +02:00
..
README.md initial aubox skeleton: web-UI, kirin DLOAD, firmware library 2026-04-26 12:09:39 +02:00

README.md

Firmware-Library

Hier liegen die Firmware-Dateien, die aubox indexiert. Im Container ist das Verzeichnis als /firmware gemountet.

Layout-Vorschlag

Ablage frei wählbar — die Library scannt rekursiv und identifiziert über Magic-Bytes, nicht über Pfad. Trotzdem hilfreich:

firmware/
├── huawei/
│   ├── WAS-LX1/
│   │   ├── EMUI8_C432_8.0.0.367.app
│   │   └── EMUI8_C432_8.0.0.367.app.sha256
│   └── EML-L29/
├── samsung/
│   └── SM-G960F_xx.tar.md5
├── mediatek/
└── firmware.db        # ← SQLite-Index, wird beim ersten Scan erzeugt

Was wird erkannt

  • Huawei update.app: Hardware-ID, Region, Section-Layout, BOOT/SYSTEM vorhanden? — voll automatisch
  • MediaTek scatter: aktuell nur Kandidaten-Erkennung über Filename
  • Samsung Odin (*.tar.md5): aktuell nur Kandidaten-Erkennung

Mehr Parser folgen, sobald der jeweilige Workflow gebraucht wird.

Datenbank

Die SQLite-Datei (firmware.db) ist Teil der Library. Sie wandert mit einem Backup oder Sync mit. Schema steht in aubox/library/db.py.

Git und Größe

Standardmäßig sind die Binaries in .gitignore ausgenommen (typisch 2-8 GB pro update.app). Wenn du sie trotzdem ins Repo legen willst:

  • git-lfs ist die einzig sinnvolle Option — git lfs track "*.app" etc.
  • Direktes git add einer 4-GB-Datei macht den Repo-Pull für andere zur Hölle.
  • Ein Backup-Repo extra für Firmware (LFS) ist sauberer als alles in einem.

Die firmware.db selbst ist klein (KB) und kann ohne LFS committet werden, falls du das Inventory teilen willst — sie enthält nur Metadaten, nicht die Binaries.