Share Links für Jellyfin — Anleitung

Installation

Du brauchst Jellyfin Server 12.2 oder neuer und ein MediaLab-Works-Konto mit einer Lizenz, die das Plugin abdeckt (ein aktives Abonnement, eine Lifetime-Lizenz innerhalb ihres Update-Zeitraums, das Jellyfin-Paket oder den kostenlosen 30-tägigen Testzeitraum).

Über dein Plugin-Repository (empfohlen). Jellyfin installiert und aktualisiert das Plugin dann von selbst.

  1. Öffne in deinem MediaLab-Works-Konto Licenses → Jellyfin plugin repository und klick auf Create address. Kopier es: Es ist privat (es enthält ein Token), also teil es nicht; du kannst es jederzeit neu erzeugen oder widerrufen.
  2. Öffne in Jellyfin Dashboard → Plugins → Repositories, klick auf +, gib einen Namen ein (zum Beispiel MediaLab Works), füg die Adresse ein und speicher.
  3. Find in Dashboard → Plugins → Catalog Share Links by MediaLab, klick auf Install und starte Jellyfin neu.

Das Repository listet nur die Plugins, die deine Lizenzen abdecken, und nur die erlaubten Versionen. Seine Download-Links sind signiert und laufen nach wenigen Stunden ab, sodass Jellyfin immer eine aktuelle Liste liest.

Über den öffentlichen Katalog. https://medialab.works/jellyfin/manifest.json listet jedes veröffentlichte MediaLab-Works-Plugin mit seinem öffentlichen Build; medialab Server fügt ihn von selbst hinzu. Du kannst ihn genauso hinzufügen, um ein Plugin zu installieren, bevor du einen Schlüssel hast: Das Plugin fragt dann auf seiner Lizenzseite nach der Lizenz oder startet den Testzeitraum. Bei einer Lifetime-Lizenz mit abgelaufenem Update-Zeitraum bleib bei deinem privaten Repository, das nur die Versionen anbietet, die deine Lizenz erlaubt.

Manuell aus einer Zip-Datei.

  1. Lade in Account → Licenses jf-sharelinks_x.y.z.zip herunter (der SHA-256 der Datei wird neben der Schaltfläche angezeigt).
  2. Entpack es in einen neuen Ordner Share Links by MediaLab_x.y.z.0 im Jellyfin-Plugins-Ordner:
    • Linux (Paket): /var/lib/jellyfin/plugins/
    • Docker (offizielles Image): /config/plugins/ im Config-Volume
    • Windows: %ProgramData%\Jellyfin\Server\plugins\
  3. Starte Jellyfin neu.

Lizenzaktivierung

  1. Öffne die Plugin-Seite unter Dashboard → Plugins → Share Links by MediaLab und klick auf License.
  2. Füg deinen Lizenzschlüssel ein und klick auf Activate with key. Das Plugin kontaktiert den Lizenzserver, bindet den Schlüssel an diesen Jellyfin-Server und zeigt die Lizenz als Active an.
  3. Noch kein Schlüssel? Gib auf derselben Seite deine E-Mail ein und starte den kostenlosen 30-tägigen Testzeitraum (Karte erforderlich, heute nichts zu zahlen) oder kauf eine Lizenz; das Plugin aktiviert sich, wenn die Zahlung fertig ist.

Die Lizenz wird einmal am Tag und bei jedem Jellyfin-Start geprüft. Ohne Internet arbeitet das Plugin noch 7 Tage nach der letzten erfolgreichen Prüfung weiter. Ohne gültige Lizenz stoppt das Plugin seine Arbeit, und nur seine License-Seite funktioniert weiter (Test, Schlüssel, Verlängerung); Links öffnen nicht mehr, aber es wird nichts gelöscht, und alles läuft weiter, sobald die Lizenz wieder gültig ist. Move license (release this server) auf derselben Seite gibt den Schlüssel für einen anderen Server frei.

Updates und Rollback

  • Aus dem Repository: Jellyfin zeigt neue Versionen unter Dashboard → Plugins an und kann das Plugin automatisch aktualisieren; starte Jellyfin neu, um die neue Version zu laden.
  • Über die License-Seite des Plugins: Mit gültiger Lizenz installiert Install update die neueste Version, die deine Lizenz erlaubt, und Roll back to x.y.z geht zur vorherigen Version zurück (zum Beispiel, wenn nach einem Update etwas nicht mehr funktioniert). Starte Jellyfin danach neu. Beide Pakete werden gegen die vom Lizenzserver veröffentlichte Prüfsumme geprüft.
  • Eine Lifetime-Lizenz erhält die Versionen, die während ihres Update-Zeitraums veröffentlicht wurden; danach arbeitet das Plugin mit der letzten erlaubten Version weiter.
  • Nach einem Rollback installiert Jellyfins geplante Aufgabe Update Plugins (beim Start und täglich) die neueste Version wieder, wenn dein Plugin-Repository in Jellyfin eingetragen ist. Um eine Weile auf der vorherigen Version zu bleiben, entfern die Auslöser dieser Aufgabe in Dashboard → Scheduled Tasks und füg sie später wieder hinzu.

