Fixed (licensing): the license key field is always visible, so a new key can be activated even while the saved license still shows as active; a refused key no longer replaces the saved key and the page shows why; when the last check fails (for example a deleted or revoked license), the page and the log show a warning with the date until which the saved license keeps working; activation, manual checks and release are written to the log.
Historique des versions de Security Notifications
Toutes les versions publiées, de la plus récente à la plus ancienne. Les versions compilées de nos plugins Jellyfin et leur code source complet sont publics (GPL-3.0) ; le plugin a besoin d’une licence pour fonctionner. Les abonnements et les essais reçoivent toujours la dernière version, les licences à vie reçoivent les mises à jour pendant leur période de mises à jour.
0.1.4
Dernière- Security: account names, device and app names, the geo organization and request paths (text anyone can send, without an account) are cleaned before they reach alerts: the HTML characters < > " ' & become look-alike characters, control and invisible characters are removed, and the length is capped. A failed sign-in with a name like
x<img src=x onerror=…>reaches the alerts as plain text (the Jellyfin dashboard already shows the text safely; the cleaning also protects the other channels). This applies to every channel (activity log, Telegram, e-mail, webhook). - No flooding: at most 20 notifications per 10 minutes; the rest stay in the history and a single "N more alerts suppressed" message is sent. Critical alerts always go through. The memory used for tracked IP addresses and accounts is capped.
- Webhook: the address is checked after DNS resolution; local, private and internal addresses (including 169.254.169.254) are refused, redirects are not followed, and the error no longer includes the response body. For your own ntfy/Gotify on the local network, tick the new option "Allow a local network address" (link-local and metadata addresses stay refused).
- E-mail: the subject is always a single line (no CR/LF).
- Secrets (Telegram token, SMTP password, webhook address, MaxMind key) are stored encrypted (AES-256-GCM, bound to your server) in the shared MediaLab store; the old secrets.json file is moved automatically and deleted.
- Security (licensing): logs sent to medialab.works or exported no longer contain tokens, passwords or keys (lines are selected by the plugin's logger and secrets are masked); unencrypted license server answers are refused; update and rollback only install packages with a verified MediaLab signature (and a size limit); the log export no longer puts the token in the URL; the pages escape text in attributes correctly.
- Plugin name in Jellyfin: "Security Notifications by MediaLab". Author: MediaLab Works.
- First release: 20 security rules (attacks on accounts, unusual sign-ins, sensitive changes, mass deletions, scans, spoofed proxy headers, backdoors in the plugins folder, known vulnerabilities of your server version); notifications via Telegram, email, webhook (Discord, Slack, ntfy, Gotify, JSON) and the activity log; no spam (de-duplication, grouping, quiet hours, daily digest); location from DB-IP Lite or MaxMind GeoLite2; history with CSV export. Update and rollback from the License page, with the license checked first.