Un server Emby pus în spatele Cloudflare înseamnă de obicei o duzină de pași manuali în două locuri și o greșeală ușor de făcut: video trimis prin CDN-ul Cloudflare, ceea ce termenii Cloudflare pentru planurile Free, Pro și Business nu permit. Edge Shield pentru Cloudflare® face toată configurarea din tabloul de bord Emby, cu propriul tău token API Cloudflare, și lasă fluxurile video să meargă direct la serverul tău.
Ce face
- Conectare: un token API restrâns la zona ta, păstrat criptat (AES-256-GCM) pe server și niciodată afișat din nou în browser; alegerea zonei și verificarea fiecărei permisiuni de care are nevoie tokenul.
- „Stream offload” (modul recomandat): gazda aplicației (de exemplu
media.example.com) trece prin proxy-ul Cloudflare pentru interfața web, API și conectare, iar cererile de video, audio și descărcare sunt redirecționate (307) spre o gazdă de streaming (de exempludirect.example.com) „DNS only”, care merge direct la serverul tău. Există și un mod „Doar DNS” pentru cine nu vrea proxy. - DNS: înregistrările A / AAAA ale celor două nume, cu IP-ul public detectat și actualizat automat (DDNS).
- TLS în Cloudflare: SSL Full (strict), Always Use HTTPS, versiunea TLS minimă, TLS 1.3, HSTS opțional.
- Certificat Let's Encrypt pentru ambele nume prin ACME DNS-01 (cu același token, fără portul 80), reînnoit automat cu 30 de zile înainte de expirare și pus în Emby ca fișier
.pfx. - Reguli Cloudflare potrivite pentru planul Free: redirecționarea fluxurilor, fără cache pe căile media, lista de blocare, blocarea antetelor IP trimise de client, țările permise, limită la login și portul de origine (de exemplu când routerul folosește în exterior 2096). Regulile tale rămân neatinse; Scoate regulile Edge Shield șterge doar ce a creat plugin-ul.
- IP-ul real al clienților: Emby e setat să citească adresa transmisă de proxy, iar o regulă Cloudflare blochează cererile care își aduc propriile antete IP, ca Emby să nu poată vedea o adresă falsă.
- Protecție dinamică: un IP cu prea multe conectări eșuate (implicit 5 în 10 minute) intră în lista Cloudflare
medialab_blockedși e blocat la margine 24 de ore, ×4 la fiecare recidivă (cel mult 30 de zile); intrările expiră singure. Listă de excepții, blocare și deblocare manuală și comutator Under Attack temporizat, care se oprește singur. - Stare și remediere: fiecare punct verificat, cu buton Remediază pe fiecare rând și Remediază tot; comenzile de firewall pentru restricționarea portului sunt afișate, gata de copiat.
- În română și engleză.
Ce trimite și unde
- La Cloudflare, prin API-ul lui și cu tokenul tău: setările zonei, înregistrările DNS (cu IP-ul public al serverului), regulile și adresele IP de blocat. Comentariul unei intrări din lista de blocare conține momentul expirării și motivul (numărul de conectări eșuate sau „manual” cu nota scrisă de tine la o blocare manuală). Din 0.1.1 numele de utilizator încercat nu mai ajunge la Cloudflare: rămâne doar pe serverul tău, în lista de blocări și în jurnalul din pagina plugin-ului.
- Pentru IP-ul public (DDNS), serverul citește
https://www.cloudflare.com/cdn-cgi/trace; lista intervalelor IP Cloudflare se citește zilnic din API-ul public Cloudflare. - La Let's Encrypt: cererea de certificat pentru cele două nume de gazdă (și adresa de e-mail, dacă o scrii). Cheia privată se creează pe serverul tău și nu pleacă de acolo.
- Tokenul e păstrat doar criptat pe server și nu se trimite niciodată în browser.
- La medialab.works nu ajunge nimic în afară de verificarea licenței.
Detaliile complete pentru fiecare produs, inclusiv ce rămâne pe serverul tău: Licențe, confidențialitate și compatibilitate.
Compatibilitate cu clienții
Edge Shield lucrează la nivelul serverului și al rețelei, deci se aplică tuturor aplicațiilor. Ce s-a verificat până acum:
- Emby Web: redare reală prin „stream offload”, fără niciun octet video prin Cloudflare; pagina de administrare pe calculator și pe telefon.
- Aplicațiile Emby (Android, iOS, Android TV, Samsung, LG, Roku, Apple TV): netestate încă. În modul „stream offload” o aplicație trebuie să urmeze redirecționarea 307 pentru media; dacă una nu o urmează, folosește modul „DNS only”.
- Edge Shield a fost verificat pe un simulator al API-ului Cloudflare; verificarea pe API-ul real Cloudflare este încă în curs.
Cerințe
- Emby Server 4.10.1 sau mai nou (Linux, Windows sau Docker).
- Un cont Cloudflare cu zona domeniului tău; planul Free este suficient.
- Un token API Cloudflare („Custom token”, restrâns la zona ta) cu: Zone · Zone · Read, Zone · DNS · Edit, Zone · Zone Settings · Edit, Zone · SSL and Certificates · Edit, Zone · Zone WAF · Edit, Zone · Single Redirect · Edit, Zone · Cache Rules · Edit, Zone · Origin Rules · Edit, Account · Account Filter Lists · Edit. Pagina plugin-ului le arată și le verifică.
- Pentru „stream offload”: porturi HTTPS redirecționate din router spre Emby pentru gazda aplicației și pentru gazda de streaming.
Limite
- Gazda de streaming e „DNS only”, deci IP-ul public al serverului e vizibil pentru oricine îl caută. Fluxurile cer în continuare un token Emby valid; Emby nu le permite plugin-urilor să filtreze cererile după gazdă, așa că pe Emby gazda de streaming e protejată de blocarea la conectare a Emby și de numărarea conectărilor eșuate (IP-ul e blocat oricum pe gazda aplicației).
- Under Attack cere fiecărui vizitator o verificare JavaScript: aplicațiile native (Android TV, Roku, iOS, Kodi…) nu trec de ea și nu se conectează cât timp e activ. Folosește-l doar în timpul unui atac, pentru scurt timp.
- Fără Cloudflare Tunnel și fără certificat Origin CA în această versiune: ambele ar trece video prin Cloudflare sau ar cere un certificat în care browserele nu au încredere pe gazda directă.
- Setările serverului schimbate de Edge Shield (HTTPS, certificat, adresa transmisă de proxy) intră în vigoare după repornirea Emby Server.
Licențiere
O licență per server Emby. Lunar, anual sau lifetime, sau inclus în Pachetul Emby. 30 de zile de probă gratuită. Plugin-ul este licențiat conform EULA.
Edge Shield este cod propriu, scris de la zero de MediaLab Works; nu conține cod de la terți și folosește doar .NET și Emby. Cloudflare este o marcă înregistrată a Cloudflare, Inc.; Edge Shield nu este afiliat cu Cloudflare și nu este aprobat de Cloudflare.
