Der Satellit kann Android-Geraete im LAN erkennen und die Agent-APK ausrollen, statt sie von Hand aufs Geraet zu kopieren. - satellite.py: adb.devices/connect/install/shell. _apk_fetch laedt die APK per HTTP (gecached in /data/apk, sha256 optional) statt sie durchs RVS zu schicken — der RVS ist ein BROADCAST-Relay (jede base64-APK ginge an alle Clients, und das Satelliten-max_size liegt bei 8 MB). adb.install ist selbstheilend (connect -> install -r) und uebersetzt die typischen Fehler in klare Ansagen (unauthorized, Signatur-Mismatch, Speicher voll). Imports lokal in den Funktionen (Hausmuster). - Discovery: mDNS-Typen _amzn-wplay/_adb-tls-connect/_androidtvremote2, _mdns_kind -> firetv/android-adb/androidtv, plus _enrich_adb (TCP-Probe 5555) -> adbCapable. - Dockerfile: adb; compose: HOME=/data (ADB-Key persistent, sonst fragt das Geraet nach jedem Rebuild neu) + ANDROID_ADB_SERVER_PORT=5038 (Host-Kollision). - .env.example: neue Aktionen + Warnung, dass die Allowlist den Code-Default ueberschreibt (sonst lehnt ein bestehender Satellit adb.* ab). - Brain: adb.* in der satellite_command-Beschreibung; WICHTIG Timeout 200s fuer adb.*/ssh.exec — der Bridge-Default von 20s haette jede Installation abgewuergt. - Diagnostic: sat_command (Browser->RVS) und sat_result (RVS->Browser) gab es bisher GAR NICHT; beide ergaenzt. 📦-Button je ADB-faehigem Geraet + Rollout- Modal mit Status/Log, ADB-Tag in der Geraeteliste. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
23 lines
842 B
Docker
23 lines
842 B
Docker
# ARIA Satellit — schlanker Aussenposten-Container.
|
|
# Laeuft mit network_mode: host (siehe docker-compose.yml), damit mDNS/SSDP-
|
|
# Broadcasts + die Geraete-IPs im lokalen Netz erreichbar sind.
|
|
FROM python:3.12-slim
|
|
|
|
WORKDIR /app
|
|
|
|
# net-snmp-CLI (snmpget/snmpwalk) fuer die snmp.*-Aktionen — z.B. Drucker-
|
|
# Tintenstaende zuverlaessig aus der Printer-MIB statt HTML zu scrapen.
|
|
# adb: Android-Geraete im LAN (v.a. Fire TV Sticks) per Netzwerk-Debugging
|
|
# erreichen und APKs ausrollen (adb.*-Aktionen). In Debian bookworm heisst das
|
|
# Paket schlicht "adb" (nicht mehr android-tools-adb).
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends snmp adb \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
COPY satellite.py .
|
|
|
|
CMD ["python", "-u", "satellite.py"]
|