spacetrace
IT
Scarica

Lo stesso scanner, nel tuo terminale

Tutto ciò che fa l'app, come comando da usare negli script. Più un agente che scansiona su una pianificazione, così anche una macchina a cui non accedi mai può dirti cosa è successo al suo disco.

Installazione

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

Installa spacetrace e spacetrace-agent in /usr/local/bin. Deliberatamente noioso sh POSIX, perché deve girare anche sul firmware di un NAS la cui shell è busybox.

Su Windows, estrai l'archivio e metti spacetrace.exe nel PATH. Per lo strumento a riga di comando non c'è un installer.

I quattro comandi che userai davvero

Guarda una cartella

La percorre e stampa i totali. Niente viene salvato, niente viene modificato.

$ 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

Conserva il risultato

Salva la scansione come istantanea in un semplice file SQLite, con un'etichetta se vuoi.

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

Chiedi cosa è cambiato

Confronta le ultime due istantanee di una radice, o la più recente con il disco così com'è ora.

$ 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/

Leggi un'altra macchina

Qualsiasi comando di sola lettura accetta --remote. Stessi sottocomandi, puntati altrove.

$ 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/

Facile da usare per un assistente AI

Ogni comando stampa JSON, e nello strumento non c'è nulla che possa cancellare un file. Così puoi lasciare che un assistente scansioni una macchina, legga i numeri e spieghi cosa ha riempito il disco — senza scrivere un parser e senza correre rischi.

  • --json su ogni comando, così non c'è nulla da estrarre da testo pensato per un umano
  • Sola lettura: non c'è alcuna cancellazione a cui un modello possa ricorrere
  • Un binario statico, così entra in qualsiasi container o sandbox
  • --remote e SSH semplice, così un assistente può osservare un'intera flotta
  • I totali coincidono con du e df, così puoi verificare le sue conclusioni

L'agente

spacetrace-agent è lo stesso codice come servizio. Scansiona su pianificazione le radici che configuri, conserva le istantanee e le serve via HTTP. Un binario statico — e legge soltanto.

Configurazione completa dell'agente

  • Pianificazioni cron a cinque campi per radice, con ritenzione per numero
  • Token bearer obbligatorio; serve rifiuta di partire senza uno
  • Ascolta su loopback per impostazione predefinita — esporre un inventario deve essere una scelta deliberata
  • /health non richiede token, così un healthcheck del container funziona, e non rivela nient'altro
  • Le chiavi di configurazione sconosciute vengono rifiutate all'avvio anziché ignorate in silenzio

In un container

Monta l'host in sola lettura e scansiona quello. L'immagine contiene sia amd64 sia 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

Puoi leggere il codice

Lo scanner, l'archivio delle istantanee, il confronto ed entrambi i binari sono Apache-2.0. Il software che installi sui tuoi server dovrebbe essere software che puoi ispezionare.