Plan Guard Jellyfin — ghid
Instalare
Deocamdată ai nevoie de medialab Server (varianta MediaLab a Jellyfin 12.2; versiunea actuală nu se încarcă în imaginea Docker oficială Jellyfin 12.2) și de un cont MediaLab Works cu o licență care acoperă plugin-ul (abonament activ, licență lifetime în perioada de actualizări, Pachetul Jellyfin sau proba gratuită de 30 de zile).
Din depozitul tău de plugin-uri (recomandat). Jellyfin instalează și actualizează apoi singur plugin-ul.
- În contul MediaLab Works deschide Licențe → Depozitul de plugin-uri Jellyfin și apasă Creează adresa. Copiaz-o: e privată (conține un token), deci nu o da mai departe; o poți regenera sau revoca oricând.
- În Jellyfin deschide Tablou de bord → Plugin-uri → „Repositories”, apasă +, dă-i un nume (de exemplu MediaLab Works), lipește adresa și salvează.
- În Tablou de bord → Plugin-uri → Catalog găsește Plan Guard by MediaLab, apasă Instalează, apoi repornește Jellyfin.
Depozitul arată doar plugin-urile acoperite de licențele tale și doar versiunile permise. Linkurile de descărcare sunt semnate și expiră după câteva ore, așa că Jellyfin citește mereu o listă proaspătă.
Din catalogul public. https://medialab.works/jellyfin/manifest.json arată toate plugin-urile MediaLab Works lansate, cu versiunile lor publice; medialab Server îl adaugă singur. Îl poți adăuga la fel ca să instalezi un plugin înainte să ai o cheie: plugin-ul îți cere apoi licența sau pornește perioada de probă din pagina lui Licență. Cu o licență lifetime a cărei perioadă de actualizări s-a încheiat, folosește depozitul tău privat, care oferă doar versiunile permise de licență.
Manual, dintr-o arhivă zip.
- În Cont → Licențe descarcă
jf-planguard_x.y.z.zip(SHA-256 al fișierului apare lângă buton). - Dezarhivează-l într-un dosar nou
Plan Guard by MediaLab_x.y.z.0din dosarul de plugin-uri Jellyfin:- Linux (pachet):
/var/lib/jellyfin/plugins/ - Docker (imaginea oficială):
/config/plugins/din volumul de configurare - Windows:
%ProgramData%\Jellyfin\Server\plugins\
- Linux (pachet):
- Repornește Jellyfin.
Activarea licenței
- Deschide pagina plugin-ului din Tablou de bord → Plugin-uri → Plan Guard by MediaLab și apasă Licență.
- Lipește cheia de licență și apasă Activează cu cheia. Plugin-ul contactează serverul de licențe, leagă cheia de acest server Jellyfin și arată licența Activă.
- Nu ai încă o cheie? Pe aceeași pagină scrii adresa de e-mail și pornești proba gratuită de 30 de zile (card necesar, nimic de plată azi) sau cumperi o licență; plugin-ul se activează singur după plată.
Licența se verifică o dată pe zi și la fiecare pornire a Jellyfin. Fără internet plugin-ul merge încă 7 zile de la ultima verificare reușită. Fără o licență valabilă plugin-ul își oprește activitatea și rămâne funcțională doar pagina Licență (probă, cheie, reînnoire); nu se șterge nimic și totul revine imediat ce licența e din nou valabilă. Mută licența (eliberează serverul) de pe aceeași pagină eliberează cheia pentru alt server.
Actualizare și revenire
- Din depozit: Jellyfin arată versiunile noi în Tablou de bord → Plugin-uri și poate actualiza plugin-ul automat; repornește Jellyfin ca să încarce versiunea nouă.
- Din pagina Licență a plugin-ului: cu o licență valabilă, Instalează actualizarea aduce cea mai nouă versiune permisă de licență, iar Rollback la x.y.z întoarce versiunea anterioară (de exemplu dacă ceva nu mai merge după o actualizare). Repornește Jellyfin după oricare dintre ele. Ambele pachete se verifică după suma de control publicată de serverul de licențe.
- O licență lifetime primește versiunile apărute în perioada ei de actualizări; după aceea plugin-ul merge mai departe pe ultima versiune permisă.
- După o revenire, dacă depozitul de plugin-uri e adăugat în Jellyfin, sarcina programată Update Plugins (la pornire și zilnic) instalează din nou cea mai nouă versiune. Ca să rămâi o vreme pe versiunea anterioară, scoate declanșatoarele acestei sarcini din Tablou de bord → Sarcini programate și pune-le la loc mai târziu.
Codul sursă
Sursa GPL-3.0 a fiecărei versiuni e în Cont → Licențe (Cod sursă), lângă descărcare, ca arhivă .tar.gz făcută din commit-ul exact al versiunii.
Configurare
Deschide Plan Guard din meniul tabloului de bord Jellyfin. Pagina are șase file: Fluxuri active, Profiluri, Utilizatori, Partajare, Jurnal și Setări.
- Profiluri: apasă Adaugă profil și stabilește pentru fiecare profil (0 înseamnă fără limită):
- numărul de redări simultane;
- calitatea acasă și din afară, în Mbit/s;
- rezoluția maximă;
- dacă se permite conversia video (transcodarea) și dacă se permite conversia 4K (cea mai costisitoare pentru server);
- câte dispozitive în 30 de zile poate folosi un cont până să conteze ca semn de împrumut;
- cu Cashier, planul Cashier legat.
- Utilizatori: alegi profilul fiecărui utilizator și profilul celor fără alegere (sau fără limite). Administratorii nu sunt limitați niciodată.
- Planurile Cashier (opțional): cu Cashier instalat și opțiunea Cu Cashier instalat: profilul vine din planul plătit bifată, abonații primesc profilul legat de planul lor (sau limita de dispozitive a planului), iar Plan Guard preia oprirea redărilor.
- Setări → aplicare:
- Oprește singur redările care încalcă profilul (oprit: doar jurnal);
- Secunde între mesaj și oprire (implicit 10);
- Deconectează dispozitivele care ignoră oprirea (implicit pornit): utilizatorul trebuie să se conecteze din nou pe acel dispozitiv;
- Blochează dispozitivul după deconectare (implicit oprit).
- Setări → conturi împrumutate: bifează Detectează conturile împrumutate, apoi alegi ce se face sub prag: doar notificare (jurnalul de activitate, implicit), notificare și mesaj către utilizator, notificare și reconectare obligatorie sau notificare și blocarea celui mai nou dispozitiv. Poți schimba și pragul scorului (implicit 50), viteza „călătoriei imposibile” (implicit 500 km/h) și câte rețele diferite într-o zi contează ca semn (implicit 5).
Utilizare zilnică
- Când un utilizator pornește o redare peste limita de redări, Jellyfin o refuză înainte de pornire. Calitatea e plafonată la pornire, la bitrate-ul profilului pentru acasă sau din afară.
- În timpul redării, Plan Guard verifică fiecare flux cam la 10 secunde. O redare care încalcă profilul primește un mesaj, apoi o comandă de oprire; dacă tot continuă, transcodarea ei e închisă pe server și dispozitivul e deconectat.
- Fluxuri active arată cine ce vede, calitatea, de unde și profilul, cu buton Oprește și un mesaj opțional pentru utilizator.
- Partajare arată un scor de încredere pe cont (100 = curat) pentru ultimele 30 de zile, cu semnalele și locurile din spatele lui. Alertele ajung și în jurnalul de activitate Jellyfin, cel mult o dată pe zi pentru fiecare cont.
- Jurnal arată fiecare acțiune a Plan Guard și motivul ei.
Cum reacționează playerele
- Playerele fără control la distanță, ca Infuse, Kodi și DLNA, ignoră comenzile de oprire, așa că Plan Guard deconectează dispozitivul (dacă Deconectează dispozitivele care ignoră oprirea e bifată).
- Playerele care continuă redarea după comanda de oprire au transcodarea închisă pe server, apoi sunt deconectate.
- Lista completă a aplicațiilor și a felului în care reacționează fiecare va fi adăugată după testare.
Ce trimite și unde
Locațiile se caută pe serverul tău, în bazele gratuite DB-IP Lite City și ASN, descărcate de la download.db-ip.com cât timp detectarea conturilor împrumutate e pornită și descărcate din nou la pornire când sunt mai vechi de 35 de zile. Dacă Jurnal de acces sau Notificări de securitate păstrează deja o bază de localizare, Plan Guard o refolosește; fila Partajare arată care e folosită. Nimic despre utilizatorii tăi nu se trimite nicăieri; la medialab.works ajunge doar verificarea licenței.
IP Geolocation by DB-IP (CC BY 4.0).
Probleme frecvente
- „Geolocația nu e încă disponibilă”: bazele DB-IP Lite încă se descarcă; serverul trebuie să ajungă la
download.db-ip.comprin HTTPS. - Un utilizator pe date mobile sau VPN pare cont împrumutat: se poate întâmpla; lasă acțiunea pe Doar notificare sau mărește numărul de rețele pe zi.
- Cashier e instalat, dar profilurile nu urmează planurile: verifică dacă licența Cashier e activă și dacă Cashier e la zi; fila Utilizatori arată starea legăturii.