Skip to content

Open Reader 1.0.0 - primera version oficial

Choose a tag to compare

@jdsalasca jdsalasca released this 02 Nov 02:05
· 9 commits to main since this release

Open Reader 1.0.0

Primera versión oficial. Un lector de libros que vive entero en el navegador:
sin cuentas, sin servidor y sin subir tus archivos a ningún sitio.

Sitio: https://open-reader.eridu.top

Qué abre

EPUB, MOBI, AZW3, FB2, CBZ y PDF, con motor propio basado en foliate-js
(vendorizado y parcheado para PDF, fixed-layout y anotaciones).

Lo que trae

Lectura

  • Dos personalidades visuales: Papel (por defecto) e Industrial.
  • Tipografías de lectura (Descanso, Editorial, Legible, la del libro), tamaño,
    interlineado, ancho de columna, justificado y partición de palabras.
  • Paginado o scroll; zoom de página en PDF.
  • Pantalla completa, atajos de teclado y zonas de toque en los márgenes vacíos
    para pasar página.
  • Pantalla siempre encendida mientras lees (Screen Wake Lock), con su ojito en
    la barra.

Anotar

  • Resaltado en cinco colores y cuatro estilos: subrayado, ondulado y tachado.
  • Notas al margen con «me gusta», y post-its amarillos y morados.
  • Burbujas de comentario pegadas al pasaje, numeradas 1…9 y «9+», como en
    Google Docs: se ven en móvil y en escritorio.
  • Citas con tarjeta PNG descargable.
  • Marcadores de página, búsqueda en todo el libro e índice navegable.

Tus datos

  • Todo se guarda en el dispositivo (IndexedDB y localStorage). Nada viaja.
  • Exportación .eridu (copia completa) e importación.
  • Exportación de notas a Markdown.

App

  • PWA instalable y funcional sin conexión.
  • Español, inglés y chino continental, con detección automática del idioma.
  • Responsive real: portátil, tablet y celular.
  • Botón «Buscar actualización» en la portada y en el lector, porque un service
    worker puede dejar el móvil semanas en la versión vieja.

Arquitectura

El visor es el conjunto de sus plugins: cada función (índice, búsqueda, notas,
resaltados, citas, marcadores, ajustes, pantalla encendida) es una carpeta en
src/features/ que declara qué aporta —botón, pestaña, margen, capa sobre la
página, diálogo o atajo— y se registra en una lista. Añadir una función es un
archivo y una línea.

core/      lógica sin React (libros, almacenamiento, anotaciones, CFI)
i18n/      es · en · zh
viewer/    motor, estado de la sesión y contrato de plugins
features/  una carpeta por función
screens/   estantería y pantalla de lectura
ui/        controles y diálogo reutilizables

Detalles en docs/ARCHITECTURE.md.

Privacidad y seguridad

  • Sin cuentas, sin analítica propia, sin peticiones a servidores de terceros.
  • CSP estricta: script-src 'self', frame-ancestors 'none',
    object-src 'none', connect-src 'self'. Un EPUB no puede ejecutar código.
  • Los libros se abren en un documento aislado; tus notas no salen del navegador.

Límites conocidos

  • Sin DRM: los libros protegidos de tiendas no abren.
  • Las notas son locales por navegador; el .eridu es el puente entre equipos.
  • En PDF, la selección depende de la capa de texto del archivo: un escaneo sin
    OCR no se puede resaltar, y la búsqueda no está disponible.
  • El menú nativo de selección de Android/iOS no se puede ocultar desde la web:
    por eso las opciones van en una barra fija arriba y no junto al texto.

Gracias

A foliate-js (MIT), PDF.js (Apache-2.0) y las fuentes libres que usa el lector.