Access Log — Anmeldeverlauf für Jellyfin

Sieh, wer sich mit deinem Jellyfin-Server verbindet, wann, von wo (IP, Land, Stadt, Provider) und mit welcher App und welchem Gerät, mit Warnungen.

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

Access Log zeichnet auf, wer sich mit deinem Jellyfin-Server verbindet, wann, von wo und mit welcher App und welchem Gerät, damit du geteilte Passwörter, unbekannte Geräte und Anmeldeversuche erkennst.

Was es macht

  • Ereignisse: erfolgreiche Anmeldungen, falsche Passwörter (nie das versuchte Passwort), geöffnete und geschlossene Sitzungen, IP-Wechsel während einer Sitzung und optional Wiedergabestarts.
  • Zu jedem Ereignis: Benutzer, Zeit, IP-Adresse, App und ihre Version, Gerätename und -ID, Land, Region, Stadt und Internetprovider (ASN).
  • Bekannte Geräte pro Benutzer: erste und letzte Verbindung, Anzahl der Sitzungen, letzte Adressen.
  • Zusammenfassung nach Benutzer und Land sowie die Adressen mit falschen Passwörtern; Filter und CSV-Export.
  • Warnungen im Aktivitätsprotokoll von Jellyfin: ein neues Gerät, ein neues Land für einen Benutzer, wiederholt falsche Passwörter von derselben Adresse.
  • Standort aus einer lokalen GeoLite2-Datenbank (kostenloses MaxMind-Konto), automatisch aktualisiert. IP-Adressen werden nie an einen externen Dienst gesendet.

Voraussetzungen

  • Jellyfin Server 12.2 oder neuer.
  • Ein kostenloses MaxMind-Konto und ein License Key für die Datenbanken GeoLite2 City und ASN (ohne sie werden Ereignisse ohne Standort aufgezeichnet).

Häufige Fragen

Wie sehe ich, wer sich an meinem Jellyfin-Server angemeldet hat? Installiere Access Log; ab dann erscheint jede Anmeldung, jeder Fehlversuch und jede Sitzung unter Dashboard → Access Log → Activity, mit IP-Adresse, Standort, App und Gerät. Siehe die Anleitung.

Kann es mich vor einem neuen Gerät oder Land warnen? Ja. Warnungen bei einem neuen Gerät, einem neuen Land und wiederholt falschen Passwörtern gehen in das Aktivitätsprotokoll von Jellyfin; am ersten Tag nach der Installation werden Geräte und Länder ohne Warnungen gelernt.

Was es wohin sendet

  • MaxMind GeoLite2 (download.maxmind.com) — optional, standardmäßig aus: Nur wenn du dein eigenes kostenloses MaxMind-Konto (Account ID + License Key) einträgst, lädt das Plugin die Datenbanken GeoLite2 City und ASN herunter (mit deinem Konto authentifiziert; es werden keine IP-Adressen oder Benutzerdaten gesendet). Aktualisiert, wenn sie älter als 7 Tage sind (einstellbar).
  • Die IP-Geolokalisierung erfolgt lokal, in der heruntergeladenen Datenbank; IP-Adressen werden nie an einen externen Dienst gesendet. Private/lokale Adressen werden nicht nachgeschlagen.
  • Warnungen (neues Gerät, neues Land, gehäufte Fehlanmeldungen) gehen nur in das lokale Aktivitätsprotokoll des Servers.
  • Keine CDN-Skripte oder externen Schriftarten in den Seiten.
  • Dazu der Lizenz-Client, in jedem Plugin gleich: siehe Lizenzierung und Datenschutz in unseren Plugins.

