{"id":44277504,"url":"https://github.com/dcarrero/mboxshell","last_synced_at":"2026-05-19T08:13:38.024Z","repository":{"id":337642120,"uuid":"1154524869","full_name":"dcarrero/mboxshell","owner":"dcarrero","description":"mboxShell. Fast terminal viewer for MBOX files of any size. Open, search and export emails from Gmail Takeout backups (50GB+) without loading them into memory. Built in Rust.","archived":false,"fork":false,"pushed_at":"2026-02-10T18:46:03.000Z","size":123,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-10T18:55:39.101Z","etag":null,"topics":["email","gmail","mail","mbox","mbox-format","mbox-viewer","rust","terminal"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dcarrero.png","metadata":{"files":{"readme":"README-ES.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-10T13:41:51.000Z","updated_at":"2026-02-10T18:46:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dcarrero/mboxshell","commit_stats":null,"previous_names":["dcarrero/mboxshell"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/dcarrero/mboxshell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarrero%2Fmboxshell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarrero%2Fmboxshell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarrero%2Fmboxshell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarrero%2Fmboxshell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dcarrero","download_url":"https://codeload.github.com/dcarrero/mboxshell/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcarrero%2Fmboxshell/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29316467,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-10T20:44:44.282Z","status":"ssl_error","status_checked_at":"2026-02-10T20:44:43.393Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["email","gmail","mail","mbox","mbox-format","mbox-viewer","rust","terminal"],"created_at":"2026-02-10T21:04:33.026Z","updated_at":"2026-05-19T08:13:38.017Z","avatar_url":"https://github.com/dcarrero.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mboxShell\n\n**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.**\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![Rust](https://img.shields.io/badge/Rust-1.85%2B-orange.svg)](https://www.rust-lang.org)\n\n[Read in English](README.md)\n\n---\n\n## Por que existe este proyecto\n\nCuando 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.\n\n`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.\n\n## Casos de uso\n\n- **Consultar backups de Gmail** (Google Takeout) con sus etiquetas originales\n- **Analizar archivos de correo** en servidores, migraciones o auditorias\n- **Buscar mensajes** en archivos MBOX de cualquier origen (Thunderbird, servidores Unix, etc.)\n- **Exportar mensajes** a EML, CSV o texto plano para procesamiento posterior\n- **Extraer adjuntos** de forma masiva o individual\n- **Combinar varios MBOX** en uno solo, eliminando duplicados\n\n## Tambien en Mac: mboxViewer\n\nSi 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.\n\n## Caracteristicas\n\n- **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).\n- **Indexacion persistente.** La primera apertura crea un indice binario (`.mboxshell.idx`) que permite abrir el archivo en menos de un segundo en sucesivas ejecuciones.\n- **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.\n- **Codificaciones correctas.** Decodifica encoded-words (RFC 2047), soporta UTF-8, ISO-8859-1, Windows-1252, KOI8-R y cualquier charset reconocido por `encoding_rs`.\n- **Vista de conversaciones.** Agrupa mensajes en hilos usando el algoritmo JWZ (el mismo que usaba Netscape/Mozilla).\n- **Busqueda avanzada.** Filtrado por campo (`from:`, `subject:`, `date:`, `body:`, `has:attachment`, `label:`, etc.), rangos de fechas, tamano, operadores AND/OR y negacion.\n- **Exportacion flexible.** Mensajes individuales o en masa a EML, CSV (compatible Excel), texto plano. Extraccion de adjuntos decodificados.\n- **Binario unico.** Sin runtime, sin dependencias. Un ejecutable de ~5 MB que funciona en Linux, macOS y Windows.\n- **Interfaz de terminal completa.** Navegacion con teclado (estilo vi), tres modos de layout, barra de busqueda interactiva, atajos configurables.\n- **Bilingue.** Interfaz disponible en ingles y espanol, deteccion automatica del idioma del sistema.\n\n## Instalacion\n\n### Binarios precompilados (recomendado)\n\nDescarga la ultima version para tu plataforma desde la pagina de [Releases](https://github.com/dcarrero/mboxshell/releases):\n\n| Plataforma | Binario |\n|------------|---------|\n| Linux x86_64 | `mboxshell-linux-x86_64` |\n| Linux ARM64 | `mboxshell-linux-aarch64` |\n| Linux RISC-V 64 | `mboxshell-linux-riscv64` |\n| FreeBSD x86_64 | `mboxshell-freebsd-x86_64` |\n| macOS Intel | `mboxshell-macos-x86_64` |\n| macOS Apple Silicon | `mboxshell-macos-aarch64` |\n| Windows x86_64 | `mboxshell-windows-x86_64.exe` |\n| Windows ARM64 | `mboxshell-windows-aarch64.exe` |\n\nTras descargar, dale permisos de ejecucion y muevelo a tu PATH:\n\n```bash\n# Linux / macOS\nchmod +x mboxshell-*\nsudo mv mboxshell-* /usr/local/bin/mboxshell\n\n# O colocalo en un directorio local de usuario\nmv mboxshell-* ~/.local/bin/mboxshell\n```\n\nEn Windows, mueve `mboxshell-windows-x86_64.exe` a una carpeta en tu `PATH`, o ejecutalo directamente.\n\n### Compilar desde el codigo fuente\n\nRequisitos: [Rust](https://www.rust-lang.org/tools/install) 1.85 o superior.\n\n```bash\n# Clonar y compilar\ngit clone https://github.com/dcarrero/mboxshell.git\ncd mboxshell\ncargo build --release\n\n# El binario esta en target/release/mboxshell\n# Instalar a nivel de sistema:\nsudo cp target/release/mboxshell /usr/local/bin/\n\n# O solo para el usuario actual:\ncp target/release/mboxshell ~/.local/bin/\n```\n\n#### Compilacion cruzada para otras plataformas\n\n```bash\n# Anadir el target que necesites\nrustup target add aarch64-apple-darwin      # macOS Apple Silicon\nrustup target add x86_64-unknown-linux-gnu  # Linux x86_64\nrustup target add aarch64-unknown-linux-gnu # Linux ARM64\n\n# Compilar para un target especifico\ncargo build --release --target aarch64-apple-darwin\n```\n\n### Instalar via Cargo\n\n```bash\ncargo install --git https://github.com/dcarrero/mboxshell.git\n```\n\n## Uso rapido\n\n```bash\n# Abrir un archivo MBOX en la interfaz de terminal\nmboxshell correo.mbox\n\n# Indexar y ver estadisticas\nmboxshell index correo.mbox\nmboxshell stats correo.mbox\n\n# Buscar mensajes desde la linea de comandos\nmboxshell search correo.mbox \"from:usuario@gmail.com date:2024\"\nmboxshell search correo.mbox \"has:attachment subject:factura\" --json\n\n# Exportar mensajes\nmboxshell export correo.mbox --format eml --output ./emails/\nmboxshell export correo.mbox --format csv --output resumen.csv\n\n# Extraer adjuntos\nmboxshell attachments correo.mbox --output ./adjuntos/\n\n# Combinar varios MBOX eliminando duplicados\nmboxshell merge archivo1.mbox archivo2.mbox -o combinado.mbox --dedup\n\n# Generar completions para tu shell\nmboxshell completions bash \u003e /etc/bash_completion.d/mboxshell\nmboxshell completions zsh \u003e ~/.zfunc/_mboxshell\nmboxshell completions fish \u003e ~/.config/fish/completions/mboxshell.fish\n```\n\n## Comandos CLI\n\n| Comando | Descripcion |\n|---------|-------------|\n| `mboxshell [ARCHIVO]` | Abrir en la interfaz de terminal (accion por defecto) |\n| `mboxshell open \u003cruta\u003e` | Abrir un archivo o directorio en la TUI |\n| `mboxshell index \u003cruta\u003e [-f/--force]` | Construir o reconstruir el indice binario |\n| `mboxshell stats \u003cruta\u003e [--json]` | Mostrar estadisticas de un archivo MBOX |\n| `mboxshell search \u003cruta\u003e \u003cconsulta\u003e [--json]` | Buscar mensajes desde la linea de comandos |\n| `mboxshell export \u003cruta\u003e -f \u003cformato\u003e -o \u003csalida\u003e [--query \u003cq\u003e]` | Exportar mensajes (formatos: eml, csv, txt) |\n| `mboxshell merge \u003carchivos...\u003e -o \u003csalida\u003e [--dedup]` | Combinar varios archivos MBOX en uno |\n| `mboxshell attachments \u003cruta\u003e -o \u003csalida\u003e` | Extraer todos los adjuntos |\n| `mboxshell completions \u003cshell\u003e` | Generar completions de shell (bash, zsh, fish, powershell) |\n| `mboxshell manpage` | Generar pagina de manual |\n\n**Flags globales:**\n\n| Flag | Descripcion |\n|------|-------------|\n| `-f`, `--force` | Forzar reconstruccion del indice aunque exista |\n| `-v`, `--verbose` | Aumentar verbosidad del log (-v info, -vv debug, -vvv trace) |\n| `--lang \u003cen\\|es\u003e` | Forzar idioma de la interfaz (auto-detectado por defecto) |\n\n## Interfaz de terminal\n\n![Captura de mboxShell](mboxshell-capture.png)\n\n## Atajos de teclado\n\n| Tecla | Accion |\n|-------|--------|\n| `j` / `k` | Mensaje siguiente / anterior |\n| `g` / `G` | Primer / ultimo mensaje |\n| `PgDn` / `PgUp` | Pagina abajo / arriba |\n| `Enter` | Abrir mensaje / cambiar a vista de mensaje |\n| `Tab` / `Shift-Tab` | Cambiar panel |\n| `Esc` | Volver a la lista / cerrar popup |\n| `/` | Abrir barra de busqueda |\n| `F` | Abrir popup de filtros de busqueda |\n| `n` / `N` | Siguiente / anterior resultado de busqueda |\n| `Space` | Marcar / desmarcar mensaje |\n| `*` | Marcar / desmarcar todos |\n| `s` | Cambiar columna de ordenacion (Fecha, De, Asunto, Tamano) |\n| `S` | Invertir direccion de ordenacion |\n| `e` | Exportar mensaje (EML, TXT, CSV, Adjuntos) |\n| `a` | Ver adjuntos (j/k para navegar, Enter para guardar, A para guardar todos) |\n| `t` | Alternar vista de conversaciones (threads) |\n| `L` | Mostrar / enfocar / ocultar panel de etiquetas |\n| `h` | Mostrar todos los headers |\n| `r` | Mostrar mensaje en formato raw |\n| `1` / `2` / `3` | Layout: solo lista / horizontal / vertical |\n| `?` | Ayuda |\n| `q` | Salir |\n\n## Sintaxis de busqueda\n\n```\nfrom:usuario@gmail.com              Buscar por remitente\nto:destino@empresa.com              Buscar por destinatario\nsubject:factura                     Buscar en el asunto\nbody:texto importante               Buscar en el cuerpo del mensaje\nhas:attachment                      Solo mensajes con adjuntos\nlabel:Inbox                         Filtrar por etiqueta de Gmail\ndate:2024-01                        Mensajes de enero 2024\ndate:2024-01-01..2024-06-30         Rango de fechas\nbefore:2024-06-01                   Antes de una fecha\nafter:2024-01-01                    Despues de una fecha\nsize:\u003e1mb                           Mensajes de mas de 1 MB\n-subject:spam                       Excluir mensajes con \"spam\"\n\"frase exacta\"                      Buscar frase completa\nfrom:juan subject:presupuesto       AND implicito (ambos deben coincidir)\nterm1 OR term2                      OR explicito\n```\n\n## Formatos de entrada soportados\n\n| Formato | Extension | Descripcion |\n|---------|-----------|-------------|\n| MBOX (mboxrd/mboxo) | `.mbox` | Formato estandar. Google Takeout, Thunderbird, servidores Unix |\n| EML | `.eml` | Mensaje individual RFC 5322 |\n| Directorio de EML | (carpeta) | Carpeta con multiples archivos `.eml` |\n\n## Rendimiento\n\nProbado con archivos MBOX reales de Google Takeout:\n\n| Tamano del archivo | Mensajes | Indexacion | Re-apertura |\n|--------------------|----------|------------|-------------|\n| 500 MB | ~5.000 | ~3 s | \u003c 1 s |\n| 5 GB | ~50.000 | ~30 s | \u003c 1 s |\n| 50 GB | ~500.000 | ~5 min | \u003c 1 s |\n\nLa navegacion por la lista de mensajes es instantanea gracias al virtual scrolling (solo se renderizan las filas visibles).\n\n## Configuracion\n\nEl archivo de configuracion se ubica en `~/.config/mboxshell/config.toml`:\n\n```toml\n[general]\ndefault_sort = \"date\"\nsort_order = \"desc\"\ndate_format = \"%Y-%m-%d %H:%M\"\nlog_level = \"warn\"\n\n[display]\ntheme = \"dark\"\nlayout = \"horizontal\"\nshow_sidebar = true\nmax_cached_messages = 50\n\n[export]\ndefault_format = \"eml\"\ncsv_separator = \",\"\n```\n\n## Arquitectura\n\n```\nsrc/\n+-- main.rs              # CLI con clap\n+-- lib.rs               # Re-exporta modulos\n+-- error.rs             # Tipos de error con thiserror\n+-- config.rs            # Configuracion TOML\n+-- i18n/                # Internacionalizacion (EN/ES)\n+-- parser/\n|   +-- mbox.rs          # Parser streaming (nunca carga el archivo en memoria)\n|   +-- eml.rs           # Parser de archivos EML individuales\n|   +-- mime.rs          # Decodificacion MIME, multipart, charsets\n|   +-- header.rs        # Headers RFC 5322, encoded-words RFC 2047\n+-- index/\n|   +-- builder.rs       # Construccion del indice binario\n|   +-- reader.rs        # Consulta del indice\n|   +-- format.rs        # Formato binario con verificacion SHA-256\n+-- model/\n|   +-- mail.rs          # MailEntry, MailBody\n|   +-- attachment.rs    # Metadatos de adjuntos\n|   +-- address.rs       # Parsing de direcciones RFC 5322\n+-- store/\n|   +-- reader.rs        # Lectura por offset con cache LRU\n+-- search/\n|   +-- query.rs         # Parser de queries de busqueda\n|   +-- metadata.rs      # Busqueda rapida en indice (O(n), \u003c 200ms para 1M msgs)\n|   +-- fulltext.rs      # Busqueda full-text streaming\n+-- export/\n|   +-- eml.rs           # Exportar a .eml\n|   +-- csv.rs           # Exportar resumen a CSV (UTF-8 BOM)\n|   +-- text.rs          # Exportar a texto plano\n|   +-- attachment.rs    # Extraccion de adjuntos\n|   +-- mbox.rs          # Merge de MBOX con deduplicacion\n+-- tui/\n    +-- app.rs           # Estado global (Elm Architecture)\n    +-- event.rs         # Manejo de eventos de teclado\n    +-- ui.rs            # Layout y dispatch de renderizado\n    +-- threading.rs     # Algoritmo JWZ para hilos de conversacion\n    +-- theme.rs         # Tema de colores\n    +-- widgets/         # Componentes visuales\n        +-- mail_list.rs       # Lista con virtual scrolling\n        +-- mail_view.rs       # Visor de mensaje con scroll\n        +-- sidebar.rs         # Panel de etiquetas/carpetas\n        +-- header_bar.rs      # Barra superior\n        +-- status_bar.rs      # Barra de estado\n        +-- search_bar.rs      # Barra de busqueda\n        +-- search_popup.rs    # Popup de filtros de busqueda\n        +-- help_popup.rs      # Popup de ayuda\n        +-- attachment_popup.rs # Popup de adjuntos\n        +-- export_popup.rs     # Popup de exportacion\n```\n\n## Dependencias principales\n\n| Crate | Uso |\n|-------|-----|\n| `ratatui` + `crossterm` | Interfaz de terminal |\n| `mail-parser` | Parsing MIME/RFC 5322 |\n| `encoding_rs` | Decodificacion de charsets |\n| `chrono` | Fechas y zonas horarias |\n| `clap` | Linea de comandos |\n| `serde` + `bincode` | Serializacion del indice |\n| `sha2` | Integridad del indice |\n| `lru` | Cache de mensajes decodificados |\n| `tracing` | Logging estructurado |\n\n## Changelog\n\n### v0.3.2\n- Renderizado HTML: la vista interna del mensaje ahora usa el crate `html2text`, por lo que tablas, listas, encabezados y enlaces se ven correctamente (#1).\n- Nuevo atajo `H`: abre el cuerpo HTML del mensaje actual en un visor externo (configurable con `MBOXSHELL_HTML_VIEWER`, por defecto `w3m`; funciona con `chawan`, `lynx -dump`, `pandoc`, etc.). La TUI suspende la pantalla alternativa mientras corre el visor y la restaura al salir (#1).\n- Nuevo formato de exportación `html`: `mbox-tui export ... --format html` y una nueva opción HTML en el popup de exportación. Produce una página HTML autocontenida con los headers en una tabla y el cuerpo HTML original (o texto envuelto en `\u003cpre\u003e`). **Los cuerpos HTML se sanitizan por defecto** (scripts, manejadores `on*`, iframes y URLs `javascript:` se eliminan vía el crate `ammonia`); usa `--raw-html` para conservar el markup original (solo recomendado para archivado local) (#1).\n- La barra de búsqueda ahora muestra una chuleta de sintaxis en línea (`from: to: subject: body: date:` …) cuando está vacía, para que el lenguaje de búsqueda sea descubrible sin leer la documentación (#1).\n- Nuevo flag `--qp` en `export ... --format eml`: re-codifica los cuerpos de texto de 8 bits como quoted-printable, de modo que el EML resultante es ASCII puro de 7 bits. Ayuda a herramientas estrictas con UTF-8 como `eml-extractor` y `emlAnalyzer`. **Funciona tanto para mensajes single-part como multipart** — el árbol MIME se recorre recursivamente y cada hoja text/* se re-codifica en su sitio (#1).\n- CI: bump de `actions/checkout`, `actions/upload-artifact` y `actions/download-artifact` a v5 (Node 24 nativo) antes del fin de Node 20 en GitHub (sep 2026).\n\n### v0.3.1\n- Fix: la barra de búsqueda registraba dos veces cada tecla y cada carácter pegado en Windows Terminal y en terminales con el protocolo kitty (#2). Ahora los eventos se filtran por `KeyEventKind::Press`.\n- Fix: en el layout pantalla completa (`1`), pulsar `Tab`/`Enter` sobre un mensaje ahora muestra la vista del mensaje a pantalla completa y `Tab`/`Esc` vuelve a la lista (#1). Antes el foco cambiaba pero no se veía nada nuevo.\n- Fix: la exportación a `.eml` ahora revierte el escapado mboxrd `\u003eFrom ` y recorta el salto de línea separador del MBOX, produciendo ficheros conformes a RFC 5322 que aceptan los parsers estándar (#1).\n\n### v0.3.0\n- Popup de filtros de busqueda (`F`): formulario visual para construir queries sin recordar la sintaxis (from, to, subject, rango de fechas, tamano, adjuntos, etiqueta)\n- Contador de resultados en la barra de busqueda: muestra `(N / total)` mientras escribes\n- Historial de busqueda: las teclas Arriba/Abajo en la barra de busqueda navegan por consultas anteriores, con indicador `[history]`\n- Nuevas entradas en la ayuda para el atajo `F` e historial de busqueda\n- Internacionalizacion completa EN/ES: todos los textos de la TUI y CLI (~150 claves de traduccion), deteccion automatica del idioma del sistema o seleccion manual con `--lang en|es`\n\n### v0.2.0\n- Busqueda incremental: la lista de mensajes se filtra mientras escribes (solo campos de metadatos; busqueda full-text se ejecuta al pulsar Enter)\n- Titulo dinamico en la vista de mensaje muestra el modo actual: `[RAW]` o `[HEADERS]`\n- Scroll proporcional con PageDown/Up en la vista de mensaje (se adapta a la altura real del viewport)\n- Indentacion mejorada en vista de hilos con conectores verticales (`│└`) y profundidad limitada a 4 niveles\n- Referencia completa de comandos CLI anadida a la documentacion\n\n### v0.1.2\n- Borde del panel activo resaltado en cyan para indicar claramente el foco\n- Barra de estado contextual: los atajos cambian segun el panel enfocado\n- Numero de version visible en la esquina inferior derecha\n- Popup de ayuda reorganizado en columnas multiples (se adapta al ancho del terminal)\n- Popup de ayuda muestra nombre de la app, version, licencia y autor\n\n### v0.1.0\n- Version inicial\n- Parser MBOX streaming (maneja archivos de 50 GB+ sin cargar en memoria)\n- Indice binario persistente para re-aperturas instantaneas\n- Interfaz de terminal completa con navegacion estilo vi y tres modos de layout\n- Soporte de etiquetas Gmail (X-Gmail-Labels) con filtrado en panel lateral\n- Busqueda avanzada: from:, to:, subject:, body:, date:, size:, has:attachment, label:\n- Agrupacion en conversaciones (algoritmo JWZ)\n- Exportacion a EML, TXT, CSV con extraccion de adjuntos\n- Interfaz bilingue (Ingles / Espanol)\n\n## Licencia\n\n[MIT](LICENSE) - Copyright (c) 2026 David Carrero Fernandez-Baillo - [https://carrero.es](https://carrero.es)\n\nCodigo fuente: [https://github.com/dcarrero/mboxshell](https://github.com/dcarrero/mboxshell)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdcarrero%2Fmboxshell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdcarrero%2Fmboxshell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdcarrero%2Fmboxshell/lists"}