Share Links für Jellyfin

Für Jellyfin: ablaufende Links zu einem Film, einer Episode, einer Staffel oder einer Serie für Leute ohne Konto, im Browser oder am TV; der Zugriff bleibt auf dem Server.

Sharing a film with someone who has no account: how long the link works, how many people can watch at once, how many opens, an optional PIN and a note1 von 8

Manchmal willst du jemandem einen Film oder eine Serie zeigen, der kein Konto auf deinem Server hat. Share Links von MediaLab erstellt einen Link, der abläuft und den Gast in einem Browser, am Smartphone oder am TV öffnet – ohne je ein Kontopasswort oder ein Token für deinen Jellyfin-Server zu bekommen.

Was es macht

  • Links mit Grenzen: ein Ablaufdatum (standardmäßig 48 Stunden, bis zu 7 Tage, wenn du nicht mehr erlaubst), eine maximale Öffnungszahl, eine maximale Zahl gleichzeitiger Zuschauer und eine optionale PIN mit 4 bis 8 Ziffern.
  • Öffnet überall: in jedem Browser, am Smartphone oder am TV, mit Kurzadresse und 8-stelligem Code (XXXX-XXXX) oder mit QR-Code. Die Wiedergabe läuft im eigenen Player, mit Wahl von Tonspur und Untertiteln.
  • Der Gast sieht nie ein Token: Das Plugin hält den Zugriff des Gastes auf dem Server und leitet alles durch einen Proxy, der auf die Titel des Links beschränkt ist. Macht man den Link ungültig, werden die Zuschauer sofort abgemeldet.
  • Sicherheit: Tokens, Codes und PINs werden nur als Hash gespeichert; wiederholte falsche Versuche werden pro IP-Adresse und pro Link gesperrt; die Bitrate ist begrenzt (standardmäßig 8 Mbit/s); nichts kann heruntergeladen werden.
  • Teilen durch reguläre Nutzer (optional, nur Titel, die sie selbst sehen können), mit einem Kontingent pro 30 Tage (einem Standardkontingent oder einem pro Cashier-Tarif) und einer Seite My links.
  • Versand: Kopier den Link oder schick ihn per WhatsApp, Telegram oder E-Mail; die Plugin-Seite führt ein Aktivitätsprotokoll der Links.

Wie der Gast an der Leine bleibt

Wenn ein Link zum ersten Mal geöffnet wird, erstellt das Plugin einen verborgenen, temporären Jellyfin-Nutzer für diesen Link: Er sieht nur die Bibliotheken der geteilten Titel, kann nichts herunterladen, hat kein Live-TV, keine Fernsteuerung und kein SyncPlay und darf nur so viele Sitzungen haben, wie der Link Zuschauer erlaubt. Sein Token verlässt den Server nie: Der Browser des Gastes hält nur ein Session-Cookie des Plugins, und der Proxy liefert nur die Titel des Links (eine Staffel oder Serie enthält ihre Episoden). Läuft der Link ab oder wird er ungültig gemacht, werden die Zuschauer abgemeldet und der temporäre Nutzer gelöscht.

Was es wohin sendet

Nichts geht an externe Dienste: Der Browser des Gastes spricht nur mit deinem Server, und der Player (hls.js) wird vom Plugin selbst ausgeliefert. Nur die Lizenzprüfung erreicht medialab.works. Die Versand-Schaltflächen öffnen nur WhatsApp, Telegram oder deine E-Mail-App mit vorbereitetem Text; das Plugin selbst sendet nichts.

  • Was der Gast sieht: Titel und Ablauf des Links, der Name der Person, die ihn geteilt hat, und für die geteilten Titel deren Name, Serie, Staffel und Episode, Jahr, Übersicht, Laufzeit und Bilder.
  • Was auf deinem Server bleibt: Tokens, Codes und PINs nur als Hash; für Gastsitzungen und das Aktivitätsprotokoll des Links die IP-Adresse des Gastes, die der Proxy auch an Jellyfin weitergibt (sie erscheint in den Logs und Sitzungen des Servers). Abgelaufene Links und ihre Ereignisse werden nach 30 Tagen gelöscht (konfigurierbar).

Vollständige Details zu jedem Produkt, einschließlich dessen, was auf deinem Server bleibt: Lizenzierung, Datenschutz und Kompatibilität.

Client-Kompatibilität

  • Gäste öffnen den Link in einem modernen Browser: am Computer, am Smartphone oder im Browser eines Smart-TV (mit Kurzadresse und 8-stelligem Code). Getestet in Chrome am Computer, am Smartphone und auf einem 1080p-TV-Bildschirm; Safari am iPhone, Firefox und echte TV-Browser wurden noch nicht getestet.
  • Du erstellst Links auf der Plugin-Seite im Jellyfin-Dashboard; deine Nutzer auf ihrer Seite My links (/ShareLinks/My an deiner Jellyfin-Adresse).
  • Auf dem medialab Server (unserer Jellyfin-Variante) zeigt der Webclient ab Version 0.1.1 außerdem eine Schaltfläche Share auf der Titelseite und My links im Menü, für diejenigen, die teilen dürfen. Auf offiziellem Jellyfin erscheinen diese beiden Abkürzungen nicht; alles andere funktioniert gleich.
  • Die nativen Jellyfin-Apps haben keine Share-Schaltfläche.

Voraussetzungen

  • Jellyfin Server 12.2 oder neuer.
  • Für Gäste außerhalb deines Heimnetzes: eine Adresse deines Servers, die sie erreichen können.
  • Optional: Cashier, für Teile-Kontingente pro Tarif.

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.

Eigener Code, geschrieben von MediaLab Works. Fremdcode: Der Player nutzt hls.js 1.5.20, unverändert (Apache License 2.0); der QR-Code-Generator basiert auf der QR-Code-Generator-Bibliothek von Project Nayuki (MIT-Lizenz).

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)
  • Für Gäste außerhalb deines Netzes: eine Serveradresse, die sie erreichen können
  • Cashier by MediaLab optional: Freigabekontingente pro Tarif
  • Open Source (GPL-3.0): Der Quellcode jeder Version liegt in deinem Konto

Neueste Version

0.1.4
veröffentlicht am 20.10.2026
Alle Änderungen ansehen →