Quellcode

Der GPL-3.0-Quellcode jeder Version liegt in Account → Licenses (Source code) neben dem Download als .tar.gz-Archiv, das aus dem exakten Commit dieser Version erstellt wurde.

Bevor du teilst

Öffne Share Links im Jellyfin-Dashboard-Menü und geh zu Settings:

  • Public server address: Die Adresse, die in den Links verwendet wird (zum Beispiel https://media.example.com). Lass sie leer, um die Adresse zu verwenden, über die du Jellyfin gerade nutzt. Gäste außerhalb deines Heimnetzes brauchen eine Adresse, die sie erreichen können.
  • Default validity (48 Stunden) und maximum validity (168 Stunden = 7 Tage), default simultaneous viewers (1), guest maximum quality (8 Mbit/s; 0 = das eigene Limit des Servers) und wie viele Tage abgelaufene Links in der Liste bleiben (30).
  • Links work: Wenn ausgeschaltet, öffnen vorhandene Links nicht mehr (sie werden nicht gelöscht).

Einen Link erstellen

  1. Suchen im Tab Share und wähl aus, was du teilen willst: einen Film, eine Episode, eine Staffel oder eine ganze Serie.
  2. Stell die Grenzen ein:
    • expiry: wann der Link aufhört zu funktionieren;
    • maximum opens: wie oft er geöffnet werden kann;
    • maximum simultaneous viewers;
    • eine optionale PIN mit 4 bis 8 Ziffern, die der Gast eingeben muss.
  3. Schick den Link ab: Kopier ihn oder send ihn per WhatsApp, Telegram oder E-Mail; ein QR-Code wird ebenfalls angezeigt. Der vollständige Link wird nur einmal angezeigt (der Server behält nur einen Fingerprint davon); wenn du ihn verlierst, erstelle einen neuen.

Was der Gast tut

  • In einem Browser öffnet der Gast den Link. Am TV oder einem anderen Gerät öffnet er die Kurzadresse (/ShareLinks/s auf deinem Server) und gibt den 8-stelligen Code ein, oder scannt den QR-Code mit einem Smartphone.
  • Der Titel läuft im eigenen Player des Plugins, wo der Gast Tonspur und Untertitel wählen kann; eine Staffel oder Serie zeigt ihre Episoden. Nichts kann heruntergeladen werden, und die Bitrate ist begrenzt.
  • Der Gast bekommt nie ein Passwort oder ein Token für deinen Server: Ein verborgener, temporärer Jellyfin-Nutzer, der für den Link angelegt wurde, hält sein Token auf dem Server, und alles läuft durch einen Proxy, der auf die Titel des Links beschränkt ist.

Links verwalten

  • Der Tab Links listet die Links mit ihrem Zustand; mit Revoke werden die Zuschauer eines Links sofort abgemeldet und der temporäre Nutzer gelöscht. Abgelaufene Links werden auf dieselbe Weise aufgeräumt.
  • Der Tab Log zeigt die Öffnungen, Ablehnungen und Ungültigmachungen.
  • 10 falsche Codes oder PINs von einer IP-Adresse innerhalb von 10 Minuten sperren sie für 15 Minuten; 10 falsche PINs für einen Link, von beliebiger Adresse, sperren die PIN dieses Links für 15 Minuten.

Teilen durch reguläre Nutzer

Optional (Users can create links too) können reguläre Nutzer Links zu Titeln erstellen, die sie selbst sehen können, für einen Zuschauer, innerhalb eines Kontingents pro 30 Tage: einem Standardkontingent (2 Links) oder einem pro Cashier-Tarif, sowie einer eigenen maximalen Gültigkeit (standardmäßig 48 Stunden). Jeder Nutzer erstellt, sieht und widerruft seine Links auf der Seite My links (/ShareLinks/My an deiner Jellyfin-Adresse). Auf dem medialab Server zeigt der Webclient ab Version 0.1.1 außerdem eine Schaltfläche Share auf der Titelseite und My links im Menü.

Was es wohin sendet

  • Der Browser des Gastes spricht nur mit deinem Server; der Player und hls.js werden vom Plugin ausgeliefert.
  • WhatsApp, Telegram und E-Mail werden nur mit dem vorbereiteten Text geöffnet; das Plugin selbst sendet nichts.
  • Nichts geht an medialab.works außer der Lizenzprüfung.

Fehlersuche

  • Der Link öffnet nicht von außerhalb deines Netzes: Stell in Settings die Public server address auf eine Adresse, die Gäste erreichen können, und erstelle den Link neu.
  • „Too many attempts": Warte 15 Minuten; die Sperre gilt für die Adresse (oder die PIN des Links), mit der die falschen Versuche gemacht wurden.
  • Keine Share-Schaltfläche im Jellyfin-Webclient: Die Schaltfläche und der Menüeintrag erscheinen nur auf dem medialab Server; auf offiziellem Jellyfin nutzt du die Plugin-Seite oder /ShareLinks/My.