Monolith – herramienta CLI para guardar páginas web completas como un solo archivo HTML

Compatibilidad del navegador para guardar páginas

  • Los navegadores antiguos (p. ej., IE5) y los actuales (Firefox, Chrome, Safari) pueden guardar páginas, pero los resultados suelen ser desordenados: HTML + carpeta de recursos, CSS/JS rotos o formatos propietarios como .webarchive.
  • MHTML solía tener una amplia compatibilidad y todavía está en Chrome, pero la compatibilidad ha empeorado o es inconsistente entre navegadores y en móvil.
  • Varios comentarios expresan sorpresa de que guardar de forma robusta y portátil en un solo archivo siga sin ser una función de primer nivel en los navegadores.

Monolith frente a otras herramientas

  • Monolith: CLI en Rust que inserta todos los recursos como data URIs en un único archivo HTML, sin motor de JS. Es bueno para instantáneas estáticas exactas cuando no se necesita JS. Se limita a una página a la vez.
  • SingleFile / single-file-cli: extensión de navegador y CLI que usan un motor de navegador real, capturan el DOM después de JS, admiten formatos ZIP/autoejecutables y normalmente ofrecen resultados de alta fidelidad. Más lentos y pesados, pero manejan sitios con mucho JS y páginas autenticadas.
  • Otras herramientas mencionadas: wget (archivado recursivo), ArchiveBox (archivador autohospedado), Chrome/Playwright en modo headless y utilidades como shot-scraper, enfoques basados en WARC y varias APIs de pago para capturas de pantalla.

Casos de uso y flujos de trabajo

  • Bases de conocimiento personales: guardar cada artículo interesante, pregunta y respuesta, o hilo de foro; organizar mediante carpetas, herramientas de búsqueda y sincronización con sistemas de notas (p. ej., Joplin, Obsidian).
  • Archivado a largo plazo: combatir la rotura de enlaces en marcadores, sitios de noticias y blogs; usar ArchiveBox o ayudantes de Wayback Machine junto con archivos locales.
  • Flujos de trabajo RAG/LLM: alimentar años de HTML guardado en tuberías locales de indexación.
  • Ideas para integración con un solo clic navegador → Monolith/SingleFile → notas, y flujos móviles mediante navegadores que admiten extensiones.
  • Preguntas sobre archivar aplicaciones completas (p. ej., instancias de Redmine) y restaurar sitios desde Wayback; se sugieren herramientas recursivas y documentación de ArchiveTeam.

Desafíos técnicos y de UX

  • Los sitios basados en JS, el scroll infinito, los overlays de cookies/pagos, la detección de navegador headless y los banners emergentes complican el archivado y las capturas.
  • Las soluciones incluyen JS inyectado (desplazamiento, eliminación de overlays, aceptación de banners), bloqueadores de anuncios, condiciones de espera personalizadas y suplantación de UA/funcionalidades.
  • Debate sobre formatos: data URIs vs. MHTML vs. WARC; compensaciones en tamaño, fidelidad, compatibilidad con binarios y compatibilidad entre navegadores. La compatibilidad con MHTML en Monolith está planificada, pero incompleta.
  • Preocupaciones sobre JS incrustado en páginas guardadas (seguimiento, comportamiento de autenticación) y sobre la creciente complejidad de la web, que dificulta cada vez más las copias locales fieles.

Reflexiones más amplias

  • Muchos señalan un deterioro alarmante de la web y ven herramientas como Monolith/SingleFile como infraestructura esencial de preservación.
  • Hay frustración por la “regresión” de los navegadores modernos en funciones de archivado y entusiasmo por herramientas CLI pequeñas, rápidas y basadas en Rust que cubren el vacío.