Registration: página de registro de usuarios para Jellyfin

Permite solicitar una cuenta de Jellyfin en una página de registro pública, con protección contra bots, aprobación del administrador y derechos mínimos por defecto.

Public sign-up page for a Jellyfin server: username, name, email, phone, password and an optional profile PIN1 de 8

Registration añade una página de registro pública a tu servidor de Jellyfin: los visitantes solicitan una cuenta ellos mismos y tú decides quién entra. La cuenta se crea desactivada, oculta en la pantalla de inicio de sesión y con derechos mínimos; tú la apruebas desde el panel de Jellyfin.

Qué hace

  • Página pública en https://<your server>/Registration/Page, en inglés y rumano, pensada primero para teléfonos: nombre de usuario (comprobado mientras escribes), nombre, correo, número de teléfono en formato internacional, contraseña con medidor de fortaleza.
  • Modos: aprobación manual (predeterminado), solo código de invitación, o automático. La confirmación por correo se puede activar por separado.
  • Aprobación en Dashboard → Registration → Requests: solicitudes pendientes y procesadas, búsqueda, aprobación o rechazo una a una o en bloque, exportación a CSV.
  • Derechos mínimos por defecto: sin administración, descargas, sincronización ni borrado; la cuenta no aparece en la pantalla de inicio de sesión. Bibliotecas: todas, o solo las que elijas; límites opcionales de streams simultáneos y bitrate remoto.
  • Códigos de invitación: un código de un solo uso que se renueva tras usarse, y un código familiar opcional para las personas que viven en el mismo hogar.
  • Una cuenta por persona: el mismo dispositivo, número de teléfono o navegador y red se bloquean o marcan, regla por regla.
  • Anti-bot: prueba de trabajo en el navegador, Cloudflare Turnstile opcional, un campo trampa oculto, tokens de formulario firmados de un solo uso, límites de peticiones por IP y por red, dominios de correo desechables rechazados, y sin acceso desde datacenters, VPN comerciales o Tor.
  • Notificaciones en el registro de actividad de Jellyfin, por correo y en Telegram.
  • Enlace en la pantalla de inicio de sesión: un enlace Crear una cuenta y un código QR en la pantalla de inicio de sesión de Jellyfin mientras el registro está abierto.
  • Funciona con Cashier para vender suscripciones de pago a tu servidor.

Requisitos

  • Jellyfin Server 12.2 o superior.
  • El servidor accesible por HTTPS para las personas que se registran (directamente o a través de un proxy inverso).

Preguntas frecuentes

¿Cómo dejo crear una cuenta en Jellyfin a los usuarios? Instala Registration, abre Dashboard → Registration, elige las bibliotecas y el modo, y después activa Registration open y comparte el enlace de la página (o el código QR de Send access). Con la aprobación activada, cada solicitud te espera en la pestaña Requests. Consulta la guía.

¿Pueden los bots crear cuentas? La página combina prueba de trabajo, Turnstile opcional, límites de peticiones y comprobaciones de red; los navegadores automatizados se rechazan, y con la aprobación activada nada se convierte en cuenta sin ti.

Qué envía y adónde

  • Have I Been Pwned – Pwned Passwords (api.pwnedpasswords.com), activado por defecto: al enviar el formulario solo se envían los primeros 5 caracteres del hash SHA-1 de la contraseña (k-anonimato, con relleno); la contraseña y el hash completo nunca salen. Se puede desactivar. Si el servicio está caído, el registro continúa.
  • Cloudflare Turnstile (challenges.cloudflare.com) — opcional, desactivado por defecto (solo si escribes tus propias claves): el navegador del visitante carga el widget de Turnstile; el servidor verifica la respuesta enviando la clave secreta, el token y la dirección IP del visitante.
  • Correo a través de tu servidor SMTP (nada hasta que configures SMTP; STARTTLS por defecto): al solicitante — confirmación, decisión (aprobada/rechazada), el mensaje de acceso redactado por el administrador (puede contener una contraseña generada); al administrador — notificaciones (desactivadas por defecto). Los plugins Cashier y Security Notifications pueden enviar correo a través de este SMTP.
  • Telegram (api.telegram.org) — opcional, desactivado por defecto: notificaciones al administrador con los datos de la solicitud (nombre y apellidos, nombre de usuario, correo, teléfono, IP, país de Cloudflare). El mismo contenido va al correo del administrador si está activado.
  • Sin consultas geo/ASN en línea: el país procede de la cabecera CF-IPCountry (si el servidor está detrás de Cloudflare); el tipo de red (datacenter/Tor) procede de una base de datos ASN local (por ejemplo la que descarga Access Log), sin ninguna petición de red.
  • La página pública de registro carga solo los archivos propios del plugin (más Turnstile si está activado); los códigos QR se generan en el servidor. Los botones para compartir de WhatsApp/Telegram en la página de administración son enlaces simples que abre el administrador.
  • Además, el cliente de licencias, igual en todos los plugins: consulta Licencias y privacidad en nuestros plugins.

