Skip to content
Mbox Viewer Pro
announcementproductmboxshell

mboxShell 1.3: instalacja przez Homebrew, Scoop lub Cargo i lżejszy indeks

mboxShell 1.3.0 instaluje się teraz jednym poleceniem w macOS, Linuksie i Windows: przez Homebrew, Scoop albo z crates.io. A indeks pozbywa się ostatniej nieutrzymywanej zależności: jest o 36% mniejszy i wczytuje się równie szybko.

David Carrero ·

mboxShell, nasze otwartoźródłowe narzędzie terminalowe do plików MBOX, doczekało się dziś wersji 1.3.0. Przynosi ona dwie zmiany, których nie widać podczas pracy, ale które da się odczuć: instalacja nie oznacza już ręcznego pobierania pliku binarnego, a indeks tworzony dla każdej skrzynki traci ostatnią nieutrzymywaną zależność, jaka mu została. Do tego dwie poprawki.

Instalacja menedżerem pakietów, którego już używasz

Do tej pory, poza NixOS i Archem, trzeba było pobrać plik binarny z GitHuba, nadać mu prawo wykonywania i przenieść go do katalogu w PATH. Wersja 1.3.0 dodaje trzy nowe drogi.

Homebrew, w macOS i Linuksie:

brew install dcarrero/tap/mboxshell

Instaluje plik binarny wydania razem z podpowiadaniem w powłoce i stroną podręcznika, więc man mboxshell działa od razu. Kolejne wersje przychodzą przez brew upgrade.

Scoop, w Windows:

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

Cargo, z crates.io, jeśli masz zainstalowany Rust:

cargo install mboxshell     # kompiluje ze źródeł
cargo binstall mboxshell    # pobiera gotowy plik binarny

cargo binstall to szybka droga: pobiera ten sam plik binarny, który publikujemy na GitHubie, zamiast przez kilka minut kompilować.

Wszystkie trzy same nadążają za każdym nowym wydaniem. A dotychczasowe drogi zostają: mboxShell nadal jest w nixpkgs (nix-shell -p mboxshell) i w AUR Archa (yay -S mboxshell). Wszystkie opisuje sekcja instalacji w README.

Mniejszy indeks, bez bincode

Przy pierwszym otwarciu skrzynki mboxShell czyta ją w całości i zapisuje obok niej indeks (albo w katalogu pamięci podręcznej, jeśli tam nie może pisać). Dzięki temu przy kolejnych otwarciach skrzynka nie musi być znowu czytana od początku do końca, nawet jeśli waży kilka gigabajtów.

Indeks był zapisywany za pomocą bincode, biblioteki Rusta, która nie jest już utrzymywana, co odnotowuje ostrzeżenie RUSTSEC-2025-0141. Nie miała znanych błędów, ale zależności, której nikt nie utrzymuje, nikt też nie naprawi w dniu, w którym błąd się pojawi. Wersja 1.3.0 zapisuje wpisy za pomocą postcard, a nagłówek ręcznie, w tym samym układzie co wcześniej.

Przy okazji indeks się zmniejszył: przy 100 000 wiadomości spada z 39,4 MB do 25,3 MB, czyli o 36%, i wczytuje się równie szybko. cargo audit, który porównuje zależności z bazą ostrzeżeń bezpieczeństwa Rusta, nie zgłasza już zupełnie nic.

To wersja 6 formatu indeksu i nie musisz nic robić. Gdy 1.3.0 po raz pierwszy otworzy skrzynkę, która miała już indeks, mboxShell rozpozna stary format i zbuduje go od nowa. To jedno otwarcie potrwa tyle, co pierwsze w ogóle; potem znowu będzie szybko.

Dwie poprawki

Nieczytelny indeks nie blokuje już otwarcia skrzynki. Jeśli zawartość indeksu była uszkodzona, skrzynka się nie otwierała. Teraz mboxShell buduje go od nowa, tak jak robił już wtedy, gdy indeks przestaje pasować do pliku.

Nadawcy z równą liczbą wiadomości zawsze wychodzą w tej samej kolejności. W stats i stats --json dwóch nadawców z taką samą liczbą wiadomości mogło zamieniać się miejscami między uruchomieniami. Remisy są teraz sortowane po nazwie, więc dwa uruchomienia na tej samej skrzynce dają dokładnie ten sam wynik. Docenią to wszyscy, którzy porównują wyniki przez diff albo przetwarzają je w skrypcie.

Co przyniosły wersje 1.1 i 1.2

Od wersji 1.0 ukazały się cztery wydania, o których jeszcze tu nie pisaliśmy:

  • 1.1.0: pomoc (?) pokazuje wszystkie operatory wyszukiwania, a nie 8 z 15, a F1 otwiera ją od razu w tym miejscu, także z paska wyszukiwania.
  • 1.2.0: eksporty HTML pokazują obrazy zawarte w wiadomości, takie jak logotypy czy zdjęcia, bez pobierania czegokolwiek z zewnątrz. Wcześniej były usuwane.
  • 1.2.1: spinacz nie pojawia się już przy wiadomościach bez załączników; błąd był widoczny głównie w listach wysłanych z Alpine.
  • 1.2.2: eksport do CSV z interfejsu nie nadpisuje już poprzedniego, a dziennik (mboxshell.log) może czytać tylko jego właściciel.

Gdzie go znaleźć

Pełne informacje są na stronie wydania na GitHubie. Na stronie mboxShell znajdziesz pliki binarne dla Linuksa, macOS, FreeBSD i Windows, polecenia i ostatnie wersje.

A jeśli wolisz okno od terminala, ten sam pomysł żyje w Mbox Viewer Pro, dla Maca, Windows i, w wersji beta, Linuksa.

Otwórz swoje archiwum w Mbox Viewer

Natywna aplikacja na Maca, Windowsa i Linuksa. Strumieniuje pliki MBOX i EML dowolnej wielkości, w pełni offline.

Albo pobierz ją prosto z naszej strony