Registration — Registrierungsseite für Jellyfin-Nutzer

Besucher können auf einer öffentlichen Registrierungsseite ein Jellyfin-Konto anfragen – mit Bot-Schutz, Freigabe durch den Admin und minimalen Standardrechten.

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

Registration fügt deinem Jellyfin-Server eine öffentliche Registrierungsseite hinzu: Besucher fragen selbst ein Konto an, und du entscheidest, wer hereinkommt. Das Konto wird deaktiviert erstellt, auf dem Anmeldebildschirm verborgen und mit minimalen Rechten ausgestattet; du gibst es über das Jellyfin-Dashboard frei.

Was es macht

  • Öffentliche Seite unter https://<your server>/Registration/Page, auf Englisch und Rumänisch, für Smartphones gemacht: Benutzername (wird bei der Eingabe geprüft), Name, E-Mail, Telefonnummer im internationalen Format, Passwort mit Stärkeanzeige.
  • Modi: manuelle Freigabe (Standard), nur Einladungscode oder automatisch. Die E-Mail-Bestätigung lässt sich separat einschalten.
  • Freigabe unter Dashboard → Registration → Requests: offene und bearbeitete Anfragen, Suche, einzeln oder stapelweise annehmen oder ablehnen, CSV-Export.
  • Minimale Standardrechte: keine Administration, keine Downloads, kein Sync, kein Löschen; das Konto erscheint nicht auf dem Anmeldebildschirm. Bibliotheken: alle oder nur die von dir gewählten; optionale Grenzen für gleichzeitige Streams und Remote-Bitrate.
  • Einladungscodes: ein Einmal-Code, der sich nach der Verwendung selbst erneuert, und optional ein Familien-Code für Personen im selben Haushalt.
  • Ein Konto pro Person: Dasselbe Gerät, dieselbe Telefonnummer oder derselbe Browser im selben Netz werden von der jeweiligen Regel blockiert oder markiert.
  • Bot-Schutz: Proof-of-Work im Browser, optionales Cloudflare Turnstile, ein verstecktes Fallenfeld, signierte Einmal-Formulartokens, Ratenbegrenzungen pro IP und Netz, Wegwerf-E-Mail-Domains werden abgelehnt, und kein Zugriff aus Rechenzentren, kommerziellen VPNs oder Tor.
  • Benachrichtigungen im Jellyfin-Aktivitätsprotokoll, per E-Mail und über Telegram.
  • Link auf dem Anmeldebildschirm: ein Konto erstellen-Link und QR-Code auf dem Jellyfin-Anmeldebildschirm, solange die Registrierung offen ist.
  • Funktioniert mit Cashier, um bezahlte Abonnements für deinen Server zu verkaufen.

Voraussetzungen

  • Jellyfin Server 12.2 oder neuer.
  • Der Server muss für die Registrierenden über HTTPS erreichbar sein (direkt oder über einen Reverse Proxy).

Häufige Fragen

Wie kann ich Nutzern erlauben, ihr Jellyfin-Konto selbst zu erstellen? Installiere Registration, öffne Dashboard → Registration, wähl die Bibliotheken und den Modus, schalt dann Registration open ein und teil den Link zur Seite (oder den QR-Code aus Send access). Bei eingeschalteter Freigabe wartet jede Anfrage im Tab Requests auf dich. Siehe die Anleitung.

Können Bots Konten erstellen? Die Seite kombiniert Proof-of-Work, optionales Turnstile, Ratenbegrenzungen und Netzprüfungen; automatisierte Browser werden abgelehnt, und bei eingeschalteter Freigabe wird nichts ohne dich zu einem Konto.

