Wikisource en español como segunda fuente, con el EPUB que genera ws-export
y portadas generadas con el título.
Cada usuario puede subir sus EPUB, visibles solo para él en cualquier ruta.
Los archivos manipulados (ZIP bombs, cabeceras falsas) se rechazan.
Un libro se puede guardar entero en el dispositivo para leerlo sin conexión.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Los EPUB se convierten en el servidor en una lista cerrada de bloques y el
navegador los maqueta en páginas según su pantalla. Cada página se dibuja en
un canvas y llega al lector como una imagen más, así que hoja, sombra,
hendidura y sonido no cambian.
El libro se lee de corrido: cada capítulo empieza debajo del anterior y el
progreso se sigue guardando por capítulo. El catálogo sale del OPDS de
gutenberg.org, con reintentos.
Ajustes: mostrar solo manga, solo libros o ambos, por usuario.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Entre las dos caras de una pareja la vista se recorre, con las páginas unidas
por el lomo. Entre parejas gira la hoja, con la página nueva en el reverso, la
siguiente debajo y la vista acompañando al giro. La hendidura alterna de lado
según la cara, y las páginas anchas ya no la llevan.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
En doble página va en el centro, en una página en el lado del lomo según el
sentido de lectura y en una página ancha en su centro.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
La sombra sigue la forma de la hoja y su borde se ensancha con la altura. Sin
WebGL se mantiene el degradado desde el lomo.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
En lectura vertical la zona sigue creciendo al llegar al borde y une varias
páginas en una sola imagen. El servidor admite hasta 8000 px y 64 MB, y la
galería y el visor se adaptan a los recortes largos. La animación de la hoja
dura 30 ms más.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Una sola malla en un canvas en lugar de una capa con filtro por cara. Las
páginas se suben a la GPU en reposo; sin WebGL2 se usa la hoja de capas.
Tocar arriba, al centro o abajo levanta la hoja por esa parte, como al
arrastrarla, y el giro dura 20 ms más.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Curvatura de 14° en el plano de la página y 10° hacia quien lee.
- La tira del lomo no se curva, así que la hoja no se separa del libro.
- Más solape entre tiras al curvarse, para que no se abran huecos.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- En der→izq, la barra inferior del lector va como la lectura: Cap. sig. a la izquierda y Cap. ant. a la derecha.
- En móvil, la página y la barra de progreso van arriba, y cada botón de capítulo en su extremo.
- Al arrastrar con el dedo por arriba o por abajo, esa parte de la hoja va por delante y el lomo no se mueve;
por el centro, como siempre. Sin capas nuevas.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Ficha e Info son una sola página: banner, puntuaciones, sinopsis, obras relacionadas y recomendaciones.
- La info se guarda una vez por manga para todos los usuarios y se actualiza en segundo plano; los mangas
seguidos la mantienen al día solos. Si una fuente falla, se conserva lo guardado.
- Menú lateral (⋯) con seguir, listas, recortes, otras fuentes, descargas y datos de la obra.
- Banners reescalados con Real-ESRGAN; si la obra no tiene, se usa un recorte del propio usuario.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Capa ámbar en modo multiplicar sobre las páginas (también durante las animaciones), bajo las barras.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Descargas y reescalados tienen usuarios (download_users): Colas y la biblioteca descargada muestran
solo lo de cada uno. Un manga ya descargado por otro se lee desde el disco y entra en tu biblioteca
al empezar a leerlo; borrar uno compartido solo lo quita de la tuya. Lo anterior se asigna a quien lo
lee, sigue o tiene en una lista (o al primer usuario).
- Lector: si la página siguiente no ha llegado, la actual se queda con un indicador hasta que llega
(máx. 4 s); si no, la nueva aparece con fundido y un indicador en vez de negro. Precarga de 6
páginas por delante, ya decodificadas.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Arrastrar con el dedo pasa la página siguiendo el toque (hoja, deslizar o fundido); al soltar termina
de pasar o vuelve a su sitio según lo recorrido y el impulso.
- Sonido de roce de papel sintetizado en el navegador, al azar entre 6 variantes; volumen o sin sonido
en las opciones del lector.
- Doble página hacia atrás: se precargan también las 2 páginas anteriores, el lado de las páginas nuevas
sale del orden de lectura y, si aún no han cargado, se desliza en vez de pasar la hoja.
- Safari: sin líneas entre las tiras de la hoja (sombreado con filtro en la propia cara y más solape).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Info: autores, revista y editorial, fechas, tomos, puntuaciones, rankings, anime, obras relacionadas,
recomendaciones y enlaces. La obra se identifica por los enlaces de MangaDex o por título.
- Fechas de los capítulos: primera traducción conocida (MangaDex en cualquier idioma y MangaUpdates),
ordenadas y con los huecos estimados (≈); se ignoran las fechas de subidas masivas de las fuentes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Lector por páginas: animaciones Pasar hoja (la hoja se curva al levantarla, con sombra), deslizar y
fundido; hacia atrás la página anterior vuelve y se coloca encima.
- app.js, style.css y sw.js se sirven con ?v=<hash> para que ni el proxy ni el navegador den una copia vieja.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- M440 (m440.in, español): búsqueda, populares, actualizados paginados, ficha, capítulos, descargas y seguimiento. La lista de capítulos viene cifrada: la clave se saca de un script ofuscado del sitio ejecutándolo en un proceso aislado con permisos mínimos (m440-key.mjs) y se renueva sola.
- Servidor sin internet (connectivity.js): se detecta en segundos; las fuentes fallan al instante, la portada muestra lo descargado en el servidor con buscador, portadas locales de respaldo, descargas y comprobaciones en pausa y reanudación automática al volver la conexión.
- App sin conexión con el servidor: el service worker usa la copia guardada si el servidor no contesta en 3 s, las peticiones comprueban si el servidor sigue vivo en vez de quedarse colgadas, aviso arriba e inicio con lo guardado en el dispositivo; al volver, se reconecta sola y envía el progreso pendiente.
- Colas: sección «En este dispositivo» con el guardado en curso en directo y cancelación (sin dejar capítulos a medias); también visible sin servidor.
- Imágenes: el proxy y el guardado en el dispositivo reintentan con tiempo límite cuando el CDN de la fuente falla.
- Reescalado HD: las páginas que superan 16383 px al reescalar (tiras de webtoon) se reducen al límite de WebP en vez de hacer fallar el capítulo.
- Entidades HTML con nombre en las sinopsis; pestañas de fuentes cortas en móvil; portadas rotas con icono de respaldo.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Historial pasa a Librería: pestañas Leyendo, Siguiendo, Terminados, En el dispositivo y listas propias (Favoritos, Pendientes, Abandonados por defecto)
- Recomendaciones en el inicio según tus géneros más leídos (populares de MangaDex)
- Descarga anticipada de los N capítulos siguientes (opcionalmente en HD) al pasar la mitad de uno
- PWA: manifest, iconos y service worker; capítulos guardados en el dispositivo para leer sin conexión, progreso offline sincronizado después
- Seguridad: baneo de IP tras 6 intentos fallidos (configurable), IP real detrás de proxies de confianza, CSP y cabeceras, cookie Secure/HSTS en HTTPS, login sin diferencias de tiempo, registro cerrado por defecto, contraseñas de 8+, protección SSRF en el proxy de imágenes, errores 500 genéricos
- Ajustes: sección Seguridad con IPs bloqueadas, intentos recientes y la IP vista por el servidor
- LeerCapitulo: reintentos ante caídas (522/5xx), copia anterior si sigue caído y mensaje claro
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Portadas: se reescalan (×4/×2) solo las de mangas en historial o seguidos; caché en data/covers/.
- Colas (antes Descargas): cola de descargas y de reescalado HD con progreso, tiempo restante,
reintentar/detener, recortes y portadas pendientes; biblioteca descargada en tarjetas verticales.
- Refresco de Colas sin parpadeo: solo se actualiza lo que cambia.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Las descargas tienen modo 'all' (manga entero, también lo nuevo) o 'some' (solo
los capítulos pedidos, en download_wanted). El selector de capítulos se comparte
con el reescalado HD.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Reescalado HD con Real-ESRGAN (ncnn-vulkan, GPU por /dev/dri): cola persistente,
todo lo pendiente, un rango o capítulos elegidos en la lista, con estimación de tiempo.
La versión HD va a <carpeta>/.hd/ sin tocar el original; marca HD en la lista de
capítulos y casilla "Versión HD" en el lector.
- Imagen Debian slim (glibc + Mesa Vulkan + cwebp); compose con /dev/dri y RENDER_GID.
- Ficha: acciones principales + menú ⋯, panel "Biblioteca local" (copia local y HD),
idioma junto a la lista de capítulos.
- Lector: la barra de progreso avanza de derecha a izquierda en der → izq; botón rápido
páginas ⇄ vertical; en vertical "Ajustar alto" y "Separar páginas" para mangas.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Seguimiento de mangas (automático al empezar a leer o con "Seguir"):
comprobación cada CHECK_INTERVAL_HOURS, "N caps. nuevos" en el inicio,
marcas NUEVO en la ficha, autodescarga si hay copia local y avisos por
ntfy o Telegram configurables en Ajustes.
- Modo, ajuste y dirección del lector guardados por manga en el servidor,
con valores por defecto según el tipo (manhwa/manhua vertical, manga der→izq).
- Modo doble página (portada y páginas apaisadas solas; vuelve a una página
en pantallas estrechas o en vertical).
- Zoom: pellizco, doble toque en el centro, Ctrl+rueda y teclas + - 0.
- Opciones del lector en un panel desplegable.
- Página de estadísticas: rachas, capítulos/páginas por semana, calendario,
géneros favoritos y lo más leído (con migración de las lecturas previas).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Iconos en línea (estilo Lucide, sin dependencias) en el menú superior,
pestañas, ficha del manga, lector, historial, descargas y ajustes.
En móvil el menú muestra solo los iconos.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Pestaña "Categorías" (géneros/temáticas de LeerCapitulo, tags de MangaDex)
con búsqueda dentro de la categoría y "Cargar más".
- Los tags de la ficha llevan a su categoría.
- Barra de progreso de descarga con el capítulo y la página en curso.
- Eliminar la copia local (también a mitad de descarga) desde la ficha y
desde la página Descargas, mostrando el espacio ocupado.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Cola de descargas en segundo plano (se reanuda tras reinicios; repetirla
solo baja capítulos nuevos; se puede cancelar).
- <Título>/Capitulo NNNN.cbz con ComicInfo.xml + cover.jpg (Kavita/Komga/Mihon).
- Los capítulos descargados se leen desde disco; sin conexión la ficha usa
los datos guardados.
- Página "Descargas" y marcas ⬇ en la lista de capítulos.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Basado en las fuentes de Tanko (MangaDex y LeerCapitulo), con usuarios
con contraseña, progreso por página guardado en SQLite, lector por página
o vertical, filtros de imagen y proxy de imágenes con URLs firmadas.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>