Access Log pour Jellyfin — guide d’installation

Installation

Il vous faut Jellyfin Server 12.2 ou plus récent et 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 alors le plugin et ses mises à jour tout seul.

  1. 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 donc pas ; vous pouvez la régénérer ou la révoquer à tout moment.
  2. Dans Jellyfin, ouvrez Dashboard → Plugins → Repositories, cliquez sur +, donnez un nom au dépôt (par exemple MediaLab Works), collez l’adresse et enregistrez.
  3. Dans Dashboard → Plugins → Catalog, cherchez Access Log by MediaLab, cliquez sur Install, puis redémarrez Jellyfin.

Le dépôt ne liste que les plugins couverts par vos licences, et uniquement les versions qu’elles autorisent. Ses liens de téléchargement sont signés et expirent au bout de quelques heures, de sorte que Jellyfin lit toujours une liste à jour.

Depuis le catalogue public. https://medialab.works/jellyfin/manifest.json liste chaque plugin MediaLab Works publié avec sa version compilée publique ; medialab Server l’ajoute lui-même. Vous pouvez l’ajouter de la même manière 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 que votre licence autorise.

Manuellement, depuis un fichier zip.

  1. Dans Compte → Licences, téléchargez jf-accesslog_x.y.z.zip (le SHA-256 du fichier est indiqué à côté du bouton).
  2. Extrayez-le dans un nouveau dossier Access Log by MediaLab_x.y.z.0 dans le dossier des plugins de Jellyfin :
    • Linux (paquet) : /var/lib/jellyfin/plugins/
    • Docker (image officielle) : /config/plugins/ dans le volume de configuration
    • Windows : %ProgramData%\Jellyfin\Server\plugins\
  3. Redémarrez Jellyfin.

Activation de la licence

  1. Ouvrez la page du plugin dans Dashboard → Plugins → Access Log by MediaLab et cliquez sur Open License page.
  2. 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.
  3. Pas encore de clé ? Sur la même page, entrez 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 dès que le paiement est effectué.

La licence est vérifiée une fois par jour et à chaque démarrage de Jellyfin. Sans internet, le plugin continue de fonctionner pendant 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) ; 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 Dashboard → 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 opération. 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 ; ensuite, le plugin continue de fonctionner avec la dernière version qu’il est autorisé à utiliser.
  • Après Roll back to x.y.z, la mise à jour automatique de ce plugin par Jellyfin est désactivée jusqu’au prochain Install update sur la page License, de sorte que la tâche planifiée Update Plugins (au démarrage et chaque jour) ne réinstalle pas la version plus récente.
  • Licence à vie et mises à jour automatiques. Le catalogue public Jellyfin (https://medialab.works/jellyfin/manifest.json) propose toujours la version la plus récente. Quand la période de mises à jour d’une licence à vie est terminée, les versions publiées après celle-ci ne sont pas sous licence : si les mises à jour automatiques de plugins de Jellyfin en installent une, le plugin s’arrête avec « version not licensed » jusqu’à ce que vous reveniez en arrière avec Roll back to x.y.z sur sa page License ou achetiez un pass de mises à jour. Pour l’éviter, ne laissez pas Jellyfin mettre ce plugin à jour automatiquement : ajoutez votre dépôt de plugins privé, qui ne propose que les versions que votre licence autorise, à la place du catalogue public, ou retirez les déclencheurs de la tâche planifiée Update Plugins dans Dashboard → Scheduled Tasks (cela arrête les mises à jour automatiques pour tous les plugins).

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.

Configuration

Ouvrez Dashboard → Access Log → Settings.

  1. Créez un compte gratuit chez MaxMind (GeoLite2), puis Manage License Keys → Generate new license key.
  2. Saisissez l’identifiant de compte et la clé de licence, puis enregistrez : les bases GeoLite2 City et ASN sont téléchargées d’un coup et actualisées automatiquement.
  3. Choisissez combien de jours les événements sont conservés, si les démarrages de lecture et les changements d’IP sont enregistrés, et quelles alertes vous souhaitez.

Utilisation quotidienne

  • Activity : chaque événement, du plus récent au plus ancien, avec des filtres par utilisateur, période, pays et appareil ; export CSV.
  • Devices : les appareils connus de chaque utilisateur.
  • Users and countries : résumé par utilisateur et par pays, et les adresses ayant tenté des mots de passe erronés.

Dépannage

  • Chaque événement affiche la même adresse (votre proxy ou Cloudflare) : ajoutez le proxy aux Known proxies de Jellyfin (Dashboard → Networking) pour que Jellyfin transmette l’adresse réelle du visiteur.
  • Pas de localisation : vérifiez l’identifiant de compte et la clé MaxMind dans Settings.

La version compilée est publique ; l’utilisation du plugin nécessite une licence ou l’essai gratuit de 30 jours.