Was es wohin sendet

  • Have I Been Pwned – Pwned Passwords (api.pwnedpasswords.com), standardmäßig an: Beim Absenden des Formulars werden nur die ersten 5 Zeichen des SHA-1-Hashs des Passworts gesendet (k-Anonymity, mit Padding); das Passwort und der vollständige Hash verlassen den Server nie. Kann abgeschaltet werden. Fällt der Dienst aus, läuft die Registrierung weiter.
  • Cloudflare Turnstile (challenges.cloudflare.com) — optional, standardmäßig aus (nur wenn du eigene Schlüssel einträgst): Der Browser des Besuchers lädt das Turnstile-Widget; der Server prüft die Antwort, indem er den Secret-Key, das Token und die IP-Adresse des Besuchers sendet.
  • E-Mail über deinen SMTP-Server (nichts, bis du SMTP konfigurierst; standardmäßig STARTTLS): an den Antragsteller — Bestätigung, Entscheidung (angenommen/abgelehnt), die vom Admin verfasste Zugangsnachricht (kann ein generiertes Passwort enthalten); an den Admin — Benachrichtigungen (standardmäßig aus). Die Plugins Cashier und Security Notifications können über diesen SMTP E-Mails senden.
  • Telegram (api.telegram.org) — optional, standardmäßig aus: Admin-Benachrichtigungen mit den Anfragedaten (Vor-/Nachname, Benutzername, E-Mail, Telefon, IP, Cloudflare-Land). Derselbe Inhalt geht bei Aktivierung an die Admin-E-Mail.
  • Keine Online-Geo-/ASN-Abfragen: Das Land kommt aus dem CF-IPCountry-Header (wenn der Server hinter Cloudflare steht); der Netztyp (Rechenzentrum/Tor) kommt aus einer lokalen ASN-Datenbank (z. B. der, die Access Log herunterlädt), ohne Netzwerkanfrage.
  • Die öffentliche Registrierungsseite lädt nur die eigenen Dateien des Plugins (plus Turnstile, falls aktiviert); QR-Codes werden auf dem Server erzeugt. Die WhatsApp-/Telegram-Teilen-Schaltflächen auf der Admin-Seite sind einfache Links, die der Admin öffnet.
  • Dazu der Lizenzierungs-Client, derselbe in jedem Plugin: siehe Lizenzierung und Datenschutz in unseren Plugins.

Lokal gespeichert:

  • data/registrations.json (Modus 600): pro Anfrage — Benutzername, Vor-/Nachname, E-Mail, Telefon, Einladungscode, IP, Cloudflare-Land, User-Agent, Sprache, Zeitpunkt der Einwilligung, Hash des E-Mail-Tokens (nicht das Token), Subnetz, gehashte Geräte-ID, Browser-Fingerprint, ISP (ASN), Markierungen; dazu Einladungs-/Zugangscodes, Sperren und Tagesstatistik.
  • Passwörter werden nicht vom Plugin gespeichert: Das Jellyfin-Konto wird bei der Anfrage (deaktiviert) erstellt, das Passwort verarbeitet der Server; die Freigabe aktiviert es nur.
  • Plugin-Konfiguration: SMTP-Passwort, Telegram-Token, Turnstile-Secret, HMAC-Schlüssel des Formulars.
  • Im Browser des Besuchers: eine signierte Geräte-ID (Cookie + localStorage).
  • Aufbewahrung: abgelehnte/abgelaufene/gelöschte Anfragen werden nach 30 Tagen entfernt; offene Anfragen laufen nach 7 Tagen ab (das deaktivierte Konto wird gelöscht); wird ein Nutzer gelöscht, werden seine personenbezogenen Daten im Plugin sofort entfernt; angenommene Anfragen bleiben, solange das Konto existiert. Beim Deinstallieren werden Daten nicht gelöscht, es sei denn, du hakst diese Option an.

Client-Kompatibilität

  • Neues Konto, Freigabe, Regeln und der Cashier-Link liegen serverseitig: 🟢 Das erstellte Konto funktioniert in jeder App.
  • Öffentliche Registrierungsseite: jeder Browser — ✅ Desktop und Smartphone (automatisierte Tests in Chrome).
  • Link + QR im Anmeldebildschirm-Text (Branding → Login disclaimer, keine Dateien geändert): Jellyfin Web ✅; offizielle Apps, die diesen Text anzeigen: ❔ nicht getestet.
  • TVs: Nutzt Jellyfins natives Quick Connect: Der TV-Code wird im Formular eingegeben und der TV meldet sich an, sobald das Konto aktiv ist (✅ auf API-Ebene; ❔ nicht getestet auf echtem Android TV, Swiftfin, Findroid, Kodi, Infuse, Streamyfin).

