fb3534553b
- 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>
37 lines
962 B
HTML
37 lines
962 B
HTML
{% extends "base.html" %}
|
|
{% block title %}Dateien · aubox{% endblock %}
|
|
{% block content %}
|
|
<h2>Datei-Browser</h2>
|
|
<p class="muted">Sandboxed auf <code>{{ firmware_root }}</code> — Path-Traversal blockiert.</p>
|
|
|
|
<nav class="crumbs">
|
|
{% for label, p in crumbs %}
|
|
<a href="/browse?path={{ p }}">{{ label }}</a>
|
|
{% if not loop.last %} / {% endif %}
|
|
{% endfor %}
|
|
</nav>
|
|
|
|
{% if not entries %}
|
|
<p class="empty">Verzeichnis ist leer.</p>
|
|
{% else %}
|
|
<table class="grid">
|
|
<thead><tr><th>Name</th><th>Typ</th><th>Größe</th></tr></thead>
|
|
<tbody>
|
|
{% for e in entries %}
|
|
<tr>
|
|
<td>
|
|
{% if e.is_dir %}
|
|
<a href="/browse?path={{ e.rel_path }}">{{ e.name }}/</a>
|
|
{% else %}
|
|
{{ e.name }}
|
|
{% endif %}
|
|
</td>
|
|
<td>{{ "DIR" if e.is_dir else "FILE" }}</td>
|
|
<td>{{ e.size|humansize if not e.is_dir else "—" }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
{% endif %}
|
|
{% endblock %}
|