Lokal gespeichert (Datenordner des Plugins):

  • events/events-YYYY-MM.jsonl: jede Anmeldung / jeder Fehlversuch / jede Wiedergabe / jede Adressänderung — Zeit, Benutzer, IP, Standort (Land, Region, Stadt, ungefähre Koordinaten, ASN/ISP), Zugriffsweg (direkt oder über Cloudflare, Host, User-Agent, X-Forwarded-For-Kette), App, Version, Gerät, Sitzung. Das versuchte Passwort wird nie gespeichert.
  • events/known.json: bekannte Geräte und Länder pro Benutzer (ohne Ablauf).
  • geoip/*.mmdb: die MaxMind-Datenbanken. Die MaxMind-Kontodaten stehen in der Plugin-Konfiguration (unverschlüsselt).
  • Aufbewahrung: standardmäßig 365 Tage (einstellbar); gelöscht werden ganze Monatsdateien, es kann also bis zu etwa einem zusätzlichen Monat auf der Festplatte bleiben. Der CSV-Export wird vom Administrator ausgelöst.
  • Eine Middleware liest die Request-Header (aus der Autorisierung wird nur die DeviceId entnommen; Tokens werden nicht gespeichert).

Das sind personenbezogene Daten (IP-Adressen, Standorte, Geräte): Bewahre sie nur so lange auf, wie du sie brauchst, und informiere die Nutzer deines Servers, dass Zugriffe protokolliert werden.

Kompatibilität mit Clients

Die Erfassung erfolgt serverseitig (die Anmelde- und Sitzungsereignisse des Servers) und funktioniert daher mit jedem Client; die Oberfläche ist nur die Admin-Seite.

  • Jellyfin Web / medialab Server: ✅ (End-to-End 14/14 auf API-Ebene + Seiten).
  • Jellyfin-Apps (Android/Android TV, Swiftfin, Findroid, Kodi/JellyCon, Infuse, Streamyfin), TV-Browser: 🟢 die Erfassung hängt nicht vom Client ab; ❔ nicht einzeln getestet. Der angezeigte App-/Gerätename ist der, den der Client meldet.

Legende: ✅ verifiziert (End-to-End- oder Test auf dem Gerät) · 🟢 serverseitig, funktioniert mit jedem Client (konstruktionsbedingt, kein clientspezifischer Test) · ➖ nicht zutreffend · ❔ nicht getestet.

Lizenzierung

Das Plugin ist Open Source (GPL-3.0). Die installationsfertigen Builds sind öffentlich, genau wie der Quellcode. Was du kaufst, ist das Abonnement: die Lizenz zur Nutzung des Plugins auf einem Jellyfin-Server, die Updates, die dein Tarif umfasst, und Support: jedes Update, solange das Abonnement aktiv ist, über dein privates Plugin-Repository, und Hilfe, wenn etwas nicht funktioniert. Das Plugin prüft den Abonnementschlüssel einmal am Tag; ohne gültiges Abonnement stoppt es, bis du verlängerst (es wird nichts gelöscht). Monatlich, jährlich oder als Lifetime-Lizenz (die Lifetime-Lizenz umfasst ein Jahr Updates), oder im Jellyfin-Paket enthalten. 30 Tage kostenlos testen.

Quellcode. Für jede Version ist der vollständige zugehörige Quellcode öffentlich, neben dem Build, im Changelog, und auch in deinem Konto (Konto → Lizenzen, Quellcode); jedes Archiv enthält den vollständigen Text der GPL-3.0 (LICENSE). Wenn du den Quellcode einer Version brauchst, die du nicht mehr herunterladen kannst, frag uns, und wir schicken ihn dir. Siehe Abschnitt 10 der EULA.

Funktioniert am besten mit medialab Server

Dieses Plugin funktioniert mit dem offiziellen Jellyfin 12.2 oder neuer. Auf medialab Server, unserem auf Jellyfin basierenden Server mit denselben Daten, Bibliotheken, Nutzern und Apps, funktioniert es besser:

  • Verified – medialab. Der Server prüft die Signatur unserer Plugins und zeigt dir, dass die Dateien genau die sind, die wir veröffentlicht haben. Ein nach der Veröffentlichung verändertes Plugin wird markiert.
  • In die Oberfläche integriert. Plugins können Schaltflächen und Links zum Menü deiner Nutzer hinzufügen (zum Beispiel „TV“, „Share“), ohne manuelle Web-Konfiguration.
  • Standardmäßig Vorrang. medialab-Plugins stehen dort an erster Stelle, wo es darauf ankommt: Live-TV-Tuner, Programmführer-Quellen und Untertitelanbieter. Die Reihenfolge bestimmst weiterhin du: Du kannst sie jederzeit ändern.
  • Der Katalog von medialab.works ist enthalten, die Installation erfolgt ohne zusätzliche Bestätigungen.
  • Updates über die Weboberfläche, ohne Terminal (mit Self-Update by MediaLab): prüfen, aktualisieren und zurücksetzen über das Dashboard; startet eine neue Version nicht, kehrt der Server von selbst zur vorherigen zurück, deine Daten bleiben unversehrt.
  • Dasselbe Jellyfin, immer aktuell. medialab Server folgt jede Woche den stabilen Versionen von Jellyfin 12.x; eine neue Version wird erst veröffentlicht, wenn sie alle Tests bestanden hat, einschließlich der Tests unserer Plugins.

Die Jellyfin-Apps (Android, iOS, TV, Web) verbinden sich genauso wie mit dem offiziellen Jellyfin.

Zur Installation startest du das Container-Image (Anleitung) oder, unter Debian 12, die apt-Pakete, die jellyfin-server und jellyfin-web ersetzen und deine Daten an Ort und Stelle lassen (Anleitung).

medialab Server ist freie Software (GPL-2.0) auf Basis von Jellyfin. Der Quellcode ist öffentlich: medialab-server und medialab-server-web.

Voraussetzungen

  • Jellyfin Server 12.2 oder neuer (Linux, Windows oder Docker)
  • Ein kostenloses MaxMind-Konto für die GeoLite2-Datenbanken
  • Open Source (GPL-3.0): Der Quellcode jeder Version liegt in deinem Konto

Neueste Version

1.0.5
veröffentlicht am 20.10.2026
Alle Änderungen ansehen →

Der Build ist öffentlich; für die Nutzung des Plugins brauchst du eine Lizenz oder den kostenlosen 30-tägigen Testzeitraum.