Legende: ✅ verifiziert (End-to-End- oder On-Device-Test) · 🟢 serverseitig, funktioniert mit jedem Client (by design, kein client-spezifischer Test) · ➖ nicht zutreffend · ❔ nicht getestet.

Lizenzierung

Das Plugin ist Open Source (GPL-3.0). Die fertigen Builds sind – wie der Quellcode – öffentlich. Gekauft wird das Abonnement: die Lizenz, das Plugin auf einem Jellyfin-Server zu nutzen, die Updates deines Tarifs und Support: jedes Update, solange das Abonnement aktiv ist, über dein privates Plugin-Repository, und Hilfe, wenn etwas nicht funktioniert. Das Plugin prüft den Abonnementschlüssel einmal am Tag; ohne gültiges Abonnement stoppt es, bis du erneuerst (es wird nichts gelöscht). Monatlich, jährlich oder Lifetime (Lifetime enthält ein Jahr Updates) oder enthalten im Jellyfin-Paket. 30 Tage kostenlos testen.

Quellcode. Zu jeder Version ist der vollständige zugehörige Quellcode öffentlich, neben dem Build, im Changelog und auch in deinem Konto (Account → Licenses, Source code); jedes Archiv enthält den vollständigen GPL-3.0-Text (LICENSE). Wenn du den Quellcode einer Version brauchst, die du nicht mehr herunterladen kannst, schreib uns und wir schicken ihn dir. Siehe Abschnitt 10 der EULA.

Funktioniert am besten mit medialab Server

Dieses Plugin funktioniert mit dem offiziellen Jellyfin 12.2 oder neuer. Auf medialab Server, unserem auf Jellyfin basierenden Server mit denselben Daten, Bibliotheken, Nutzern und Apps, funktioniert es besser:

  • Verified – medialab. Der Server prüft die Signatur unserer Plugins und zeigt dir, dass die Dateien genau die sind, die wir veröffentlicht haben. Ein nach der Veröffentlichung verändertes Plugin wird markiert.
  • In die Oberfläche integriert. Plugins können Schaltflächen und Links zum Menü deiner Nutzer hinzufügen (zum Beispiel „TV“, „Share“), ohne manuelle Web-Konfiguration.
  • Standardmäßig Vorrang. medialab-Plugins stehen dort an erster Stelle, wo es darauf ankommt: Live-TV-Tuner, Programmführer-Quellen und Untertitelanbieter. Die Reihenfolge bestimmst weiterhin du: Du kannst sie jederzeit ändern.
  • Der Katalog von medialab.works ist enthalten, die Installation erfolgt ohne zusätzliche Bestätigungen.
  • Updates über die Weboberfläche, ohne Terminal (mit Self-Update by MediaLab): prüfen, aktualisieren und zurücksetzen über das Dashboard; startet eine neue Version nicht, kehrt der Server von selbst zur vorherigen zurück, deine Daten bleiben unversehrt.
  • Dasselbe Jellyfin, immer aktuell. medialab Server folgt jede Woche den stabilen Versionen von Jellyfin 12.x; eine neue Version wird erst veröffentlicht, wenn sie alle Tests bestanden hat, einschließlich der Tests unserer Plugins.

Die Jellyfin-Apps (Android, iOS, TV, Web) verbinden sich genauso wie mit dem offiziellen Jellyfin.

Zur Installation startest du das Container-Image (Anleitung) oder, unter Debian 12, die apt-Pakete, die jellyfin-server und jellyfin-web ersetzen und deine Daten an Ort und Stelle lassen (Anleitung).

medialab Server ist freie Software (GPL-2.0) auf Basis von Jellyfin. Der Quellcode ist öffentlich: medialab-server und medialab-server-web.

Voraussetzungen

  • Jellyfin Server 12.2 oder neuer (Linux, Windows oder Docker)
  • Der Server über HTTPS für die Personen erreichbar, die sich registrieren
  • Open Source (GPL-3.0): Der Quellcode jeder Version liegt in deinem Konto

Neueste Version

1.0.6
veröffentlicht am 20.10.2026
Alle Änderungen ansehen →

Der Build ist öffentlich; für die Nutzung des Plugins brauchst du eine Lizenz oder den kostenlosen 30-tägigen Testzeitraum.