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 %}
|