
mboxshell v0.7.1
mboxShell. Visionneuse terminal rapide pour fichiers MBOX de toute taille. Ouvrez, recherchez et exportez des e-mails depuis des sauvegardes Gmail Takeout (50 Go+) sans les charger en mémoire. Développé en Rust.
mboxShell
Visionneuse de terminal rapide pour les fichiers MBOX de toute taille. Ouvrez, recherchez et exportez des e-mails à partir de sauvegardes Gmail Takeout (50 Go+) sans les charger en mémoire.
Pourquoi ce projet existe
Lorsque vous exportez vos e-mails depuis Gmail à l'aide de Google Takeout, vous obtenez un ou plusieurs fichiers .mbox qui peuvent peser des dizaines de gigaoctets — plus une boîte aux lettres supplémentaire pour chaque Google Group que vous possédez, ce qui est facile à manquer et peut être plus volumineux que l'export Gmail lui-même. Il n'existe aucun outil de terminal multiplateforme qui vous permette d'ouvrir, rechercher et parcourir ces fichiers efficacement sans les charger entièrement en mémoire.
mboxShell a été conçu pour résoudre ce problème : ouvrir un MBOX de 50 Go en quelques secondes, naviguer dans des centaines de milliers de messages en toute fluidité, rechercher par expéditeur, date ou contenu, et exporter ce dont vous avez besoin. Le tout depuis le terminal, sans interface graphique, sans serveur, sans dépendances externes.
Cas d'utilisation
- Parcourir les sauvegardes Gmail (Google Takeout) avec leurs libellés d'origine
- Lire les groupes que vous possédez, exportés par Takeout comme leurs propres boîtes aux lettres — souvent les fichiers les plus volumineux de l'archive
- Analyser des archives de courrier sur des serveurs, lors de migrations ou d'audits
- Rechercher des messages dans des fichiers MBOX de toute source (Thunderbird, serveurs Unix, etc.)
- Exporter des messages au format EML, CSV ou texte brut pour un traitement ultérieur
- Extraire les pièces jointes individuellement ou en masse
- Fusionner plusieurs fichiers MBOX en un seul, en supprimant les doublons
Aussi sur Mac : mboxViewer
Si vous préférez une expérience graphique native sur macOS, découvrez mboxViewer — une application Mac native développée par la même équipe. Elle offre une interface familière de type boîte aux lettres pour ouvrir, parcourir et rechercher des fichiers MBOX sans jamais les importer dans un client de messagerie. Glissez-déposez votre fichier .mbox et vous accédez instantanément à tous vos messages, pièces jointes et libellés dans une fenêtre native macOS épurée. Idéal pour les utilisateurs qui souhaitent la puissance du moteur d'analyse de mboxShell avec le confort d'une interface graphique de bureau.
Aussi dans votre navigateur : Online Mbox Viewer
Besoin de consulter un fichier MBOX sans rien installer ? Essayez Online Mbox Viewer — une application web gratuite, sous licence MIT, du même auteur. Elle ouvre et affiche les fichiers .mbox entièrement dans votre navigateur : rien n'est téléversé vers un serveur, vos e-mails restent donc sur votre machine. Parfait pour un coup d'œil rapide depuis n'importe quel appareil. Code source sur github.com/dcarrero/online-mbox-viewer.
Fonctionnalités
- Ne charge jamais le fichier en mémoire. Utilise des E/S en streaming avec un tampon de 1 Mo. Un MBOX de 100 Go utilise environ les mêmes ~500 Mo de RAM qu'un fichier de 1 Go (seul l'index de métadonnées réside en mémoire).
- Indexation persistante. La première ouverture crée un index binaire (
.mboxshell.idx) afin que les ouvertures suivantes prennent moins d'une seconde. - Prise en charge complète de Gmail. Détecte et affiche les
X-Gmail-Labelscomme dossiers virtuels dans un panneau latéral, vous permettant de filtrer par Boîte de réception, Envoyés, Suivis, libellés personnalisés, etc. - Boîtes aux lettres Google Groups. Lit les fichiers
topics.mboxqu'une archive Takeout fournit pour chaque groupe que vous possédez, les nomme d'après le groupe plutôt que d'après le nom de fichier insignifiant, affiche le groupe comme un libellé virtuel et regroupe les conversations par l'identifiant exactX-GM-THRID. - Encodages corrects. Décode les encoded-words RFC 2047, prend en charge UTF-8, ISO-8859-1, Windows-1252, KOI8-R et tout jeu de caractères reconnu par
encoding_rs. - Regroupement en conversations. Regroupe les messages en fils de discussion à l'aide de l'algorithme JWZ (le même que celui utilisé par Netscape/Mozilla), ou de l'identifiant de conversation propre à la boîte aux lettres lorsqu'elle en possède un.
- Recherche avancée. Filtrage par champ (
from:,subject:,date:,body:,has:attachment,label:, etc.), plages de dates, filtres de taille, opérateurs AND/OR et négation. - Export flexible. Export individuel ou en masse vers EML, CSV (compatible Excel), texte brut. Extraction des pièces jointes décodées.
- Binaire unique. Aucun runtime, aucune dépendance. Un exécutable d'environ 5 Mo qui fonctionne sous Linux, macOS et Windows.
- Interface de terminal complète. Navigation au clavier (style vi), trois modes de disposition, barre de recherche interactive, raccourcis configurables.
- Bilingue. Interface disponible en anglais et en espagnol, détectée automatiquement à partir de la locale du système.
Installation
Binaires précompilés (recommandé)
Téléchargez la dernière version pour votre plateforme depuis la page Releases :
| Plateforme | Binaire |
|---|---|
| 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 |
Après le téléchargement, rendez-le exécutable et déplacez-le dans votre 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
Sous Windows, déplacez mboxshell-windows-x86_64.exe vers un dossier de votre PATH, ou exécutez-le directement.
Compiler depuis les sources
Prérequis : Rust 1.85 ou version ultérieure.
# 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/
Compilation croisée pour d'autres plateformes
# 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
Installer via Cargo
cargo install --git https://github.com/dcarrero/mboxshell.git
Démarrage rapide
# 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