Skip to content
Mbox Viewer Pro
announcementproductmboxshell

mboxShell 1.3: si installa con Homebrew, Scoop o Cargo, e l'indice dimagrisce

mboxShell 1.3.0 ora si installa con un solo comando su macOS, Linux e Windows, con Homebrew, Scoop o da crates.io. E il suo indice perde l'ultima dipendenza non più mantenuta: il 36% più piccolo, si carica altrettanto in fretta.

David Carrero ·

mboxShell, il nostro strumento open source da terminale per i file MBOX, è arrivato oggi alla 1.3.0. Porta due cambiamenti che non si vedono mentre lo usi ma si notano: installarlo non vuol dire più scaricare un binario a mano, e l’indice che crea per ogni casella perde l’ultima dipendenza non più mantenuta che gli restava. In più, sistema due cose.

Installalo con il gestore di pacchetti che usi già

Finora, tranne su NixOS e Arch, si scaricava il binario da GitHub, lo si rendeva eseguibile e lo si spostava in una cartella del PATH. La 1.3.0 aggiunge tre strade.

Homebrew, su macOS e Linux:

brew install dcarrero/tap/mboxshell

Installa il binario della release insieme al completamento della shell e alla pagina di manuale, quindi man mboxshell funziona da subito. Le versioni successive arrivano con brew upgrade.

Scoop, su Windows:

scoop bucket add dcarrero https://github.com/dcarrero/scoop-bucket
scoop install dcarrero/mboxshell

Cargo, da crates.io, se hai Rust installato:

cargo install mboxshell     # compila dal codice sorgente
cargo binstall mboxshell    # scarica il binario già compilato

cargo binstall è la strada veloce: scarica lo stesso binario che pubblichiamo su GitHub invece di passare qualche minuto a compilare.

Tutte e tre seguono da sole ogni nuova versione. E quelle di prima restano: mboxShell è sempre in nixpkgs (nix-shell -p mboxshell) e nell’AUR di Arch (yay -S mboxshell). Sono tutte spiegate nella sezione di installazione del README.

Un indice più piccolo, senza bincode

La prima volta che apri una casella, mboxShell la legge tutta e salva un indice accanto (o nella cartella della cache, se lì non può scrivere). Grazie a quell’indice, le volte successive la casella si apre senza essere riletta dall’inizio alla fine, anche se pesa diversi gigabyte.

L’indice veniva scritto con bincode, una libreria Rust che non è più mantenuta, come riporta l’avviso RUSTSEC-2025-0141. Non aveva difetti noti, ma una dipendenza che nessuno mantiene è una dipendenza che nessuno sistemerà il giorno in cui ne avrà uno. La 1.3.0 scrive le voci con postcard e l’intestazione a mano, con la stessa struttura di prima.

Già che c’era, l’indice si è ridotto: con 100.000 messaggi passa da 39,4 MB a 25,3 MB, il 36% in meno, e si carica altrettanto in fretta. cargo audit, che confronta le dipendenze con il database degli avvisi di sicurezza di Rust, ora non segnala più nulla.

È la versione 6 del formato dell’indice, e non devi fare niente. La prima volta che la 1.3.0 apre una casella che aveva già un indice, mboxShell si accorge che è nel formato vecchio e lo ricrea. Quell’apertura dura quanto la primissima; dopo, torna veloce.

Due correzioni

Un indice illeggibile non impedisce più di aprire la casella. Se il contenuto dell’indice era danneggiato, la casella non si apriva. Ora mboxShell lo ricostruisce, come già faceva quando l’indice non corrisponde più al file.

I mittenti a pari merito escono sempre nello stesso ordine. In stats e stats --json, due mittenti con lo stesso numero di messaggi potevano scambiarsi di posto da un’esecuzione all’altra. Ora i pari merito sono ordinati per nome, e due esecuzioni sulla stessa casella danno esattamente lo stesso risultato. Lo apprezzerà chi confronta i risultati con diff o li elabora in uno script.

Cosa hanno portato la 1.1 e la 1.2

Dalla 1.0 sono uscite quattro versioni di cui qui non avevamo parlato:

  • 1.1.0: la guida (?) elenca tutti gli operatori di ricerca, non 8 su 15, e F1 la apre direttamente in quel punto, anche dalla barra di ricerca.
  • 1.2.0: le esportazioni HTML mostrano le immagini contenute nel messaggio, come loghi o foto, senza scaricare niente dall’esterno. Prima venivano tolte.
  • 1.2.1: la graffetta non compare più sui messaggi senza allegati, un errore che si vedeva soprattutto con le email inviate da Alpine.
  • 1.2.2: esportare in CSV dall’interfaccia non sovrascrive più l’esportazione precedente, e il log (mboxshell.log) può leggerlo solo il proprietario.

Dove trovarlo

Le note complete sono nella pagina della release su GitHub. Nella pagina di mboxShell trovi i binari per Linux, macOS, FreeBSD e Windows, i comandi e le ultime versioni.

E se preferisci una finestra a un terminale, la stessa idea vive in Mbox Viewer Pro, per Mac, Windows e, in beta, Linux.

Apri il tuo archivio con Mbox Viewer

App nativa per Mac, Windows e Linux. Apre in streaming file MBOX ed EML di qualsiasi dimensione, completamente offline.

Oppure scaricala direttamente dal nostro sito