Guardado localmente:

  • data/registrations.json (modo 600): por solicitud — nombre de usuario, nombre y apellidos, correo, teléfono, código de invitación, IP, país de Cloudflare, User-Agent, idioma, hora de consentimiento, hash del token de correo (no el token), subred, id de dispositivo con hash, huella del navegador, ISP (ASN), marcas; además de códigos de invitación/acceso, bloqueos y estadísticas diarias.
  • El plugin no guarda las contraseñas: la cuenta de Jellyfin se crea (desactivada) en el momento de la solicitud, con la contraseña gestionada por el servidor; la aprobación solo la activa.
  • Configuración del plugin: contraseña SMTP, token de Telegram, secreto de Turnstile, clave HMAC del formulario.
  • En el navegador del visitante: un id de dispositivo firmado (cookie + localStorage).
  • Conservación: las solicitudes rechazadas/caducadas/borradas se purgan a los 30 días; las solicitudes pendientes caducan a los 7 días (la cuenta desactivada se borra); cuando se borra un usuario, sus datos personales en el plugin se eliminan de inmediato; las solicitudes aprobadas se conservan mientras existe la cuenta. Los datos no se borran al desinstalar, salvo que marques esa opción.

Compatibilidad con clientes

  • La cuenta nueva, la aprobación, las reglas y el enlace de Cashier se gestionan en el servidor: 🟢 la cuenta creada funciona en cualquier app.
  • Página pública de registro: cualquier navegador — ✅ escritorio y teléfono (pruebas automatizadas en Chrome).
  • Enlace + QR en el texto de la pantalla de inicio de sesión (Branding → Login disclaimer, no se modifica ningún archivo): Jellyfin Web ✅; apps oficiales que muestran este texto: ❔ no probadas.
  • TVs: usa el Quick Connect nativo de Jellyfin: el código de la TV se escribe en el formulario y la TV inicia sesión cuando la cuenta se activa (✅ a nivel de API; ❔ no probado en Android TV real, Swiftfin, Findroid, Kodi, Infuse, Streamyfin).

Leyenda: ✅ verificado (prueba de extremo a extremo o en el dispositivo) · 🟢 en el servidor, funciona con cualquier cliente (por diseño, sin prueba específica para cada cliente) · ➖ no aplicable · ❔ no probado.

Licencia

El plugin es de código abierto (GPL-3.0). Las compilaciones listas para instalar son públicas, igual que el código fuente. Lo que compras es la suscripción: la licencia para usar el plugin en un servidor de Jellyfin, las actualizaciones que incluye tu plan y el soporte: cada actualización mientras la suscripción esté activa, a través de tu repositorio privado de plugins, y ayuda cuando algo no funcione. El plugin comprueba la clave de suscripción una vez al día; sin una suscripción válida se detiene hasta que renueves (no se borra nada). Mensual, anual o de por vida (la de por vida incluye un año de actualizaciones), o incluido en el paquete para Jellyfin. 30 días de prueba gratis.

Código fuente. Para cada versión, el código fuente correspondiente completo es público, junto a la compilación, en el registro de cambios, y también en tu cuenta (Cuenta → Licencias, Código fuente); cada archivo comprimido contiene el texto completo de la GPL-3.0 (LICENSE). Si necesitas el código fuente de una versión que ya no puedes descargar, pídenoslo y te lo enviamos. Consulta la sección 10 del EULA.

Funciona mejor con medialab Server

Este plugin funciona en Jellyfin oficial 12.2 o posterior. En medialab Server, nuestro servidor basado en Jellyfin con los mismos datos, bibliotecas, usuarios y apps, funciona mejor:

  • Verified – medialab. El servidor comprueba la firma de nuestros plugins y te muestra que los archivos son exactamente los que publicamos. Si un plugin se modifica después de publicarse, se marca.
  • Integrado en la interfaz. Los plugins pueden añadir botones y enlaces al menú de tus usuarios (por ejemplo, "TV", "Share") sin configurar nada a mano en la web.
  • Prioridad de forma predeterminada. Los plugins de medialab aparecen primero donde importa: sintonizadores de TV en directo, fuentes de guía y proveedores de subtítulos. El orden lo decides tú: puedes cambiarlo en cualquier momento.
  • El catálogo de medialab.works incluido, con instalación sin confirmaciones adicionales.
  • Actualizaciones desde la interfaz web, sin terminal (con Self-Update de MediaLab): comprueba, actualiza y vuelve a la versión anterior desde el panel de control; si una versión nueva no arranca, el servidor vuelve por sí solo a la anterior con tus datos intactos.
  • El mismo Jellyfin, al día. medialab Server sigue cada semana las versiones estables de Jellyfin 12.x; una versión nueva solo se publica después de superar todas las pruebas, incluidas las de nuestros plugins.

Las apps de Jellyfin (Android, iOS, TV, web) se conectan exactamente igual que a Jellyfin oficial.

Para instalarlo, ejecuta la imagen del contenedor (guía) o, en Debian 12, los paquetes apt, que sustituyen a jellyfin-server y jellyfin-web y conservan tus datos donde están (guía).

medialab Server es software libre (GPL-2.0), basado en Jellyfin. El código fuente es público: medialab-server y medialab-server-web.

Requisitos

  • Jellyfin Server 12.2 o posterior (Linux, Windows o Docker)
  • El servidor accesible por HTTPS para las personas que se registran
  • Código abierto (GPL-3.0): el código fuente de cada versión está en tu cuenta

Última versión

1.0.6
publicada el 20 oct 2026
Ver todos los cambios →

La compilación es pública; para usar el plugin necesitas una licencia o la prueba gratuita de 30 días.