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>
This commit is contained in:
Stefan Hacker
2026-04-26 12:09:39 +02:00
parent d0386b3c53
commit fb3534553b
35 changed files with 1883 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
# Container für aubox. Funktioniert auf x86_64 und arm64 (Pi 4) gleichermaßen.
#
# Bauen:
# docker build -t aubox .
#
# Start mit USB-Passthrough siehe scripts/run-docker.sh.
FROM debian:bookworm-slim
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 \
python3-pip \
android-tools-adb \
android-tools-fastboot \
libusb-1.0-0 \
usbutils \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY requirements.txt ./
RUN pip3 install --no-cache-dir --break-system-packages -r requirements.txt
COPY aubox/ ./aubox/
# loaders/ und firmware/ werden zur Laufzeit als Volumes gemountet — nicht ins
# Image kopieren. Damit sind Hersteller-Binaries nie im Image-Layer.
EXPOSE 8080
ENTRYPOINT ["python3", "-m", "aubox"]
CMD ["web", "--host", "0.0.0.0", "--port", "8080"]