Schlanker Agent, der DIREKT auf einem Linux-Rechner laeuft und sich ausgehend zum RVS verbindet -> ARIA steuert den Rechner auch hinter NAT/Firewall, wo er sonst nicht erreichbar ist. Anders als der Satellit (LAN-Gateway) steuert der Agent den Rechner, auf dem er laeuft. Faehigkeiten (host_command -> host_result): exec (opt. sudo), read, write, info (CPU/RAM/Disk/Uptime via psutil), screenshot (grim/scrot/maim/import). sudo-Logik: root -> direkt; SUDO_PASSWORD -> sudo -S; SUDO_NOPASSWD (Live-ISO) -> sudo -n; sonst klare Fehlermeldung. Gate: CONTROL_ENABLED + RVS-Token. stdout wird wie beim Satelliten gefenstert (contains/offset/max_chars). Als portable Onefile-Binary verteilbar (PyInstaller im bullseye-Container fuer breite glibc-Kompatibilitaet): build.sh + Dockerfile.build. Plus .env.example, systemd-Unit und README. Naechste Phasen: RVS ALLOWED_TYPES (host_*), Bridge-Registry + /internal/host*, Brain-Tools host_list/exec/read/write/info/screenshot. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
32 lines
1.8 KiB
Bash
32 lines
1.8 KiB
Bash
# ─── ARIA Host-Agent — Konfiguration ───────────────────────────────
|
|
# Kopiere diese Datei nach .env (neben die Binary) und passe sie an.
|
|
|
|
# RVS-Zugang (identisch zum Haupt-Stack — gleicher Raum/Token, damit ARIA
|
|
# diesen Rechner erreicht). Werte aus der Haupt-.env.
|
|
RVS_HOST=rvs.example.de
|
|
RVS_PORT=443
|
|
RVS_TLS=true
|
|
RVS_TOKEN=
|
|
|
|
# ─── Identitaet dieses Rechners ────────────────────────────────────
|
|
# HOST_ID = technisch eindeutig (a-z0-9-_), Default = Hostname-Slug.
|
|
# HOST_NAME = menschlicher Name, so spricht ARIA den Rechner an ("Stefans Laptop").
|
|
HOST_ID=
|
|
HOST_NAME=
|
|
|
|
# ─── Steuerung (Sicherheit!) ───────────────────────────────────────
|
|
# MUSS auf true, sonst fuehrt der Agent nichts aus (reiner Idle-Client).
|
|
CONTROL_ENABLED=true
|
|
|
|
# ─── sudo ──────────────────────────────────────────────────────────
|
|
# Reihenfolge: 1) Agent laeuft als root -> braucht kein sudo. 2) SUDO_PASSWORD
|
|
# gesetzt -> sudo -S mit Passwort. 3) SUDO_NOPASSWD=true -> sudo -n (Live-ISO /
|
|
# passwortloses sudo, z.B. Linux Mint vom Stick). 4) sonst schlaegt sudo fehl.
|
|
SUDO_PASSWORD=
|
|
SUDO_NOPASSWD=false
|
|
|
|
# ─── Limits (optional) ─────────────────────────────────────────────
|
|
EXEC_TIMEOUT=60 # max. Laufzeit eines Kommandos (s)
|
|
OUT_MAX_CHARS=20000 # stdout-Ausschnitt (offset/max_chars pro Request)
|
|
FILE_MAX_BYTES=10485760 # max. Datei-Transfer (10 MB)
|