- 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> |
||
|---|---|---|
| .. | ||
| README.md | ||
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 addeiner 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.