Dacă administrezi un server Emby pentru familie și prieteni, cunoști deja rutina: cineva cere acces, deschizi dashboard-ul, inventezi un nume de utilizator, setezi o parolă, alegi bibliotecile, verifici setările parentale și apoi repeți totul săptămâna viitoare. Nu scalează, iar fiecare cont creat manual este o ocazie de a uita o politică sau de a acorda prea mult acces.
Registration este un plugin pentru Emby care adaugă o pagină publică de înregistrare pe propria adresă Emby. Oamenii își creează singuri contul cu un cod de acces pe care li-l dai tu, iar tu păstrezi controlul prin aprobare, coduri de familie, protecție anti-bot și un utilizator șablon care definește ce poate vedea un cont nou. Acest tutorial parcurge o configurare practică: coduri, aprobare, șabloane și elementele de bază ale protecției anti-bot.
O notă rapidă înainte de a începe: este vorba despre conținut media legal, găzduit pe serverul tău, pe care îl deții sau pentru care ai licență. Invită persoane în care ai încredere și păstrează regulile serverului clare.
Cerințe preliminare
- Emby Server 4.10.1 sau mai nou.
- Serverul Emby trebuie să fie accesibil pentru persoanele care se vor înregistra, fie direct, fie printr-un reverse proxy.
- Un cont MediaLab Works cu licență pentru acest server (lunară, anuală, pe viață sau inclusă în pachetul Emby). Există o perioadă de probă gratuită de 30 de zile dacă vrei să testezi mai întâi. O licență per server Emby.
- Acces la dashboard-ul Emby. Pagina de administrare a pluginului se deschide dintr-un browser, pentru că aplicația Emby blochează paginile pluginurilor.
Pasul 1 — Instalează pluginul și activează licența
- Autentifică-te în contul tău MediaLab Works, deschide Licenses și descarcă DLL-ul pluginului. Descărcarea este disponibilă cu un abonament activ, cu o licență pe viață în fereastra de actualizare sau în timpul perioadei de probă.
- Copiază DLL-ul în folderul de pluginuri Emby și repornește Emby Server:
- Linux (pachet):
/var/lib/emby/plugins/ - Docker: folderul
pluginsdin volumul de configurare Emby - Windows:
%AppData%\Emby-Server\programdata\plugins\
- Linux (pachet):
- Deschide Emby Dashboard → Plugins, dă click pe plugin, lipește cheia de licență și salvează. Pluginul contactează serverul de licențe, leagă cheia de acest server Emby și afișează licența ca Active.
Licența este verificată o dată pe zi și la fiecare pornire a Emby. Fără internet, pluginul continuă să funcționeze 7 zile după ultima verificare reușită. Fără o licență validă, pluginul este oprit: sarcinile automate nu rulează, iar pagina publică de înregistrare afișează „unavailable”, dar conturile, codurile și setările existente rămân neatinse.
Pasul 2 — Configurează elementele de bază
Deschide Dashboard → Plugins → Registration. Pagina de configurare are o listă scurtă de setări:
| Setare | Ce face |
|---|---|
| Utilizator șablon | Conturile noi copiază bibliotecile și politicile de la acest utilizator. |
| Aprobare necesară | Conturile sunt dezactivate până când le aprobi în pagina pluginului. |
| Coduri de acces | Creează coduri: utilizări rămase, expirare, cod de familie (opțional). |
| Anti-bot | Activat implicit; limitează și încercările per IP. |
| URL public | Adresa la care este servit formularul, de ex. https://emby.example.com/registration. |
Setează mai întâi URL public. Aceasta este adresa pe care o vor deschide oamenii, așa că trebuie să corespundă cu ce servește efectiv reverse proxy-ul tău. Dacă ești în spatele unui proxy, asigură-te că calea de înregistrare este permisă acolo — un formular care nu este accesibil este aproape întotdeauna o regulă de proxy, nu pluginul.
Pasul 3 — Creează un utilizator șablon
Acesta este pasul care îți economisește cel mai mult timp mai târziu. Un utilizator șablon este un cont Emby normal ale cărui biblioteci, setări parentale și politici sunt copiate în fiecare cont nou creat prin pagina de înregistrare.
Creează în Emby un cont care reprezintă „un utilizator nou pe acest server”: bibliotecile pe care ar trebui să le vadă, setările parentale pe care le vrei ca implicit și nimic mai mult. Apoi selectează-l ca Utilizator șablon în setările pluginului.
Deoarece copierea are loc la crearea contului, modificarea șablonului mai târziu nu rescrie conturile existente — afectează doar conturile noi. Ține cont de asta dacă structura bibliotecilor se schimbă.
Pasul 4 — Alege între modul aprobare și conturi instant
Aprobare necesară menține fiecare cont nou dezactivat până când îl aprobi în pagina pluginului. Persoana poate completa formularul, dar nimeni nu intră până când nu spui tu da. Pentru un server deschis unui cerc mai larg, aceasta este varianta implicită mai sigură: vezi cererea, decizi.
Cu aprobarea oprită, contul este creat și utilizabil imediat. Este comod pentru un grup mic de persoane pe care le cunoști deja, dar lasă codul de acces să decidă cine intră.
În ambele cazuri, contul este creat dezactivat în momentul cererii, iar parola este gestionată de Emby; pluginul nu stochează parole.
Pasul 5 — Împarte coduri de acces
Codurile de acces sunt poarta de intrare. În setările pluginului creezi coduri cu:
- Utilizări rămase — un cod cu o singură utilizare pentru o persoană sau un cod cu utilizări multiple pentru un grup.
- Expirare — codul nu mai funcționează după acel moment.
- Cod de familie (opțional) — grupează conturile înrudite ca să le vezi și să le gestionezi împreună.
Un model practic: un cod cu o singură utilizare per persoană pentru invitații individuale și un cod de familie pentru o gospodărie, astfel încât conturile să rămână legate în vizualizarea ta. Dacă un cod este respins, verifică mai întâi utilizările rămase și expirarea în pagina pluginului — acestea sunt cele două cauze obișnuite.
Odată ce codul există, trimite linkul de înregistrare împreună cu codul. Persoana alege un nume de utilizator și o parolă în formularul public, personalizat cu numele serverului tău.
Pasul 6 — Ține boții afară
Provocarea anti-bot este activată implicit, iar pluginul limitează și încercările per IP. Las-o activată. Dacă vrei provocarea mai puternică, poți introduce propriile chei Cloudflare Turnstile; această opțiune este oprită implicit și activă doar când furnizezi chei. Când este activă, browserul vizitatorului încarcă widgetul Turnstile, iar serverul tău verifică răspunsul trimițând cheia secretă, tokenul și adresa IP a vizitatorului către challenges.cloudflare.com.
Un detaliu de confidențialitate de reținut: la trimiterea formularului, pluginul verifică parola față de Have I Been Pwned – Pwned Passwords trimițând doar primii 5 caractere din hash-ul SHA-1 al parolei (k-anonymity, cu padding). Parola și hash-ul complet nu părăsesc niciodată serverul tău. Poți dezactiva această verificare, iar dacă serviciul este indisponibil, înregistrarea continuă.
Pasul 7 — Pune linkul la îndemâna oamenilor
Pagina publică de înregistrare funcționează în orice browser, pe desktop și pe telefon. Pe ecranul de autentificare, butonul „Create account” este doar pentru Emby Web: pluginul adaugă un script în dashboard-ui/index.html, iar acesta este reaplicat după actualizările Emby. Aplicațiile native Emby (Android, iOS, Android TV, Samsung, LG, Roku, Apple TV) nu pot afișa acel buton, așa că trimite-le acelor persoane linkul direct.
Pentru televizoare, pagina detectează browserele de TV și afișează un cod QR pentru telefon. Codurile QR sunt generate pe server.
Utilizare zilnică
- Creează un cod de acces și trimite linkul de înregistrare împreună cu codul.
- Persoana alege un nume de utilizator și o parolă; cu aprobarea activată, confirmi contul în pagina pluginului.
- Codurile de familie îți permit să vezi și să gestionezi împreună conturile înrudite.
Sfaturi și depanare
- Formularul nu este accesibil. Asigură-te că calea este permisă de reverse proxy-ul tău și că URL public corespunde cu ea.
- Un cod este respins. Verifică utilizările rămase și expirarea în pagina pluginului.
- Butonul de pe ecranul de autentificare a dispărut. Este reaplicat după actualizările Emby; dacă nu poate fi restaurat, logul este trimis doar dacă trimiterea automată a logurilor este activată.
- Email. Nu se trimite nimic până când nu configurezi SMTP. După aceea, solicitanții primesc o confirmare și decizia (aprobat sau respins), plus mesajul de acces pe care îl compui, care poate conține o parolă generată. Notificările pentru administrator sunt oprite implicit. STARTTLS este implicit.
- Notificările Telegram sunt opționale și oprite implicit. Dacă sunt activate, mesajele pentru administrator includ datele cererii (nume, nume de utilizator, email, telefon, IP, țara Cloudflare).
- Date pe disc. Cererile sunt stocate în
data/registrations.json(mod 600). Cererile respinse, expirate sau șterse sunt curățate după 30 de zile; cererile în așteptare expiră după 7 zile, iar contul dezactivat este șters. Când un utilizator este șters, datele sale personale din plugin sunt eliminate imediat. Datele nu sunt șterse la dezinstalare decât dacă bifezi acea opțiune. - Secrete. Parola SMTP, tokenul Telegram, secretul Turnstile și cheia HMAC a formularului sunt criptate în repaus în
secrets.enc.json(AES-256-GCM) și nu sunt niciodată trimise către browser.
Concluzie
O pagină publică de înregistrare cu coduri de acces transformă o corvoadă recurentă de administrare într-o configurare unică: un utilizator șablon definește valorile implicite, modul aprobare te ține la curent, iar codurile plus provocarea anti-bot decid cine poate cere acces. Dacă vrei să mergi mai departe, pluginul funcționează și cu pluginul Cashier pentru planuri plătite și cu Quick Connect pentru autentificarea de pe telefon.
Referința completă este în ghidul utilizatorului, iar pluginul îl găsești pe pagina produsului Registration. Mai multe materiale despre self-hosting găsești în baza de cunoștințe și în FAQ; dacă ceva nu se potrivește cu configurația ta, contactează-ne.