Access 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).

Aus deinem Plugin-Repository (empfohlen). Jellyfin installiert und aktualisiert das Plugin dann von selbst.

  1. Öffne in deinem MediaLab-Works-Konto Lizenzen → Jellyfin-Plugin-Repository und klicke auf Adresse erstellen. Kopiere sie: Sie ist privat (sie enthält einen Token), also teile sie nicht; du kannst sie jederzeit neu erzeugen oder widerrufen.
  2. Öffne in Jellyfin Dashboard → Plugins → Repositories, klicke auf +, gib einen Namen ein (zum Beispiel MediaLab Works), füge die Adresse ein und speichere.
  3. Suche in Dashboard → Plugins → Catalog nach Access Links by MediaLab, klicke 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 frische Liste liest.

Aus dem ö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 auf dieselbe Weise hinzufügen, um ein Plugin zu installieren, bevor du einen Schlüssel hast: Das Plugin fragt dann auf seiner Lizenz-Seite 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 Konto → Lizenzen jf-accesslinks_x.y.z.zip herunter (die SHA-256 der Datei steht neben dem Button).
  2. Entpacke sie in einen neuen Ordner Access Links by MediaLab_x.y.z.0 im Jellyfin-Plugin-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 → Access Links by MediaLab und klicke auf License.
  2. Füge deinen Lizenzschlüssel ein und klicke 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-Adresse ein und starte den kostenlosen 30-tägigen Testzeitraum (Karte erforderlich, heute nichts zu zahlen) oder kauf eine Lizenz; das Plugin aktiviert sich, sobald die Zahlung durch ist.

Die Lizenz wird einmal am Tag und bei jedem Jellyfin-Start geprüft. Ohne Internet läuft das Plugin nach der letzten erfolgreichen Prüfung noch 7 Tage weiter. Ohne gültige Lizenz stoppt das Plugin seine Arbeit; nur seine License-Seite funktioniert weiter (Test, Schlüssel, Verlängerung). 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 Lizenz-Seite des Plugins: Mit gültiger Lizenz installiert Install update die neueste Version, die deine Lizenz erlaubt, und mit Roll back to x.y.z kehrst du zur vorherigen Version zurück (zum Beispiel, wenn nach einem Update etwas nicht mehr funktioniert). Starte Jellyfin danach jeweils neu. Beide Pakete werden gegen die Prüfsumme geprüft, die der Lizenzserver veröffentlicht.
  • Eine Lifetime-Lizenz erhält die Versionen, die während ihres Update-Zeitraums veröffentlicht wurden; danach läuft das Plugin mit der letzten Version weiter, die es nutzen darf.
  • Nach einem Rollback installiert Jellyfins geplante Aufgabe Update Plugins (beim Start und täglich) die neueste Version wieder, wenn dein Plugin-Repository in Jellyfin hinzugefügt ist. Um eine Weile auf der vorherigen Version zu bleiben, entferne die Auslöser dieser Aufgabe unter Dashboard → Scheduled Tasks und füge sie später wieder hinzu.

Quellcode

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

Konfiguration

Öffne Access Links im Jellyfin-Dashboard-Menü (oder Dashboard → Plugins → Access Links by MediaLab).

  1. HTTPS: Access Links funktioniert nur mit HTTPS-Adressen. Wenn die Seite sagt, dass HTTPS nicht aktiviert ist, richte HTTPS und ein Zertifikat in Jellyfins Netzwerkeinstellungen ein; bis dahin öffnen sich die https://-Links nicht.
  2. Lokale Adresse: Lass sie leer, um die Netzwerk-IP des Servers, seinen lokalen HTTPS-Port und seine Basis-URL automatisch zu nutzen, gib einen Namen aus deinem Netz ein (zum Beispiel media.lan; der HTTPS-Port wird ergänzt) oder eine vollständige https://…-Adresse. Tipp: Wenn dein Zertifikat für einen Namen ausgestellt ist, nutze diesen Namen, der in deinem Netz zum Server auflöst; eine bloße IP-Adresse lässt Browser normalerweise warnen.
  3. Externe Adresse: Gib sie genau so ein, wie du sie außerhalb deines Zuhauses im Browser eingeben würdest, mit dem externen Port, zum Beispiel https://example.com:2096. Der externe Port kann vom lokalen abweichen. Wenn in Jellyfins Published server URIs eine https://-Adresse gesetzt ist, schlägt die Seite sie mit einem Button vor. Alles, was hinter der Adresse aus der Browserleiste eingefügt wird (wie /web/#/home), wird für dich entfernt.
  4. Klicke auf Save.

Im Alltag

  • Die Seite listet jeden Link in Gruppen: Jellyfin (Web-App, Anmeldeseite, Jellyfins eigene Quick-Connect-Code-Seite, Admin-Dashboard, Serveradresse für Apps) und eine Gruppe für jedes auf dem Server installierte und aktive MediaLab-Plugin (Quick Connect, Registration, Cashier, Share Links, Headend). Jeder Link zeigt, für wen er gedacht ist, und seine lokale und externe Adresse.
  • Für jede Adresse: Open, Copy oder QR. Zeig den QR-Code auf dem Bildschirm, damit ein Handy ihn scannen kann, zum Beispiel die Quick-Connect-Handyseite oder das Registrierungsformular.
  • Check all links liest die Zertifikate, prüft, ob die externe Adresse wirklich diesen Server erreicht, und testet jede Seite. Warnungen sagen genau, was falsch ist: HTTPS aus, Zertifikat abgelaufen oder läuft innerhalb von 14 Tagen ab, Zertifikat deckt die Adresse nicht ab, oder eine externe Adresse, die einen anderen Server erreicht.
  • Andere Emby-/Jellyfin-Server: Füge den Namen, den Typ und die https://-Adresse eines anderen Servers hinzu (bis zu 50). Seine Links werden für dich gebaut; Check zeigt seinen Namen, seine Version, ihren tatsächlichen Typ und welche Plugin-Seiten es darauf gibt (eine fehlende Seite bedeutet normalerweise, dass das Plugin dort nicht installiert ist).

Was es wohin sendet

  • Prüfungen laufen nur, wenn du auf Check all links oder Check klickst: Der Server verbindet sich mit den eingegebenen Adressen, um ihr Zertifikat, ihre öffentlichen Serverinformationen und zu lesen, ob jede Seite antwortet. Es wird nichts Geheimes gesendet.
  • QR-Codes werden auf deinem Server erzeugt; keine Adresse geht an einen externen Dienst.
  • An medialab.works geht nichts außer der Lizenzprüfung.

Fehlerbehebung

  • „HTTPS is not enabled on this server“: Aktiviere HTTPS mit einem Zertifikat in Jellyfins Netzwerkeinstellungen und starte Jellyfin neu.
  • „The certificate does not cover the local address“: Die lokale Adresse ist eine IP-Adresse oder ein Name, der nicht im Zertifikat steht. Nutze einen Namen, den das Zertifikat abdeckt, der in deinem Netz zum Server auflöst.
  • „The external address does not answer from the server“: Viele Router können ihre eigene externe Adresse von innen nicht erreichen („Hairpin-NAT“). Öffne den externen Link von einem Handy über mobile Daten, um ihn zu prüfen.
  • „The external address reaches ANOTHER server“: Die Portweiterleitung oder der Reverse Proxy schickt diese Adresse an einen anderen Jellyfin- oder Emby-Server; korrigiere die Weiterleitung oder die externe Adresse.