Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
mboxshell — mboxShell. Visor de terminal rápido para archivos MBOX de cualquier tamaño. Abre, busca y exporta correos electrónicos de copias de seguridad de Gmail Takeout (50 GB+) sin cargarlos en la memoria. Construido en Rust. | Kitploit
Herramientas/GitHubGitHub/dcarrero/mboxshell
Utilidades de Propósito GeneralScripting y AutomatizaciónAnálisis ForenseRecopilación de InformaciónRecuperación de DatosForensia DigitalSeguridad de Correo Electrónico
GitHubdcarrero/mboxshell

mboxshell

mboxShell. Visor de terminal rápido para archivos MBOX de cualquier tamaño. Abre, busca y exporta correos electrónicos de copias de seguridad de Gmail Takeout (50 GB+) sin cargarlos en la memoria. Construido en Rust.

Ver Repositorio
31453hace 11 díasRevisado por Kitploit
Sitio web

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
# mboxShell

**Visor rapido de terminal para archivos MBOX de cualquier tamano. Abre, busca y exporta correos de backups Gmail Takeout (50 GB+) sin cargarlos en memoria.**

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
[![Rust](https://img.shields.io/badge/Rust-1.85+-orange.svg)](https://www.rust-lang.org)

[Read in English](https://github.com/dcarrero/mboxshell/blob/main/README.md)

---

## Por que existe este proyecto

Cuando exportas tu correo de Gmail con Google Takeout, recibes uno o varios archivos `.mbox` que pueden pesar decenas de gigabytes. No existe una herramienta de terminal multiplataforma que permita abrir, buscar y consultar esos archivos de forma eficiente sin cargarlos enteros en memoria.

`mboxShell` nacio para resolver ese problema: abrir un MBOX de 50 GB en segundos, navegar entre cientos de miles de mensajes con fluidez, buscar por remitente, fecha o contenido, y exportar lo que necesites. Todo desde la terminal, sin interfaz grafica, sin servidor, sin dependencias externas.

## Casos de uso

- **Consultar backups de Gmail** (Google Takeout) con sus etiquetas originales
- **Analizar archivos de correo** en servidores, migraciones o auditorias
- **Buscar mensajes** en archivos MBOX de cualquier origen (Thunderbird, servidores Unix, etc.)
- **Exportar mensajes** a EML, CSV o texto plano para procesamiento posterior
- **Extraer adjuntos** de forma masiva o individual
- **Combinar varios MBOX** en uno solo, eliminando duplicados

## Tambien en Mac: mboxViewer

Si prefieres una experiencia grafica nativa en macOS, echa un vistazo a [mboxViewer](https://mboxviewer.net) — una app nativa para Mac creada por el mismo equipo. Ofrece una interfaz de buzon de correo familiar para abrir, explorar y buscar archivos MBOX sin necesidad de importarlos en un cliente de correo. Arrastra tu archivo `.mbox` y tendras acceso instantaneo a todos tus mensajes, adjuntos y etiquetas en una ventana nativa de macOS. Ideal para quienes quieren la potencia del motor de parsing de mboxShell con la comodidad de una interfaz de escritorio.

## Tambien en el navegador: Online Mbox Viewer

¿Solo necesitas echar un vistazo a un archivo MBOX sin instalar nada? Prueba [Online Mbox Viewer](https://onlinemboxviewer.com) — una app web gratuita y con licencia MIT del mismo autor. Abre y muestra archivos `.mbox` por completo en tu navegador: no se sube nada a ningun servidor, asi que tu correo nunca sale de tu equipo. Perfecto para una consulta rapida desde cualquier dispositivo. Codigo fuente en [github.com/dcarrero/online-mbox-viewer](https://github.com/dcarrero/online-mbox-viewer).

## Caracteristicas

- **No carga el archivo en memoria.** Usa lectura streaming con buffer de 1 MB. Un MBOX de 100 GB consume los mismos ~500 MB de RAM que uno de 1 GB (solo el indice de metadatos vive en memoria).
- **Indexacion persistente.** La primera apertura crea un indice binario (`.mboxshell.idx`) que permite abrir el archivo en menos de un segundo en sucesivas ejecuciones.
- **Soporte completo de Gmail.** Detecta y muestra las etiquetas de `X-Gmail-Labels` como carpetas virtuales en un panel lateral, permitiendo filtrar por Inbox, Sent, Starred, etiquetas personalizadas, etc.
- **Codificaciones correctas.** Decodifica encoded-words (RFC 2047), soporta UTF-8, ISO-8859-1, Windows-1252, KOI8-R y cualquier charset reconocido por `encoding_rs`.
- **Vista de conversaciones.** Agrupa mensajes en hilos usando el algoritmo JWZ (el mismo que usaba Netscape/Mozilla).
- **Busqueda avanzada.** Filtrado por campo (`from:`, `subject:`, `date:`, `body:`, `has:attachment`, `label:`, etc.), rangos de fechas, tamano, operadores AND/OR y negacion.
- **Exportacion flexible.** Mensajes individuales o en masa a EML, CSV (compatible Excel), texto plano. Extraccion de adjuntos decodificados.
- **Binario unico.** Sin runtime, sin dependencias. Un ejecutable de ~5 MB que funciona en Linux, macOS y Windows.
- **Interfaz de terminal completa.** Navegacion con teclado (estilo vi), tres modos de layout, barra de busqueda interactiva, atajos configurables.
- **Bilingue.** Interfaz disponible en ingles y espanol, deteccion automatica del idioma del sistema.

## Instalacion

### Binarios precompilados (recomendado)

Descarga la ultima version para tu plataforma desde la pagina de [Releases](https://github.com/dcarrero/mboxshell/releases):

| Plataforma | 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` |

Tras descargar, dale permisos de ejecucion y muevelo a tu PATH:

```bash
# Linux / macOS
chmod +x mboxshell-*
sudo mv mboxshell-* /usr/local/bin/mboxshell

# O colocalo en un directorio local de usuario
mv mboxshell-* ~/.local/bin/mboxshell
```

En Windows, mueve `mboxshell-windows-x86_64.exe` a una carpeta en tu `PATH`, o ejecutalo directamente.

### Compilar desde el codigo fuente

Requisitos: [Rust](https://www.rust-lang.org/tools/install) 1.85 o superior.

```bash
# Clonar y compilar
git clone https://github.com/dcarrero/mboxshell.git
cd mboxshell
cargo build --release

# El binario esta en target/release/mboxshell
# Instalar a nivel de sistema:
sudo cp target/release/mboxshell /usr/local/bin/

# O solo para el usuario actual:
cp target/release/mboxshell ~/.local/bin/
```

#### Compilacion cruzada para otras plataformas

```bash
# Anadir el target que necesites
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

# Compilar para un target especifico
cargo build --release --target aarch64-apple-darwin
```

### Instalar via Cargo

```bash
cargo install --git https://github.com/dcarrero/mboxshell.git
```

## Uso rapido

```bash
# Abrir un archivo MBOX en la interfaz de terminal
mboxshell correo.mbox

# Indexar y ver estadisticas
mboxshell index correo.mbox
mboxshell stats correo.mbox

# Buscar mensajes desde la linea de comandos
mboxshell search correo.mbox "from:[email protected] date:2024"
mboxshell search correo.mbox "has:attachment subject:factura" --json

# Exportar mensajes
mboxshell export correo.mbox --format eml --output ./emails/
mboxshell export correo.mbox --format csv --output resumen.csv

# Extraer adjuntos
mboxshell attachments correo.mbox --output ./adjuntos/

# Combinar varios MBOX eliminando duplicados
mboxshell merge archivo1.mbox archivo2.mbox -o combinado.mbox --dedup

# Generar completions para tu shell
mboxshell completions bash > /etc/bash_completion.d/mboxshell
mboxshell completions zsh > ~/.zfunc/_mboxshell
mboxshell completions fish > ~/.config/fish/completions/mboxshell.fish
```

## Comandos CLI

| Comando | Descripcion |
|---------|-------------|
| `mboxshell [ARCHIVO]` | Abrir en la interfaz de terminal (accion por defecto) |
| `mboxshell open <ruta>` | Abrir un fichero MBOX en la TUI |
| `mboxshell index <ruta> [-f/--force]` | Construir o reconstruir el indice binario |
| `mboxshell stats <ruta> [--json]` | Mostrar estadisticas de un archivo MBOX |
| `mboxshell search <ruta> <consulta> [--json]` | Buscar mensajes desde la linea de comandos |
| `mboxshell export <ruta> -f <formato> -o <salida> [--query <q>]` | Exportar mensajes (formatos: eml, csv, txt, html) |
| `mboxshell merge <archivos...> -o <salida> [--dedup]` | Combinar varios archivos MBOX en uno |
| `mboxshell attachments <ruta> -o <salida>` | Extraer todos los adjuntos |
| `mboxshell completions <shell>` | Generar completions de shell (bash, zsh, fish, powershell, elvish) |
| `mboxshell manpage` | Generar pagina de manual |

**Flags globales:**

| Flag | Descripcion |
|------|-------------|
| `-f`, `--force` | Forzar reconstruccion del indice aunque exista |
| `-v`, `--verbose` | Aumentar verbosidad del log (-v info, -vv debug, -vvv trace) |
| `--lang <en\|es>` | Forzar idioma de la interfaz (auto-detectado por defecto) |

## Interfaz de terminal

![Captura de mboxShell](https://assets.kitploit.com/production/public/readmes/11618/6a0d33f11dc5be52a7d9869292e679e5aaa64a7bdd0c1d5fc15ac1ed3842ad31.png)

## Atajos de teclado

| Tecla | Accion |
|-------|--------|
| `j` / `k` | Mensaje siguiente / anterior |
| `g` / `G` | Primer / ultimo mensaje |
| `PgDn` / `PgUp` | Pagina abajo / arriba |
| `Enter` | Abrir mensaje / cambiar a vista de mensaje |
| `Shift-↑` / `Shift-↓` | Scroll del cuerpo del mensaje (mantiene foco en lista); un indicador de posición (`Inicio` / `NN%` / `Fin`) aparece en el borde del mensaje |
| `Tab` / `Shift-Tab` | Cambiar panel |
| `Esc` | Volver a la lista / cerrar popup |
| `/` | Abrir barra de busqueda |
| `f` | Abrir popup de filtros de busqueda |
| `n` / `N` | Siguiente / anterior resultado de busqueda |
| `Space` | Marcar / desmarcar mensaje |
| `*` | Marcar / desmarcar todos |
| `s` | Cambiar columna de ordenacion (Fecha, De, Asunto, Tamano) |
| `S` | Invertir direccion de ordenacion |
| `e` | Exportar mensaje (EML, TXT, CSV, Adjuntos) |
| `a` | Ver adjuntos (j/k para navegar, Enter para guardar, A para guardar todos) |
| `t` | Alternar vista de conversaciones (threads) |
| `l` | Mostrar / enfocar / ocultar panel de etiquetas |
| `h` | Mostrar todos los headers |
| `r` | Mostrar mensaje en formato raw |
| `1` / `2` / `3` | Layout: solo lista / horizontal / vertical |
| `?` | Ayuda |
| `q` | Salir |

## Sintaxis de busqueda

```
from:[email protected]              Buscar por remitente
to:[email protected]              Buscar por destinatario
cc:[email protected]                Buscar por destinatario en copia (Cc)
subject:factura                     Buscar en el asunto
body:texto importante               Buscar en el cuerpo del mensaje
filename:informe.pdf                Buscar por nombre de adjunto
id:<message-id@dominio>             Buscar por Message-ID
has:attachment                      Solo mensajes con adjuntos
has:no-attachment                   Solo mensajes sin adjuntos
label:Inbox                         Filtrar por etiqueta de Gmail
date:2024-01                        Mensajes de enero 2024
date:2024-01-01..2024-06-30         Rango de fechas
before:2024-06-01                   Antes de una fecha
after:2024-01-01                    Despues de una fecha
size:>1mb                           Mensajes de mas de 1 MB
-subject:spam                       Excluir mensajes con "spam"
"frase exacta"                      Buscar frase completa
from:juan subject:presupuesto       AND implicito (ambos deben coincidir)
term1 OR term2                      OR explicito
```

## Formatos de entrada soportados

| Formato | Extension | Descripcion |
|---------|-----------|-------------|
| MBOX (mboxrd/mboxo) | `.mbox` | Formato estandar. Google Takeout, Thunderbird, servidores Unix |

## Rendimiento

Probado con archivos MBOX reales de Google Takeout:

| Tamano del archivo | Mensajes | Indexacion | Re-apertura |
|--------------------|----------|------------|-------------|
| 500 MB | ~5.000 | ~3 s | < 1 s |
| 5 GB | ~50.000 | ~30 s | < 1 s |
| 50 GB | ~500.000 | ~5 min | < 1 s |

La navegacion por la lista de mensajes es instantanea gracias al virtual scrolling (solo se renderizan las filas visibles).

## Configuracion

El archivo de configuracion se ubica en `~/.config/mboxshell/config.toml`:

```toml
[general]
default_sort = "date"
sort_order = "desc"
date_format = "%Y-%m-%d %H:%M"
log_level = "warn"

[display]
theme = "dark"
layout = "horizontal"
show_sidebar = false
max_cached_messages = 50

[export]
default_format = "eml"
csv_separator = ","
```

## Arquitectura

```
src/
+-- main.rs              # CLI con clap
+-- lib.rs               # Re-exporta modulos
+-- error.rs             # Tipos de error con thiserror
+-- config.rs            # Configuracion TOML
+-- i18n/                # Internacionalizacion (EN/ES)
+-- parser/
|   +-- mbox.rs          # Parser streaming (nunca carga el archivo en memoria)
|   +-- eml.rs           # Parser de archivos EML individuales
|   +-- mime.rs          # Decodificacion MIME, multipart, charsets
|   +-- header.rs        # Headers RFC 5322, encoded-words RFC 2047
+-- index/
|   +-- builder.rs       # Construccion del indice binario
|   +-- reader.rs        # Consulta del indice
|   +-- format.rs        # Formato binario con verificacion SHA-256
+-- model/
|   +-- mail.rs          # MailEntry, MailBody
|   +-- attachment.rs    # Metadatos de adjuntos
|   +-- address.rs       # Parsing de direcciones RFC 5322
+-- store/
|   +-- reader.rs        # Lectura por offset con cache LRU
+-- search/
|   +-- query.rs         # Parser de queries de busqueda
|   +-- metadata.rs      # Busqueda rapida en indice (O(n), < 200ms para 1M msgs)
|   +-- fulltext.rs      # Busqueda full-text streaming
+-- export/
|   +-- eml.rs           # Exportar a .eml
|   +-- csv.rs           # Exportar resumen a CSV (UTF-8 BOM)
|   +-- text.rs          # Exportar a texto plano
|   +-- attachment.rs    # Extraccion de adjuntos
|   +-- mbox.rs          # Merge de MBOX con deduplicacion
+-- tui/
    +-- app.rs           # Estado global (Elm Architecture)
    +-- event.rs         # Manejo de eventos de teclado
    +-- ui.rs            # Layout y dispatch de renderizado
    +-- threading.rs     # Algoritmo JWZ para hilos de conversacion
    +-- theme.rs         # Tema de colores
    +-- widgets/         # Componentes visuales
        +-- mail_list.rs       # Lista con virtual scrolling
        +-- mail_view.rs       # Visor de mensaje con scroll
        +-- sidebar.rs         # Panel de etiquetas/carpetas
        +-- header_bar.rs      # Barra superior
        +-- status_bar.rs      # Barra de estado
        +-- search_bar.rs      # Barra de busqueda
        +-- search_popup.rs    # Popup de filtros de busqueda
        +-- help_popup.rs      # Popup de ayuda
        +-- attachment_popup.rs # Popup de adjuntos
        +-- export_popup.rs     # Popup de exportacion
```

## Dependencias principales

| Crate | Uso |
|-------|-----|
| `ratatui` + `crossterm` | Interfaz de terminal |
| `mail-parser` | Parsing MIME/RFC 5322 |
| `encoding_rs` | Decodificacion de charsets |
| `chrono` | Fechas y zonas horarias |
| `clap` | Linea de comandos |
| `serde` + `bincode` | Serializacion del indice |
| `sha2` | Integridad del indice |
| `lru` | Cache de mensajes decodificados |
| `tracing` | Logging estructurado |

## Patrocinadores

`mboxshell` se desarrolla en abierto y cuenta con el apoyo de:

<p align="center">
  <a href="https://colorvivo.com">
    <img src="https://assets.kitploit.com/production/public/readmes/11618/2e93d1557266a1757676dc70bf7e0bfb3ac1cbd1d1a6b5da72090b86ec7810eb.webp" alt="Colorvivo" height="70">
  </a>
  &nbsp;&nbsp;&nbsp;&nbsp;
  <a href="https://www.stackscale.com">
    <picture>
      <source media="(prefers-color-scheme: dark)" srcset="https://www.stackscale.com/wp-content/uploads/2019/12/Stackscale-GrupoAire-web-mini.png">
      <img src="https://assets.kitploit.com/production/public/readmes/11618/c5e4c1de767e401b555b522b310441f54819b1fd904da12d910e73ff52a7070b.png" alt="Stackscale" height="50">
    </picture>
  </a>
</p>

- **[Colorvivo](https://colorvivo.com)** — expertos en WordPress, IA y medios de comunicación.
- **[Stackscale](https://www.stackscale.com)** — expertos en infraestructura cloud privado.

Si tu empresa usa `mboxshell` y quiere apoyar su desarrollo, consulta [`.github/FUNDING.yml`](https://github.com/dcarrero/mboxshell/blob/main/.github/FUNDING.yml) o escribe a través de [carrero.es](https://carrero.es).

## Documentación

El manual de usuario completo cubre todos los comandos, atajos de teclado, operadores de búsqueda, opciones de exportación y claves de configuración:

- [docs/MANUAL-ES.md](https://github.com/dcarrero/mboxshell/blob/main/docs/MANUAL-ES.md) — Manual de usuario (Español)
- [docs/MANUAL.md](https://github.com/dcarrero/mboxshell/blob/main/docs/MANUAL.md) — User manual (English)

## Changelog

Consulta [CHANGELOG-ES.md](https://github.com/dcarrero/mboxshell/blob/main/CHANGELOG-ES.md) (English: [CHANGELOG.md](https://github.com/dcarrero/mboxshell/blob/main/CHANGELOG.md)) para el historial completo de versiones.

## Licencia

[MIT](https://github.com/dcarrero/mboxshell/blob/main/LICENSE) - Copyright (c) 2026 David Carrero Fernandez-Baillo - [https://carrero.es](https://carrero.es)

Codigo fuente: [https://github.com/dcarrero/mboxshell](https://github.com/dcarrero/mboxshell)
Descargar herramienta