Access Log — historique de connexion Jellyfin

Voyez qui se connecte à votre serveur Jellyfin, quand, d’où (IP, pays, ville, fournisseur) et depuis quelle application et quel appareil, avec des alertes.

Access log of a Jellyfin server: sign-ins, sessions, plays and wrong passwords with location, provider and Cloudflare path1 sur 3

Access Log enregistre qui se connecte à votre serveur Jellyfin, quand, d’où et depuis quelle application et quel appareil, pour que vous puissiez repérer les mots de passe partagés, les appareils inconnus et les tentatives de connexion.

Ce qu’il fait

  • Événements : connexions réussies, mots de passe erronés (jamais le mot de passe tenté), ouvertures et fermetures de sessions, changements d’IP pendant une session et, en option, démarrages de lecture.
  • Pour chaque événement : utilisateur, heure, adresse IP, application et sa version, nom et identifiant de l’appareil, pays, région, ville et fournisseur d’accès (ASN).
  • Appareils connus par utilisateur : première et dernière connexion, nombre de sessions, dernières adresses.
  • Résumé par utilisateur et par pays, et les adresses ayant tenté des mots de passe erronés ; filtres et export CSV.
  • Alertes dans le journal d’activité de Jellyfin : un nouvel appareil, un nouveau pays pour un utilisateur, des mots de passe erronés répétés depuis la même adresse.
  • Localisation issue d’une base GeoLite2 locale (compte MaxMind gratuit), actualisée automatiquement. Les adresses IP ne sont jamais envoyées à un service externe.

Exigences

  • Jellyfin Server 12.2 ou plus récent.
  • Un compte MaxMind gratuit et une clé de licence pour les bases GeoLite2 City et ASN (sans elles, les événements sont enregistrés sans localisation).

Questions fréquentes

Comment voir qui s’est connecté à mon serveur Jellyfin ? Installez Access Log ; dès lors, chaque connexion, tentative échouée et session apparaît dans Dashboard → Access Log → Activity, avec l’adresse IP, la localisation, l’application et l’appareil. Voir le guide.

Peut-il m’avertir d’un nouvel appareil ou d’un nouveau pays ? Oui. Les alertes pour un nouvel appareil, un nouveau pays et des mots de passe erronés répétés vont au journal d’activité de Jellyfin ; pendant le premier jour après l’installation, appareils et pays sont appris sans alertes.

Ce qu’il envoie où

  • MaxMind GeoLite2 (download.maxmind.com) — facultatif, désactivé par défaut : seulement si vous saisissez votre propre compte MaxMind gratuit (identifiant de compte + clé de licence), le plugin télécharge les bases GeoLite2 City et ASN (authentifié avec votre compte ; aucune adresse IP ni donnée utilisateur n’est envoyée). Elles sont actualisées quand elles ont plus de 7 jours (configurable).
  • La géolocalisation des IP se fait localement, dans la base téléchargée ; les adresses IP ne sont jamais envoyées à un service externe. Les adresses privées/locales ne sont pas recherchées.
  • Les alertes (nouvel appareil, nouveau pays, rafales d’échecs de connexion) vont uniquement au journal d’activité local du serveur.
  • Aucun script CDN ni police externe dans les pages.
  • Plus le client de licences, identique dans chaque plugin : voir Licences et confidentialité dans nos plugins.

