Licențierea și confidențialitatea în plugin-urile noastre
Engleza și româna sunt versiunile originale; versiunile în alte limbi sunt traduceri oferite pentru comoditate, iar dacă diferă, prevalează versiunea în engleză.
Versiune 2026-10-13.
Fiecare plugin vorbește cu https://medialab.works (doar acest domeniu) pentru licență, actualizări și, opțional, jurnale. Traficul de activare și de verificare este criptat suplimentar față de HTTPS (cheie ECDH efemeră + AES-256-GCM; răspunsurile sunt semnate ECDSA și verificate de plugin). Ce trimite fiecare plugin către alte servicii și cu ce aplicații funcționează găsești pe pagina produsului, la Ce trimite și unde și Compatibilitate cu clienții.
Clientul de licență (în fiecare plugin)
| Când | Ce se trimite |
|---|---|
| Activare (când adminul introduce cheia) | id-ul serverului Emby/Jellyfin (server_id, identificatorul intern al instalației), amprenta hardware (hw_hash — un SHA-256 calculat local din machine-id, UUID/serial DMI dacă e citibil și cea mai mică adresă MAC fizică; valorile brute nu pleacă), slug-ul produsului, versiunea plugin-ului, SHA-256 + mărimea fișierului DLL al plugin-ului, un nonce și ora; cheia de licență nu circulă în clar (se trimite doar SHA-256-ul ei ca identificator, iar cheia intră în derivarea cheii de criptare) |
| La pornirea serverului și apoi o dată la 24 h (± până la 1 h, aleator) | aceleași câmpuri ca mai sus, prin sesiunea criptată (id-ul activării în loc de cheie) |
| Înainte de Update / Rollback sau de o acțiune protejată din pagini | o verificare nouă doar dacă ultima reușită e mai veche de 1 h (platforma limitează verificările la cerere) |
| Update / Rollback (pornit de admin din pagina Licență) | descărcarea pachetului de la URL-ul semnat primit de la medialab.works (verificat cu SHA-256 / MD5 înainte de instalare), apoi un raport: operația, versiunea de la/la, reușit sau nu, mesajul de eroare |
| Perioadă de probă gratuită / cumpărare din plugin (opțional) | adresa de e-mail introdusă de admin, planul ales, slug-ul produsului, server_id, hw_hash, versiunea plugin-ului, limba paginii; plata se face pe pagina Stripe Checkout a medialab.works, nu în plugin; apoi plugin-ul întreabă periodic (la 5 s în prima oră, apoi la 1 min, cât timp linkul e valabil) dacă licența a fost revendicată |
| Dezactivare | o cerere de dezactivare pe sesiunea criptată |
| Trimiterea jurnalului | doar când adminul apasă „Trimite jurnalul” sau dacă a bifat trimiterea automată (AutoSendLogs, oprită implicit). Se trimit doar liniile din jurnalul curent al serverului care conțin numele plugin-ului (cel mult ~2000 de linii, gzip, maximum 2 MB) plus o notă opțională. Cu AutoSendLogs pornit: o dată pe zi după verificare; la plugin-urile care modifică interfața web Emby (Registration, Quick Connect, MediaLab TV, plus Smart Skip și Share Links când modificarea lor opțională e pornită) și o singură dată pe versiune Emby, când modificarea nu a putut fi refăcută după o actualizare Emby. |
Codul QR de pe pagina Licență: codul QR al linkului de plată se generează local, în pagină, fără să se trimită nimic în plus, în toate plugin-urile Emby cel târziu de la versiunile publicate pe 14 octombrie 2026 (MediaLab TV de la 1.2.1), iar pe Jellyfin în Headend de la 1.0.4, MediaLab TV de la 1.2.1, Rosub de la 1.1.3, AISub de la 0.1.3, Smart Skip de la 0.1.2, Transcode Doctor de la 0.1.3 și Library Doctor de la 0.1.6; celelalte plugin-uri Jellyfin îl primesc la următoarea versiune. În versiunile mai vechi, cât timp o perioadă de probă sau o cumpărare pornită din plugin așteaptă plata, browserul adminului încarcă imaginea QR de la serviciul terț api.qrserver.com, căruia îi transmite linkul de plată (URL-ul paginii Stripe Checkout a medialab.works). Nu pleacă nimic altceva; dacă nu folosești cumpărarea din plugin, acest serviciu nu e contactat.
Ce rămâne local: starea licenței în <folderul de date al plugin-ului>/license/license.json (cheia, id-ul activării, secretul sesiunii, licența semnată, ultima verificare, preferința AutoSendLogs).
Ce nu se trimite niciodată prin clientul de licență: date despre utilizatorii serverului, titluri, biblioteci, adrese IP ale clienților, parole, chei API ale altor servicii. Jurnalul (doar cu acord) poate conține ce scrie plugin-ul în jurnal (de ex. nume de utilizator sau titluri, după produs).
Jellyfin: actualizarea și revenirea (Rollback) trec prin instalatorul Jellyfin (zip + MD5) din depozitul de plugin-uri medialab.works; după un Rollback, actualizarea automată Jellyfin a acelui plugin se oprește până la următorul Update din pagina Licență. Catalogul public Jellyfin oferă mereu cea mai nouă versiune: cu o licență lifetime a cărei perioadă de actualizări s-a încheiat, o versiune mai nouă instalată de actualizarea automată a plugin-urilor din Jellyfin se oprește cu „version not licensed” până revii la versiunea anterioară sau cumperi un abonament de actualizări (vezi Întrebări frecvente).
Fără licență validă (sau după perioada de grație), plugin-ul trece în mod limitat; nu trimite nimic în plus.
Datele personale pe care le păstrăm la noi (contul, licențele, id-urile serverelor, adresele IP văzute de serverul de licențe) și drepturile tale sunt descrise în Politica de confidențialitate.
Versiuni de server suportate
- Emby: 4.10.1.0 sau mai nou (pachetele Emby se publică cu
min_emby = 4.10.1.0; testate pe Emby 4.10.1). - Jellyfin: 12.x (targetAbi 12.2.0.0, .NET 10), testate pe Jellyfin 12.2 și pe furca medialab Server (12.2-ml). Versiunile Jellyfin 10.x nu sunt suportate. Plugin-urile Jellyfin sunt livrate sub GPL-3.0, cu sursa.
Legendă compatibilitate
Secțiunea Compatibilitate cu clienții de pe pagina fiecărui produs folosește aceste semne:
- ✅ verificat (test cap-coadă sau pe dispozitiv)
- 🟢 funcționează prin server, independent de client (prin design, fără test pe fiecare client)
- ➖ nu se aplică
- ❔ netestat