Plan Guard définit des limites de streaming par utilisateur ou par formule sur votre serveur Emby, les applique pendant que les gens regardent, et détecte les comptes partagés avec d’autres personnes, par exemple un compte payant utilisé dans plusieurs foyers à la fois.
Ce qu’il fait
- Limites par utilisateur ou par formule : flux simultanés, qualité à domicile et hors domicile (débit), résolution maximale, et si le transcodage est autorisé.
- Application : un message, l’arrêt de la lecture ou la déconnexion de l’appareil.
- Difficile à contourner (à partir de la version 0.1.2) : la limite de flux compte les véritables requêtes de lecture par connexion et par titre, y compris les requêtes de fichier direct, de téléchargement et HLS, donc une seconde connexion avec le même appareil ou un lecteur qui ne signale pas la lecture ne contourne plus la limite. Le plafond de qualité s’applique aussi aux requêtes directes. L’adresse du client provient de la connexion ;
X-Forwarded-Forn’est fiable que depuis les proxies que vous listez, et vous pouvez traiter chaque client comme hors domicile. - Library Guard (à partir de la version 0.1.2) : Emby ne vérifie pas les bibliothèques autorisées d’un utilisateur quand une application demande un titre directement par son identifiant. Plan Guard répond « not found » pour les titres que l’utilisateur ne peut pas voir (détails, listes de séries et de saisons, lecture, streaming, téléchargement). Les administrateurs et les invités de Share Links ne sont pas affectés ; vous pouvez le désactiver sur la page du plugin.
- Détection des comptes partagés : le même compte utilisé depuis des endroits et des réseaux différents au même moment, et les « déplacements impossibles ».
- Fonctionne avec Cashier : chaque formule payante reçoit automatiquement son propre profil de limites.
- Journal d’activité et pages d’administration.
Prérequis
- Emby Server 4.10.1 ou plus récent.
- Optionnel : Cashier, pour les profils de limites par formule payante.
Ce qu’il envoie et où
- Base de géolocalisation : utilise la base déjà téléchargée par Security Notifications ou Access Log ; s’il n’en existe pas, télécharge DB-IP Lite (
download.db-ip.com, sans compte, CC BY 4.0) au démarrage du plugin (raffraîchie au démarrage après 35 jours), uniquement si la détection de partage est activée (activée par défaut). Téléchargement seulement ; la géolocalisation IP se fait localement. - Aucune autre connexion externe en dehors du client de licence. Les pages ne chargent aucune ressource externe.
- Actions envers les clients (sur votre serveur) : message, arrêt de la lecture, déconnexion (jeton révoqué), blocage d’appareil en option (désactivé par défaut). Action par défaut sur le partage : notification seulement.
- Plus le client de licence, le même dans chaque plugin : voir Licences et confidentialité dans nos plugins.
Géolocalisation IP par DB-IP. Les bases DB-IP Lite sont sous licence CC BY 4.0.
Stocké localement :
state/access.json: accès par session (utilisateur, appareil, IP, local/distant, en lecture ou non, heure, coordonnées approximatives, ASN, ville/pays), au plus une fois toutes les 2 min par combinaison ; conservé 31 jours, 20 000 enregistrements max.state/actions.json: journal des actions (heure, utilisateur, appareil, titre, étape, motif), 500 max. Les alertes de partage apparaissent aussi dans le journal d’activité du serveur.- Profils et affectations dans la configuration du plugin ; bases
geoip/*.mmdb.
Compatibilité avec les clients
- Les limites de flux et de débit sont synchronisées dans les paramètres natifs du serveur : 🟢 tout client.
- Emby ne peut pas refuser la lecture avant qu’elle commence, donc l’application est réactive : message → Stop → déconnexion. ✅ Emby Web ignore Stop, donc l’arrêt ferme est la déconnexion (bout en bout 13/13). À partir de la version 0.1.2, la lecture directe au-dessus du plafond de qualité du profil est refusée.
- Les clients sans contrôle à distance (p. ex. Infuse, Kodi, DLNA) sont déconnectés directement (par conception ; ✅ simulé via API ; ❔ non testé sur les applications réelles). Les messages n’apparaissent que dans les clients avec contrôle à distance.
- Applications Emby natives (Android, iOS, Android TV, Samsung, LG, Roku, Apple TV) : ❔ non testé (matrice sur appareils réels en cours).
Légende : ✅ vérifié (test de bout en bout ou sur appareil réel) · 🟢 côté serveur, fonctionne avec tout client (par conception, sans test spécifique par client) · ➖ sans objet · ❔ non testé.
Licence
Une licence par serveur Emby. Mensuelle, annuelle ou à vie, ou incluse dans l’Emby bundle. Essai gratuit de 30 jours. Le plugin est sous notre CLUF.
Plan Guard est notre propre code, écrit à partir de zéro par MediaLab Works ; il ne contient aucun code tiers. Les données de localisation proviennent de DB-IP et sont téléchargées par votre serveur.
