Share Links pour Jellyfin — guide
Installation
Vous avez besoin de Jellyfin Server 12.2 ou plus récent et d’un compte MediaLab Works avec une licence qui couvre le plugin (un abonnement actif, une licence à vie dans sa période de mises à jour, le pack Jellyfin ou l’essai gratuit de 30 jours).
Depuis votre dépôt de plugins (recommandé). Jellyfin installe et met alors à jour le plugin tout seul.
- Dans votre compte MediaLab Works, ouvrez Licences → Dépôt de plugins Jellyfin et cliquez sur Créer l’URL du dépôt. Copiez-la : elle est privée (elle contient un jeton), ne la partagez pas ; vous pouvez la régénérer ou la révoquer à tout moment.
- Dans Jellyfin, ouvrez Tableau de bord → Plugins → Dépôts, cliquez sur +, donnez-lui un nom (par exemple MediaLab Works), collez l’adresse et enregistrez.
- Dans Tableau de bord → Plugins → Catalogue, trouvez Share Links by MediaLab, cliquez sur Installer, puis redémarrez Jellyfin.
Le dépôt ne liste que les plugins couverts par vos licences, et uniquement dans les versions qu’elles autorisent. Ses liens de téléchargement sont signés et expirent après quelques heures : Jellyfin lit donc toujours une liste à jour.
Depuis le catalogue public. https://medialab.works/jellyfin/manifest.json liste chaque plugin MediaLab Works publié avec sa version publique ; medialab Server l’ajoute lui-même. Vous pouvez l’ajouter de la même façon pour installer un plugin avant d’avoir une clé : le plugin demande alors la licence, ou démarre l’essai, sur sa page License. Avec une licence à vie dont la période de mises à jour est terminée, restez sur votre dépôt privé, qui ne propose que les versions autorisées par votre licence.
Manuellement, depuis un fichier zip.
- Dans Compte → Licences, téléchargez
jf-sharelinks_x.y.z.zip(le SHA-256 du fichier est affiché à côté du bouton). - Extrayez-le dans un nouveau dossier
Share Links by MediaLab_x.y.z.0à l’intérieur du dossier de plugins Jellyfin :- Linux (paquet) :
/var/lib/jellyfin/plugins/ - Docker (image officielle) :
/config/plugins/dans le volume de configuration - Windows :
%ProgramData%\Jellyfin\Server\plugins\
- Linux (paquet) :
- Redémarrez Jellyfin.
Activation de la licence
- Ouvrez la page du plugin dans Tableau de bord → Plugins → Share Links by MediaLab et cliquez sur License.
- Collez votre clé de licence et cliquez sur Activate with key. Le plugin contacte le serveur de licences, lie la clé à ce serveur Jellyfin et affiche la licence comme Active.
- Pas encore de clé ? Sur la même page, saisissez votre e-mail et démarrez l’essai gratuit de 30 jours (carte requise, rien à payer aujourd’hui) ou achetez une licence ; le plugin s’active tout seul une fois le paiement effectué.
La licence est vérifiée une fois par jour et à chaque démarrage de Jellyfin. Sans internet, le plugin continue à fonctionner 7 jours après la dernière vérification réussie. Sans licence valide, le plugin cesse son travail et seule sa page License reste fonctionnelle (essai, clé, renouvellement) ; les liens ne s’ouvrent plus, mais rien n’est supprimé, et tout reprend dès que la licence redevient valide. Move license (release this server) sur la même page libère la clé pour un autre serveur.
Mises à jour et retour en arrière
- Depuis le dépôt : Jellyfin affiche les nouvelles versions dans Tableau de bord → Plugins et peut mettre à jour le plugin automatiquement ; redémarrez Jellyfin pour charger la nouvelle version.
- Depuis la page License du plugin : avec une licence valide, Install update installe la version la plus récente autorisée par votre licence et Roll back to x.y.z revient à la version précédente (par exemple si quelque chose a cessé de fonctionner après une mise à jour). Redémarrez Jellyfin après l’une ou l’autre. Les deux paquets sont vérifiés par rapport à la somme de contrôle publiée par le serveur de licences.
- Une licence à vie reçoit les versions publiées pendant sa période de mises à jour ; après celle-ci, le plugin continue à fonctionner avec la dernière version qu’il est autorisé à utiliser.
- Après un retour en arrière, si votre dépôt de plugins est ajouté dans Jellyfin, la tâche planifiée Update Plugins de Jellyfin (au démarrage et chaque jour) réinstalle la version la plus récente. Pour rester sur la version précédente un moment, retirez les déclencheurs de cette tâche dans Tableau de bord → Tâches planifiées et rajoutez-les plus tard.
Code source
Le code source GPL-3.0 de chaque version se trouve dans Compte → Licences (Code source), à côté du téléchargement, sous forme d’archive .tar.gz créée à partir du commit exact de cette version.
Avant de partager
Ouvrez Share Links dans le menu du tableau de bord Jellyfin et allez dans Settings :
- Public server address : l’adresse utilisée dans les liens (par exemple
https://media.example.com). Laissez-la vide pour utiliser l’adresse par laquelle vous utilisez Jellyfin en ce moment. Les invités hors de votre réseau domestique ont besoin d’une adresse joignable pour eux. - Default validity (48 heures) et maximum validity (168 heures = 7 jours), default simultaneous viewers (1), guest maximum quality (8 Mbit/s ; 0 = la limite propre du serveur) et combien de jours les liens expirés restent dans la liste (30).
- Links work : désactivé, les liens existants ne s’ouvrent plus (ils ne sont pas supprimés).
Créer un lien
- Dans l’onglet Share, cherchez et choisissez ce qu’il faut partager : un film, un épisode, une saison ou toute une série.
- Réglez les limites :
- expiry : quand le lien cesse de fonctionner ;
- maximum opens : combien de fois il peut être ouvert ;
- maximum simultaneous viewers ;
- un PIN facultatif de 4 à 8 chiffres, que l’invité doit saisir.
- Envoyez le lien : copiez-le (Copy), ou envoyez-le par WhatsApp, Telegram ou e-mail ; un code QR est aussi affiché. Le lien complet n’est affiché qu’une seule fois (le serveur n’en garde qu’une empreinte) ; si vous le perdez, créez-en un nouveau.
Ce que fait l’invité
- Dans un navigateur, l’invité ouvre le lien. Sur un téléviseur ou un autre appareil, il ouvre la short address (
/ShareLinks/ssur votre serveur) et saisit le code à 8 caractères, ou scanne le code QR avec un téléphone. - Le titre se lit dans le lecteur propre du plugin, où l’invité peut choisir la piste audio et les sous-titres ; une saison ou une série affiche ses épisodes. Rien ne peut être téléchargé, et le débit est plafonné.
- L’invité ne reçoit jamais de mot de passe ni de jeton pour votre serveur : un utilisateur Jellyfin temporaire et caché, créé pour le lien, garde son jeton sur le serveur, et tout passe par un proxy limité aux titres du lien.
Gestion des liens
- L’onglet Links liste les liens avec leur état ; révoquer un lien déconnecte immédiatement ses spectateurs et supprime l’utilisateur temporaire. Les liens expirés sont nettoyés de la même façon.
- L’onglet Log affiche les ouvertures, refus et révocations.
- 10 codes ou PIN incorrects depuis une même adresse IP en 10 minutes la bloquent pendant 15 minutes ; 10 PIN incorrects pour un même lien, depuis n’importe quelle adresse, bloquent le PIN de ce lien pendant 15 minutes.
Partage par les utilisateurs standard
En option (Users can create links too), les utilisateurs standard peuvent créer des liens vers les titres qu’ils peuvent eux-mêmes voir, pour un spectateur, dans un quota par 30 jours : un quota par défaut (2 liens), ou un par formule Cashier, et une validité maximale qui leur est propre (48 heures par défaut). Chaque utilisateur crée, voit et révoque ses liens sur la page My links (/ShareLinks/My sur votre adresse Jellyfin). Sur medialab Server, à partir de la version 0.1.1, le client web affiche aussi un bouton Share sur la page du titre et My links dans le menu.
Ce qu’il envoie et où
- Le navigateur de l’invité ne parle qu’à votre serveur ; le lecteur et hls.js sont servis par le plugin.
- WhatsApp, Telegram et l’e-mail ne sont ouverts qu’avec le texte préparé ; le plugin n’envoie rien lui-même.
- Rien ne va vers medialab.works, hormis la vérification de licence.
Dépannage
- Le lien ne s’ouvre pas depuis l’extérieur de votre réseau : réglez Public server address dans Settings sur une adresse joignable pour les invités, puis créez le lien à nouveau.
- « Too many attempts » : attendez 15 minutes ; le blocage s’applique à l’adresse (ou au PIN du lien) qui a eu les tentatives incorrectes.
- Pas de bouton Share dans le client web Jellyfin : le bouton et l’entrée de menu n’apparaissent que sur medialab Server ; sur Jellyfin officiel, utilisez la page du plugin ou
/ShareLinks/My.