Stocké localement (dossier de données du plugin) :

  • events/events-YYYY-MM.jsonl : chaque connexion / échec / lecture / changement d’adresse — heure, utilisateur, IP, localisation (pays, région, ville, coordonnées approximatives, ASN/FAI), chemin d’accès (direct ou via Cloudflare, en-têtes Host, User-Agent et chaîne X-Forwarded-For), application, version, appareil, session. Le mot de passe tenté n’est jamais stocké.
  • events/known.json : appareils et pays connus par utilisateur (sans expiration).
  • geoip/*.mmdb : les bases MaxMind. Les identifiants du compte MaxMind se trouvent dans la configuration du plugin (non chiffrée).
  • Conservation : 365 jours par défaut (configurable) ; des fichiers mensuels entiers sont supprimés, de sorte que jusqu’à ~un mois supplémentaire peut rester sur le disque. L’export CSV est déclenché par l’administrateur.
  • Un middleware lit les en-têtes de la requête (seul le DeviceId est extrait de l’autorisation ; les jetons ne sont pas stockés).

Ce sont des données personnelles (adresses IP, localisations, appareils) : ne les conservez que le temps nécessaire et informez les utilisateurs de votre serveur que les accès sont journalisés.

Compatibilité avec les clients

La capture est côté serveur (les événements de connexion/session du serveur), donc elle fonctionne avec n’importe quel client ; l’interface n’est que la page d’administration.

  • Jellyfin Web / medialab Server : ✅ (14/14 de bout en bout au niveau de l’API + pages).
  • Applications Jellyfin (Android/Android TV, Swiftfin, Findroid, Kodi/JellyCon, Infuse, Streamyfin), navigateurs TV : 🟢 la capture ne dépend pas du client ; ❔ non testé individuellement. Le nom d’application/appareil affiché est celui que le client rapporte.

Légende : ✅ vérifié (test de bout en bout ou sur appareil) · 🟢 côté serveur, fonctionne avec tout client (par conception, pas de test par client) · ➖ sans objet · ❔ non testé.

Licences

Le plugin est open source (GPL-3.0). Les versions compilées prêtes à installer sont publiques, comme le code source. Ce que vous achetez, c’est l’abonnement : la licence d’utilisation du plugin sur un serveur Jellyfin, les mises à jour comprises dans votre formule et le support — chaque mise à jour tant que l’abonnement est actif, via votre dépôt de plugins privé, plus de l’aide quand quelque chose ne fonctionne pas. Le plugin vérifie la clé d’abonnement une fois par jour ; sans abonnement valide, il s’arrête jusqu’au renouvellement (rien n’est supprimé). Mensuel, annuel ou à vie (la licence à vie comprend un an de mises à jour), ou inclus dans le pack Jellyfin. Essai gratuit de 30 jours.

Code source. Pour chaque version, le code source complet correspondant est public, à côté de la version compilée, dans l’historique des versions, ainsi que dans votre compte (Compte → Licences, Code source) ; chaque archive contient le texte complet de la GPL-3.0 (LICENSE). Si vous avez besoin du code source d’une version que vous ne pouvez plus télécharger, écrivez-nous et nous vous l’envoyons. Voir la section 10 de la Licence (CLUF).

Fonctionne au mieux avec medialab Server

Ce plugin fonctionne sur Jellyfin officiel 12.2 ou plus récent. Sur medialab Server, notre serveur basé sur Jellyfin, avec les mêmes données, bibliothèques, utilisateurs et applications, il fonctionne mieux :

  • Verified – medialab. Le serveur vérifie la signature de nos plugins et vous montre que les fichiers sont exactement ceux que nous avons publiés. Un plugin modifié après sa publication est signalé.
  • Intégré à l’interface. Les plugins peuvent ajouter des boutons et des liens dans le menu de vos utilisateurs (par exemple « TV », « Share ») sans configuration web manuelle.
  • Prioritaire par défaut. Les plugins medialab passent en premier là où cela compte : tuners TV en direct, sources de guide et fournisseurs de sous-titres. L’ordre reste le vôtre : vous pouvez le modifier à tout moment.
  • Le catalogue medialab.works inclus, avec une installation sans confirmations supplémentaires.
  • Mises à jour depuis l’interface web, sans terminal (avec Self-Update de MediaLab) : vérifiez, mettez à jour et revenez en arrière depuis le tableau de bord ; si une nouvelle version ne démarre pas, le serveur revient de lui-même à la version précédente, avec vos données intactes.
  • Le même Jellyfin, à jour. medialab Server suit chaque semaine les versions stables de Jellyfin 12.x ; une nouvelle version n’est publiée qu’après avoir réussi tous les tests, y compris ceux de nos plugins.

Les applications Jellyfin (Android, iOS, TV, web) se connectent exactement comme à Jellyfin officiel.

Pour l’installer, lancez l’image de conteneur (guide) ou, sur Debian 12, les paquets apt, qui remplacent jellyfin-server et jellyfin-web en conservant vos données en place (guide).

medialab Server est un logiciel libre (GPL-2.0), basé sur Jellyfin. Le code source est public : medialab-server et medialab-server-web.

Configuration requise

  • Jellyfin Server 12.2 ou plus récent (Linux, Windows ou Docker)
  • Un compte MaxMind gratuit pour les bases GeoLite2
  • Open source (GPL-3.0) : le code source de chaque version est dans votre compte

Dernière version

1.0.5
publiée le 20 oct. 2026
Voir toutes les modifications →

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