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.
