
mboxshell v0.6.2
mboxShell. Visualizzatore da terminale veloce per file MBOX di qualsiasi dimensione. Apri, cerca ed esporta email dai backup di Gmail Takeout (50GB+) senza caricarli in memoria. Realizzato in Rust.
mboxShell
Visualizzatore da terminale veloce per file MBOX di qualsiasi dimensione. Apri, cerca ed esporta email dai backup di Gmail Takeout (50 GB+) senza caricarli in memoria.
Perché esiste questo progetto
Quando esporti la tua email da Gmail usando Google Takeout, ottieni uno o più file .mbox che possono pesare decine di gigabyte — più una casella di posta aggiuntiva per ogni Google Group che possiedi, che è facile da dimenticare e può essere più grande dell'esportazione di Gmail stessa. Non esiste uno strumento da terminale multipiattaforma che ti permetta di aprire, cercare e sfogliare quei file in modo efficiente senza caricarli interamente in memoria.
mboxShell è stato creato per risolvere questo problema: aprire un MBOX da 50 GB in pochi secondi, navigare centinaia di migliaia di messaggi senza problemi, cercare per mittente, data o contenuto, ed esportare tutto ciò di cui hai bisogno. Tutto dal terminale, senza GUI, senza server, senza dipendenze esterne.
Casi d'uso
- Sfoglia i backup di Gmail (Google Takeout) con le loro etichette originali
- Leggi i gruppi che possiedi, esportati da Takeout come caselle di posta proprie — spesso i file più grandi dell'archivio
- Analizza archivi di posta su server, durante migrazioni o audit
- Cerca messaggi in file MBOX da qualsiasi fonte (Thunderbird, server Unix, ecc.)
- Esporta messaggi in EML, CSV o testo semplice per ulteriori elaborazioni
- Estrai allegati singolarmente o in blocco
- Unisci più file MBOX in uno solo, rimuovendo i duplicati
Anche su Mac: mboxViewer
Se preferisci un'esperienza grafica nativa su macOS, dai un'occhiata a mboxViewer — un'app Mac nativa creata dallo stesso team. Fornisce un'interfaccia familiare in stile casella di posta per aprire, sfogliare e cercare file MBOX senza mai importarli in un client di posta. Trascina e rilascia il tuo file .mbox e ottieni accesso immediato a tutti i tuoi messaggi, allegati ed etichette in una finestra nativa macOS pulita. Ideale per gli utenti che desiderano la potenza del motore di parsing di mboxShell con il comfort di una GUI desktop.
Anche nel tuo browser: Online Mbox Viewer
Hai bisogno di dare un'occhiata a un file MBOX senza installare nulla? Prova Online Mbox Viewer — un'app web gratuita, con licenza MIT, dello stesso autore. Apre e visualizza i file .mbox interamente nel tuo browser: nulla viene caricato su alcun server, quindi la tua email rimane sulla tua macchina. Perfetto per una rapida occhiata da qualsiasi dispositivo. Codice sorgente su github.com/dcarrero/online-mbox-viewer.
Funzionalità
- Non carica mai il file in memoria. Utilizza I/O in streaming con un buffer da 1 MB. Un MBOX da 100 GB usa all'incirca gli stessi ~500 MB di RAM di uno da 1 GB (solo l'indice dei metadati risiede in memoria).
- Indicizzazione persistente. La prima apertura crea un indice binario (
.mboxshell.idx) così le aperture successive richiedono meno di un secondo. - Supporto completo per Gmail. Rileva e visualizza
X-Gmail-Labelscome cartelle virtuali in un pannello laterale, permettendoti di filtrare per Inbox, Sent, Starred, etichette personalizzate, ecc. - Caselle di posta Google Groups. Legge i file
topics.mboxche un archivio Takeout include per ogni gruppo che possiedi, li rinomina con il nome del gruppo invece del nome file senza significato, mostra il gruppo come etichetta virtuale e raggruppa le conversazioni tramite l'id esattoX-GM-THRID. - Codifiche corrette. Decodifica le encoded-word RFC 2047, supporta UTF-8, ISO-8859-1, Windows-1252, KOI8-R e qualsiasi charset riconosciuto da
encoding_rs. - Threading delle conversazioni. Raggruppa i messaggi in thread usando l'algoritmo JWZ (lo stesso usato da Netscape/Mozilla), o l'id di conversazione proprio della casella di posta quando ne ha uno.
- Ricerca avanzata. Filtro per campo specifico (
from:,subject:,date:,body:,has:attachment,label:, ecc.), intervalli di date, filtri per dimensione, operatori AND/OR e negazione. - Esportazione flessibile. Esportazione individuale o in blocco in EML, CSV (compatibile con Excel), testo semplice, HTML, un nuovo MBOX o un Maildir. Estrazione degli allegati decodificati.
- Binario singolo. Nessun runtime, nessuna dipendenza. Un eseguibile di ~5 MB che gira su Linux, macOS e Windows.
- UI da terminale completa. Navigazione da tastiera (stile vi), tre modalità di layout, barra di ricerca interattiva, scorciatoie configurabili.
- Bilingue. Interfaccia disponibile in inglese e spagnolo, rilevata automaticamente dalla locale di sistema.
Installazione
Binari precompilati (consigliato)
Scarica l'ultima release per la tua piattaforma dalla pagina Releases:
| Piattaforma | Binario |
|---|---|
| Linux x86_64 | mboxshell-linux-x86_64 |
| Linux ARM64 | mboxshell-linux-aarch64 |
| Linux RISC-V 64 | mboxshell-linux-riscv64 |
| FreeBSD x86_64 | mboxshell-freebsd-x86_64 |
| macOS Intel | mboxshell-macos-x86_64 |
| macOS Apple Silicon | mboxshell-macos-aarch64 |
| Windows x86_64 | mboxshell-windows-x86_64.exe |
| Windows ARM64 | mboxshell-windows-arm64.exe |
Dopo il download, rendilo eseguibile e spostalo nel tuo PATH:
# Linux / macOS
chmod +x mboxshell-*
sudo mv mboxshell-* /usr/local/bin/mboxshell
# Or place it in a user-local directory
mv mboxshell-* ~/.local/bin/mboxshell
Su Windows, sposta mboxshell-windows-x86_64.exe in una cartella nel tuo PATH, oppure eseguilo direttamente.
Compilazione dal sorgente
Requisiti: Rust 1.85 o successivo.
# Clone and build
git clone https://github.com/dcarrero/mboxshell.git
cd mboxshell
cargo build --release
# The binary is at target/release/mboxshell
# Install it system-wide:
sudo cp target/release/mboxshell /usr/local/bin/
# Or for the current user only:
cp target/release/mboxshell ~/.local/bin/
Cross-compilazione per altre piattaforme
# Add the target you need
rustup target add aarch64-apple-darwin # macOS Apple Silicon
rustup target add x86_64-unknown-linux-gnu # Linux x86_64
rustup target add aarch64-unknown-linux-gnu # Linux ARM64
# Build for a specific target
cargo build --release --target aarch64-apple-darwin
Installazione tramite Cargo
cargo install --git https://github.com/dcarrero/mboxshell.git
Avvio rapido
# Open an MBOX file in the terminal UI
mboxshell mail.mbox
# Index and show statistics
mboxshell index mail.mbox
mboxshell stats mail.mbox
# Search from the command line
mboxshell search mail.mbox "from:[email protected] date:2024"
mboxshell search mail.mbox "has:attachment subject:invoice" --json
# Export messages
mboxshell export mail.mbox --format eml --output ./emails/
mboxshell export mail.mbox --format csv --output summary.csv
# Hand over only part of an archive: a new mailbox with just the matches
mboxshell export mail.mbox --format mbox --query "from:[email protected]" -o handover.mbox
# Convert to Maildir (read/replied/flagged state kept as Maildir flags)
mboxshell export mail.mbox --format maildir -o ~/Maildir/Archive
# Extract attachments
mboxshell attachments mail.mbox --output ./attachments/
# Merge multiple MBOX files (duplicates are removed by default)
mboxshell merge file1.mbox file2.mbox -o merged.mbox
# Merge tagging every message with the mailbox it came from
mboxshell merge Inbox.mbox Sent.mbox -o merged.mbox --source-header