
mboxshell v0.6.2
mboxShell. Visualizador de terminal rápido para arquivos MBOX de qualquer tamanho. Abra, pesquise e exporte e-mails de backups do Gmail Takeout (50GB+) sem carregá-los na memória. Criado em Rust.
mboxShell
Visualizador de terminal rápido para arquivos MBOX de qualquer tamanho. Abra, pesquise e exporte e-mails de backups do Gmail Takeout (50 GB+) sem carregá-los na memória.
Por que este projeto existe
Quando você exporta seu e-mail do Gmail usando o Google Takeout, você obtém um ou mais arquivos .mbox que podem pesar dezenas de gigabytes — além de mais uma caixa de correio por cada Google Group que você possui, o que é fácil de passar despercebido e pode ser maior que a própria exportação do Gmail. Não existe uma ferramenta de terminal multiplataforma que permita abrir, pesquisar e navegar por esses arquivos de forma eficiente sem carregá-los inteiramente na memória.
O mboxShell foi criado para resolver esse problema: abrir um MBOX de 50 GB em segundos, navegar por centenas de milhares de mensagens suavemente, pesquisar por remetente, data ou conteúdo, e exportar o que você precisar. Tudo pelo terminal, sem GUI, sem servidor, sem dependências externas.
Casos de uso
- Navegar por backups do Gmail (Google Takeout) com seus rótulos originais
- Ler os grupos que você possui, exportados pelo Takeout como suas próprias caixas de correio — frequentemente os maiores arquivos do arquivo
- Analisar arquivos de e-mail em servidores, durante migrações ou auditorias
- Pesquisar mensagens em arquivos MBOX de qualquer origem (Thunderbird, servidores Unix, etc.)
- Exportar mensagens para EML, CSV ou texto simples para processamento posterior
- Extrair anexos individualmente ou em massa
- Mesclar múltiplos arquivos MBOX em um só, removendo duplicatas
Também no Mac: mboxViewer
Se você prefere uma experiência gráfica nativa no macOS, confira o mboxViewer — um aplicativo nativo para Mac criado pela mesma equipe. Ele oferece uma interface familiar no estilo de caixa de correio para abrir, navegar e pesquisar arquivos MBOX sem nunca importá-los para um cliente de e-mail. Arraste e solte seu arquivo .mbox e você terá acesso instantâneo a todas as suas mensagens, anexos e rótulos em uma janela limpa e nativa do macOS. Ideal para usuários que desejam o poder do motor de análise do mboxShell com o conforto de uma GUI de desktop.
Também no seu navegador: Online Mbox Viewer
Precisa dar uma olhada em um arquivo MBOX sem instalar nada? Experimente o Online Mbox Viewer — um aplicativo web gratuito, licenciado sob MIT, do mesmo autor. Ele abre e renderiza arquivos .mbox inteiramente no seu navegador: nada é enviado para nenhum servidor, então seu e-mail permanece na sua máquina. Perfeito para uma olhada rápida de qualquer dispositivo. Código-fonte em github.com/dcarrero/online-mbox-viewer.
Recursos
- Nunca carrega o arquivo na memória. Usa I/O em streaming com um buffer de 1 MB. Um MBOX de 100 GB usa aproximadamente os mesmos ~500 MB de RAM que um de 1 GB (apenas o índice de metadados fica na memória).
- Indexação persistente. A primeira abertura cria um índice binário (
.mboxshell.idx) para que as aberturas subsequentes levem menos de um segundo. - Suporte completo ao Gmail. Detecta e exibe
X-Gmail-Labelscomo pastas virtuais em um painel lateral, permitindo filtrar por Inbox, Sent, Starred, rótulos personalizados, etc. - Caixas de correio do Google Groups. Lê os arquivos
topics.mboxque um arquivo Takeout inclui para cada grupo que você possui, nomeia-os com o nome do grupo em vez do nome de arquivo sem sentido, mostra o grupo como um rótulo virtual e agrupa conversas pelo id exatoX-GM-THRID. - Codificações corretas. Decodifica encoded-words RFC 2047, suporta UTF-8, ISO-8859-1, Windows-1252, KOI8-R e qualquer charset reconhecido por
encoding_rs. - Agrupamento de conversas. Agrupa mensagens em threads usando o algoritmo JWZ (o mesmo usado pelo Netscape/Mozilla), ou o próprio id de conversa da caixa de correio quando ela possui um.
- Pesquisa avançada. Filtragem por campo específico (
from:,subject:,date:,body:,has:attachment,label:, etc.), intervalos de datas, filtros de tamanho, operadores AND/OR e negação. - Exportação flexível. Exportação individual ou em massa para EML, CSV (compatível com Excel), texto simples. Extração de anexos decodificados.
- Binário único. Sem runtime, sem dependências. Um executável de ~5 MB que roda em Linux, macOS e Windows.
- Interface de terminal completa. Navegação por teclado (estilo vi), três modos de layout, barra de pesquisa interativa, atalhos configuráveis.
- Bilíngue. Interface disponível em inglês e espanhol, detectada automaticamente a partir do locale do sistema.
Instalação
Binários pré-compilados (recomendado)
Baixe a versão mais recente para sua plataforma na página de Releases:
| Plataforma | Binário |
|---|---|
| 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 |
Após o download, torne-o executável e mova-o para o seu 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
No Windows, mova mboxshell-windows-x86_64.exe para uma pasta no seu PATH, ou execute-o diretamente.
Compilar a partir do código-fonte
Requisitos: Rust 1.85 ou superior.
# 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/
Compilação cruzada para outras plataformas
# 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
Instalar via Cargo
cargo install --git https://github.com/dcarrero/mboxshell.git
Início rápido
# 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
# 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
# Generate shell completions
mboxshell completions bash > /etc/bash_completion.d/mboxshell
mboxshell completions zsh > ~/.zfunc/_mboxshell
mboxshell completions fish > ~/.config/fish/completions/mboxshell.fish