- 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>
36 lines
1.3 KiB
Bash
36 lines
1.3 KiB
Bash
# Copia a .env y ajusta. Todas son opcionales.
|
|
|
|
# Usuario/grupo dueño de ./data y de la carpeta de mangas en el host (salida de `id -u` / `id -g`).
|
|
PUID=1000
|
|
PGID=1000
|
|
|
|
# Dónde guardar los mangas descargados en el host (por defecto ./mangas dentro del proyecto).
|
|
MANGA_DIR_HOST=/zdata/media/mangas
|
|
|
|
# Interfaz y puerto publicados. 0.0.0.0 = todas.
|
|
BIND_IP=0.0.0.0
|
|
HOST_PORT=3352
|
|
|
|
# URL de la web que se usa en los enlaces de las notificaciones.
|
|
PUBLIC_URL=http://192.168.1.141:3352
|
|
|
|
# Registro de cuentas nuevas (con la base vacía, el primer usuario siempre puede registrarse).
|
|
ALLOW_SIGNUP=false
|
|
|
|
# Grupo "render" del host, para usar la GPU en el reescalado HD (getent group render | cut -d: -f3).
|
|
RENDER_GID=992
|
|
|
|
TZ=America/El_Salvador
|
|
CHECK_INTERVAL_HOURS=3
|
|
|
|
# --- Exponer a internet ---
|
|
# Baneo de IP: tras 6 intentos fallidos (contraseña o registro cerrado) en 60 min, 24 h bloqueada.
|
|
# La red local, loopback y Tailscale (100.64.0.0/10) nunca se bloquean. BAN_IGNORE: más IPs, separadas por comas.
|
|
BAN_MAX_FAILS=6
|
|
BAN_WINDOW_MIN=60
|
|
BAN_HOURS=24
|
|
# BAN_IGNORE=203.0.113.7
|
|
# Si hay un proxy inverso delante (recomendado, con HTTPS): cabecera con la IP real del cliente.
|
|
# Caddy/Nginx: x-forwarded-for · Cloudflare Tunnel: cf-connecting-ip. Sin proxy, déjalo vacío.
|
|
# REAL_IP_HEADER=x-forwarded-for
|