mboxShell 1.3: instale com Homebrew, Scoop ou Cargo, e um índice mais enxuto
O mboxShell 1.3.0 agora se instala com um só comando no macOS, no Linux e no Windows, com Homebrew, Scoop ou pelo crates.io. E o índice deixa sua última dependência sem manutenção: ficou 36% menor e carrega com a mesma rapidez.
O mboxShell, nossa ferramenta de terminal de código aberto para arquivos MBOX, chegou hoje à 1.3.0. Ela traz duas mudanças que não aparecem no uso, mas fazem diferença: instalar deixou de ser baixar um binário na mão, e o índice que ela cria para cada caixa perde a última dependência sem manutenção que ainda tinha. Além disso, corrige duas coisas.
Instale com o gerenciador de pacotes que você já usa
Até agora, fora no NixOS e no Arch, o caminho era baixar o binário do GitHub, torná-lo executável e movê-lo para uma pasta do PATH. A 1.3.0 traz três opções novas.
Homebrew, no macOS e no Linux:
brew install dcarrero/tap/mboxshell
Instala o binário da versão junto com o autocompletar do shell e a página de manual, então man mboxshell funciona logo de cara. As próximas versões chegam com brew upgrade.
Scoop, no Windows:
scoop bucket add dcarrero https://github.com/dcarrero/scoop-bucket
scoop install dcarrero/mboxshell
Cargo, pelo crates.io, se você tem Rust instalado:
cargo install mboxshell # compila a partir do código-fonte
cargo binstall mboxshell # baixa o binário já compilado
O cargo binstall é o caminho rápido: baixa o mesmo binário que publicamos no GitHub em vez de passar alguns minutos compilando.
As três acompanham sozinhas cada versão nova. E as de antes continuam: o mboxShell segue no nixpkgs (nix-shell -p mboxshell) e no AUR do Arch (yay -S mboxshell). Todas estão explicadas na seção de instalação do README.
Um índice menor e sem bincode
Na primeira vez que você abre uma caixa, o mboxShell lê tudo e grava um índice ao lado dela (ou na pasta de cache, se não puder gravar ali). Graças a ele, nas vezes seguintes a caixa abre sem ser lida de novo do começo ao fim, mesmo que tenha vários gigabytes.
Esse índice era gravado com o bincode, uma biblioteca Rust que não tem mais manutenção, como registra o aviso RUSTSEC-2025-0141. Ela não tinha nenhuma falha conhecida, mas uma dependência que ninguém mantém é uma dependência que ninguém vai corrigir no dia em que tiver. A 1.3.0 grava as entradas com postcard e o cabeçalho na mão, com a mesma estrutura de antes.
De quebra, o índice ficou menor: com 100 mil mensagens, cai de 39,4 MB para 25,3 MB, 36% a menos, e carrega com a mesma rapidez. O cargo audit, que compara as dependências com a base de avisos de segurança do Rust, não aponta mais nada.
É a versão 6 do formato do índice, e você não precisa fazer nada. Na primeira vez que a 1.3.0 abrir uma caixa que já tinha índice, o mboxShell percebe que ele está no formato antigo e o recria. Essa abertura demora o mesmo que a primeira de todas; depois, volta a ser rápida.
Duas correções
Um índice ilegível não impede mais de abrir a caixa. Se o conteúdo do índice estivesse danificado, a caixa não abria. Agora o mboxShell o refaz, como já fazia quando o índice não correspondia mais ao arquivo.
Remetentes empatados saem sempre na mesma ordem. No stats e no stats --json, dois remetentes com o mesmo número de mensagens podiam trocar de lugar de uma execução para outra. Agora os empates são ordenados por nome, e duas execuções na mesma caixa dão exatamente a mesma saída. Quem compara resultados com diff ou os processa num script vai gostar.
O que a 1.1 e a 1.2 trouxeram
Desde a 1.0 saíram quatro versões sobre as quais ainda não tínhamos falado aqui:
- 1.1.0: a ajuda (
?) lista todos os operadores de busca, não 8 de 15, eF1a abre direto nesse ponto, inclusive a partir da barra de busca. - 1.2.0: as exportações HTML mostram as imagens que a mensagem leva dentro, como logotipos ou fotos, sem baixar nada de fora. Antes elas eram removidas.
- 1.2.1: o clipe não aparece mais em mensagens sem anexo, um erro que se via sobretudo em e-mails enviados pelo Alpine.
- 1.2.2: exportar para CSV pela interface não sobrescreve mais a exportação anterior, e o log (
mboxshell.log) só pode ser lido pelo dono.
Onde encontrar
As notas completas estão na página da versão no GitHub. Na página do mboxShell você encontra os binários para Linux, macOS, FreeBSD e Windows, os comandos e as últimas versões.
E se você prefere uma janela a um terminal, a mesma ideia vive no Mbox Viewer Pro, para Mac, Windows e, em beta, Linux.
Abra seu arquivo com o Mbox Viewer
App nativo para Mac, Windows e Linux. Processa arquivos MBOX e EML de qualquer tamanho, totalmente offline.