Plan Guard setzt Streaming-Limits pro Benutzer oder pro Tarif auf deinem Emby-Server, setzt sie durch, während geschaut wird, und erkennt Konten, die mit anderen Personen geteilt werden — etwa ein bezahltes Konto, das gleichzeitig in mehreren Haushalten genutzt wird.
Was es macht
- Limits pro Benutzer oder pro Tarif: gleichzeitige Streams, Qualität zu Hause und unterwegs (Bitrate), maximale Auflösung und ob Transkodierung erlaubt ist.
- Durchsetzung: eine Nachricht, das Stoppen der Wiedergabe oder das Abmelden des Geräts.
- Schwer zu umgehen (ab Version 0.1.2): Das Stream-Limit zählt die echten Wiedergabeanfragen pro Anmeldung und Titel, einschließlich Direktdatei-, Download- und HLS-Anfragen; eine zweite Anmeldung mit demselben Gerät oder ein Player, der die Wiedergabe nicht meldet, kommt so nicht mehr drumherum. Das Qualitäts-Limit gilt auch für Direktanfragen. Die Adresse des Clients stammt aus der Verbindung;
X-Forwarded-Forwird nur den Proxies vertraut, die du auflistest, und du kannst jeden Client als unterwegs behandeln. - Library Guard (ab Version 0.1.2): Emby prüft nicht die erlaubten Bibliotheken eines Benutzers, wenn eine App direkt per ID nach einem Titel fragt. Plan Guard antwortet „nicht gefunden“ auf Titel, die der Benutzer nicht sehen darf (Details, Serien- und Staffellisten, Wiedergabe, Streaming, Download). Administratoren und Gäste von Share Links sind nicht betroffen; du kannst es auf der Plugin-Seite abschalten.
- Erkennung geteilter Konten: dasselbe Konto gleichzeitig von verschiedenen Orten und Netzwerken aus, und „unmögliche Reisen“.
- Funktioniert mit Cashier: Jeder kostenpflichtige Tarif bekommt automatisch sein eigenes Limit-Profil.
- Aktivitätsprotokoll und Admin-Seiten.
Voraussetzungen
- Emby Server 4.10.1 oder neuer.
- Optional: Cashier, für Limit-Profile pro kostenpflichtigem Tarif.
Was es wohin sendet
- Geolocation-Datenbank: nutzt die Datenbank, die Security Notifications oder Access Log bereits heruntergeladen hat; wenn keine existiert, lädt sie DB-IP Lite (
download.db-ip.com, kein Konto, CC BY 4.0) beim Plugin-Start herunter (nach 35 Tagen beim Start erneuert), nur wenn die Teilen-Erkennung aktiv ist (standardmäßig an). Nur der Download; die IP-Geolocation passiert lokal. - Keine andere externe Verbindung außer dem Lizenzierungs-Client. Seiten laden keine externen Ressourcen.
- Aktionen gegenüber Clients (auf deinem Server): Nachricht, Wiedergabe stoppen, Abmeldung (Token widerrufen), optionaler Geräteblock (standardmäßig aus). Standardaktion bei Teilen: nur benachrichtigen.
- Plus dem Lizenzierungs-Client, wie in jedem Plugin: Siehe Lizenzierung und Datenschutz in unseren Plugins.
IP-Geolocation von DB-IP. Die DB-IP-Lite-Datenbanken sind unter CC BY 4.0 lizenziert.
Lokal gespeichert:
state/access.json: Zugriffe pro Sitzung (Benutzer, Gerät, IP, lokal/remote, spielt oder nicht, Zeit, ungefähre Koordinaten, ASN, Stadt/Land), höchstens einmal alle 2 Minuten pro Kombination; 31 Tage aufbewahrt, maximal 20.000 Einträge.state/actions.json: Aktionsprotokoll (Zeit, Benutzer, Gerät, Titel, Schritt, Grund), maximal 500. Alarme zum Teilen erscheinen auch im Aktivitätsprotokoll des Servers.- Profile und Zuordnungen in der Plugin-Konfiguration;
geoip/*.mmdb-Datenbanken.
Kompatibilität mit Clients
- Stream- und Bitrate-Limits werden in die nativen Einstellungen des Servers synchronisiert: 🟢 jeder Client.
- Emby kann die Wiedergabe nicht ablehnen, bevor sie startet, deshalb erfolgt die Durchsetzung reaktiv: Nachricht → Stop → Abmeldung. ✅ Emby Web ignoriert Stop, deshalb ist die harte Variante die Abmeldung (Ende-zu-Ende 13/13). Ab Version 0.1.2 wird Direkt-Wiedergabe über dem Qualitäts-Limit des Profils verweigert.
- Clients ohne Fernsteuerung (z. B. Infuse, Kodi, DLNA) werden direkt abgemeldet (by design; ✅ per API simuliert; ❔ auf den echten Apps nicht getestet). Nachrichten erscheinen nur in Clients mit Fernsteuerung.
- Native Emby-Apps (Android, iOS, Android TV, Samsung, LG, Roku, Apple TV): ❔ nicht getestet (Gerätematrix in Arbeit).
Legende: ✅ verifiziert (Ende-zu-Ende- oder Gerätetest) · 🟢 serverseitig, funktioniert mit jedem Client (by design, kein client-spezifischer Test) · ➖ nicht anwendbar · ❔ nicht getestet.
Lizenzierung
Eine Lizenz pro Emby-Server. Monatlich, jährlich oder als Lifetime-Lizenz, oder enthalten im Emby-Paket. 30 Tage kostenlos testen. Das Plugin wird unter unserer EULA lizenziert.
Plan Guard ist unser eigener Code, von MediaLab Works von Grund auf geschrieben; er enthält keinen Fremdcode. Die Standortdaten stammen von DB-IP und werden von deinem Server heruntergeladen.
