Fuente M440, modo sin conexión (servidor sin internet y app sin servidor), cola del dispositivo en Colas y arreglo del reescalado de tiras altas
- 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>
This commit is contained in:
@@ -1,12 +1,17 @@
|
||||
# Manga Reader
|
||||
|
||||
Lector web de manga autoalojado, con las dos fuentes de
|
||||
[Tanko](https://github.com/Alexandro521/Tanko) (`src/servers/`):
|
||||
Lector web de manga autoalojado, con las fuentes de
|
||||
[Tanko](https://github.com/Alexandro521/Tanko) (`src/servers/`) más M440:
|
||||
|
||||
- **LeerCapitulo** (español, por defecto): mucho más catálogo. El scraper está reescrito para el
|
||||
sitio actual y ya no necesita navegador headless (las páginas vienen en el HTML).
|
||||
- **MangaDex** (multi-idioma): español = es-la + es combinados. Muchos títulos populares no tienen
|
||||
capítulos por licencias; la ficha ofrece buscarlos en LeerCapitulo.
|
||||
capítulos por licencias; la ficha ofrece buscarlos en LeerCapitulo o M440.
|
||||
- **M440** (m440.in, español): búsqueda (mínimo 3 letras), populares de su portada y actualizados
|
||||
(paginado); sin categorías, porque ese listado está detrás del desafío de Cloudflare. La lista de
|
||||
capítulos viene cifrada: la clave se saca de un script ofuscado del sitio ejecutándolo en un
|
||||
proceso aparte sin permisos de archivos ni procesos (`app/m440-key.mjs`) y se vuelve a obtener sola
|
||||
si el sitio la cambia.
|
||||
- Búsqueda, populares y actualizados recientemente.
|
||||
- Lector por página (toques/flechas, izq→der o der→izq) o en vertical, modo ahorro de datos.
|
||||
- Usuarios con contraseña; el **historial y la página exacta** se guardan en el servidor
|
||||
@@ -70,6 +75,24 @@ Sin `.env` arranca igual: puerto 3352 en todas las interfaces y descargas en `./
|
||||
El primer usuario puede registrarse siempre; después el registro queda cerrado salvo
|
||||
`ALLOW_SIGNUP=true` en `.env`.
|
||||
|
||||
## Sin internet en el servidor
|
||||
|
||||
Si el servidor pierde la conexión a internet (pero tú sigues llegando a él por la red local o
|
||||
Tailscale), la app pasa sola a **modo sin conexión**:
|
||||
|
||||
- Arriba aparece el aviso «El servidor no tiene internet». La portada muestra lo **descargado en el
|
||||
servidor** con un buscador, y «Continuar leyendo» solo enseña esos mangas.
|
||||
- Fichas y capítulos descargados funcionan como siempre, sin esperas. Lo que no está descargado
|
||||
avisa al momento en vez de quedarse cargando.
|
||||
- Las portadas salen de la copia local o de la caché HD.
|
||||
- Las descargas en cola se pausan (no cuentan como fallidas). La comprobación de capítulos nuevos y la
|
||||
descarga anticipada esperan.
|
||||
- El servidor vuelve a comprobar la conexión cada 20 s. Al volver internet, todo se reanuda solo y
|
||||
la portada vuelve a la normalidad.
|
||||
|
||||
Se detecta cuando una fuente falla por red y ninguno de MangaDex, LeerCapitulo, M440 ni 1.1.1.1
|
||||
responde (`app/connectivity.js`).
|
||||
|
||||
## Exponerlo a internet
|
||||
|
||||
- **Pon HTTPS delante** (Caddy, Nginx, Cloudflare Tunnel o `tailscale funnel`): sin HTTPS la contraseña
|
||||
|
||||
Reference in New Issue
Block a user