spacetrace
DE
Download

Derselbe Scanner, in Ihrem Terminal

Alles, was die App kann, als Befehl, den Sie skripten können. Dazu ein Agent, der nach Zeitplan scannt — damit auch eine Maschine, auf der Sie sich nie anmelden, sagen kann, was mit ihrer Platte passiert ist.

Installation

curl -fsSL https://raw.githubusercontent.com/unalcakir28/spacetrace/main/install.sh | sh

Installiert spacetrace und spacetrace-agent nach /usr/local/bin. Absichtlich langweiliges POSIX-sh, weil es auch auf NAS-Firmware laufen muss, deren Shell busybox ist.

Unter Windows das Archiv entpacken und spacetrace.exe in den PATH legen. Für das Kommandozeilenwerkzeug gibt es keinen Installer.

Die vier Befehle, die Sie wirklich brauchen

Einen Ordner ansehen

Läuft ihn durch und gibt die Summen aus. Nichts wird gespeichert, nichts verändert.

$ spacetrace scan ~/projects
scanned 84,213 entries in 1.9s
total 12.4 GiB logical · 12.7 GiB on disk
3 paths could not be read

Das Ergebnis aufbewahren

Speichert den Scan als Momentaufnahme in einer gewöhnlichen SQLite-Datei, auf Wunsch mit Bezeichnung.

$ spacetrace scan /srv --save --label weekly
saved snapshot #1

Fragen, was sich verändert hat

Vergleicht die letzten beiden Momentaufnahmen einer Wurzel — oder die neueste mit der Platte, wie sie jetzt ist.

$ spacetrace diff --path /srv
#1 2026-09-06 17:23 [weekly]  →  #2 2026-09-06 19:40
total 23.8 MiB → 76.3 MiB   (+52.5 MiB)

      CHANGE  STATUS          NEW  PATH
   +40.1 MiB  grew       42.9 MiB  app/logs/
   +14.3 MiB  grew       25.7 MiB  backups/
    -1.9 MiB  removed         0 B  uploads/

Eine andere Maschine lesen

Jeder lesende Befehl nimmt --remote. Dieselben Unterbefehle, nur woanders hin gerichtet.

$ spacetrace --remote nas diff --path /var
#12 2026-09-01 03:00 [nightly]  →  #19 2026-09-08 03:00
total 41.2 GiB → 58.9 GiB   (+17.7 GiB)

      CHANGE  STATUS          NEW  PATH
   +16.9 GiB  grew       21.4 GiB  lib/docker/overlay2/
    +0.8 GiB  grew        3.1 GiB  log/journal/

Leicht für einen KI-Assistenten zu bedienen

Jeder Befehl gibt JSON aus, und nichts im Werkzeug kann eine Datei löschen. Sie können also einen Assistenten eine Maschine scannen lassen, die Zahlen zurücklesen und erklären lassen, was die Platte gefüllt hat — ohne einen Parser zu schreiben und ohne ein Risiko einzugehen.

  • --json bei jedem Befehl, es muss also nichts aus menschlichem Text herausgekratzt werden
  • Nur lesend: Löschen gibt es darin nicht, wonach ein Modell greifen könnte
  • Eine statische Binärdatei, sie passt also in jeden Container und jede Sandbox
  • --remote und einfaches SSH, ein Assistent kann also eine ganze Flotte ansehen
  • Summen stimmen mit du und df überein, Sie können sein Ergebnis also nachprüfen

Der Agent

spacetrace-agent ist derselbe Code als Dienst. Er scannt die konfigurierten Wurzeln nach Zeitplan, bewahrt die Momentaufnahmen auf und liefert sie über HTTP aus. Eine statische Binärdatei — und er liest nur.

Vollständige Einrichtung des Agenten

  • Cron-Zeitpläne mit fünf Feldern pro Wurzel, Aufbewahrung nach Anzahl
  • Bearer-Token ist Pflicht; serve startet ohne eines nicht
  • Lauscht standardmäßig nur auf Loopback — ein Inventar nach außen zu geben, muss eine bewusste Änderung sein
  • /health braucht kein Token, damit ein Container-Healthcheck funktioniert, und verrät nichts weiter
  • Unbekannte Konfigurationsschlüssel werden beim Start abgelehnt, nicht stillschweigend ignoriert

Im Container

Den Host schreibgeschützt einhängen und den scannen. Das Image enthält amd64 und arm64.

docker run -d --name spacetrace \
  -v /:/host:ro \
  -v spacetrace-data:/var/lib/spacetrace \
  -v /etc/spacetrace:/etc/spacetrace:ro \
  -p 7878:7878 \
  ghcr.io/unalcakir28/spacetrace

Sie können den Code lesen

Scanner, Momentaufnahmen-Speicher, Vergleich und beide Binärdateien stehen unter Apache-2.0. Software, die Sie auf Ihren eigenen Servern installieren, sollte Software sein, die Sie prüfen können.