Edge Shield für Emby

Für Emby: Cloudflare aus dem Dashboard einrichten: DNS und DDNS, SSL Full (strict), ein Let's-Encrypt-Zertifikat, Edge-Regeln und Blockieren fehlgeschlagener Anmeldungen.

Connect once with a Cloudflare API token limited to your zone: it is kept encrypted on the server and never shown again1 von 8

Einen Emby-Server hinter Cloudflare zu betreiben bedeutet normalerweise ein Dutzend manueller Schritte an zwei Orten — und ein leicht gemachter Fehler: Video durch das Cloudflare-CDN zu schicken, was die Cloudflare-Bedingungen für die Tarife Free, Pro und Business nicht erlauben. Edge Shield für Cloudflare® erledigt die komplette Einrichtung aus dem Emby-Dashboard, mit deinem eigenen Cloudflare-API-Token, und lässt die Videostreams direkt zu deinem Server laufen.

Was es macht

  • Connection: ein API-Token, auf deine Zone beschränkt, verschlüsselt (AES-256-GCM) auf dem Server gespeichert und im Browser nie wieder angezeigt; die Zonenauswahl und eine Prüfung jeder Berechtigung, die der Token braucht.
  • „Stream Offload“ (empfohlener Modus): Der App-Host (zum Beispiel media.example.com) geht für die Weboberfläche, die API und die Anmeldung über den Cloudflare-Proxy, während Video-, Audio- und Download-Anfragen (307) zu einem Streaming-Host (zum Beispiel direct.example.com) umgeleitet werden, der „DNS only“ ist und direkt zu deinem Server geht. Ein Modus „DNS only“ ist für alle da, die den Proxy nicht wollen.
  • DNS: die A-/AAAA-Einträge beider Namen, mit der erkannten und automatisch aktuell gehaltenen öffentlichen IP (DDNS).
  • TLS in Cloudflare: SSL Full (strict), Always Use HTTPS, minimale TLS-Version, TLS 1.3, optional HSTS.
  • Let's-Encrypt-Zertifikat für beide Namen über ACME DNS-01 (mit demselben Token, kein Port 80 nötig), automatisch 30 Tage vor Ablauf erneuert und in Emby als .pfx-Datei gesetzt.
  • Cloudflare-Regeln, die zum Free-Tarif passen: die Stream-Umleitung, kein Caching von Mediapfaden, die Blockliste, das Blockieren clientseitig gesendeter IP-Header, erlaubte Länder, ein Login-Rate-Limit und der Origin-Port (zum Beispiel wenn dein Router außen 2096 nutzt). Deine eigenen Regeln bleiben unangetastet; Remove the Edge Shield rules löscht nur, was das Plugin erstellt hat.
  • Echte Client-IP: Emby wird so eingestellt, dass es die weitergeleitete Adresse liest, und eine Cloudflare-Regel blockiert Anfragen mit eigenen IP-Headern, sodass Emby keine gefälschte Adresse vorgesetzt bekommen kann.
  • Dynamischer Schutz: eine IP mit zu vielen fehlgeschlagenen Anmeldungen (standardmäßig 5 in 10 Minuten) landet in der Cloudflare-Liste medialab_blocked und wird für 24 Stunden am Edge blockiert, ×4 bei jeder Wiederholung (maximal 30 Tage); Einträge laufen von selbst ab. Allowlist, manuelles Sperren und Entsperren sowie ein zeitgesteuerter Under-Attack-Schalter, der sich selbst ausschaltet.
  • Status and fixes: jeder Punkt geprüft, mit einem Button Fix pro Zeile und Fix everything; die Firewall-Befehle zur Port-Beschränkung werden fertig zum Kopieren angezeigt.
  • Auf Englisch und Rumänisch.

Was es wohin sendet

  • An Cloudflare, über dessen API und mit deinem eigenen Token: die Zoneneinstellungen, die DNS-Einträge (mit der öffentlichen IP deines Servers), die Regeln und die zu blockierenden IP-Adressen. Der Kommentar eines Blocklist-Eintrags enthält das Ablaufdatum und den Grund (die Anzahl fehlgeschlagener Anmeldungen oder „manual“ mit der Notiz, die du für einen manuellen Block geschrieben hast). Seit 0.1.1 wird der versuchte Benutzername nicht mehr an Cloudflare gesendet: Er bleibt nur auf deinem Server, in der Blockliste und im Log der Plugin-Seite.
  • Zur Erkennung deiner öffentlichen IP (DDNS) liest der Server https://www.cloudflare.com/cdn-cgi/trace; die Liste der Cloudflare-IP-Bereiche wird täglich aus der öffentlichen Cloudflare-API gelesen.
  • An Let's Encrypt: die Zertifikatsanfrage für deine beiden Hostnamen (und die E-Mail-Adresse, falls du eine angibst). Der private Schlüssel wird auf deinem Server erstellt und verlässt ihn nie.
  • Der Token wird nur verschlüsselt auf deinem Server gespeichert und nie an den Browser gesendet.
  • An medialab.works geht nichts außer der Lizenzprüfung.

Alle Details zu jedem Produkt, auch dazu, was auf deinem Server bleibt: Lizenzierung, Datenschutz und Kompatibilität.

Kompatibilität mit Clients

Edge Shield arbeitet auf Server- und Netzwerkebene, gilt also für jede App. Was bisher geprüft wurde:

  • Emby Web: echte Wiedergabe über „Stream Offload“, ohne Videobytes durch Cloudflare; die Admin-Seite auf dem Desktop und auf dem Handy.
  • Emby-Apps (Android, iOS, Android TV, Samsung, LG, Roku, Apple TV): noch nicht getestet. Im Modus „Stream Offload“ muss eine App der 307-Umleitung für Medien folgen; falls eine das nicht tut, nutze den Modus „DNS only“.
  • Edge Shield wurde gegen einen Simulator der Cloudflare-API geprüft; die Prüfung gegen die echte Cloudflare-API läuft noch.

Voraussetzungen

  • Emby Server 4.10.1 oder neuer (Linux, Windows oder Docker).
  • Ein Cloudflare-Konto mit der Zone deiner Domain; der Free-Tarif reicht.
  • Ein Cloudflare-API-Token („Custom token“, auf deine Zone beschränkt) mit: 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. Die Plugin-Seite listet sie auf und prüft sie.
  • Für „Stream Offload“: vom Router an Emby weitergeleitete HTTPS-Ports für den App-Host und den Streaming-Host.

Einschränkungen

  • Der Streaming-Host ist „DNS only“, deine Server-IP ist also für jeden sichtbar, der sie nachschaut. Streams brauchen trotzdem ein gültiges Emby-Token; Emby bietet Plugins keine Möglichkeit, Anfragen nach Host zu filtern, deshalb ist der Streaming-Host bei Emby durch Embys eigene Anmeldesperre und die Anzahl fehlgeschlagener Anmeldungen geschützt (die IP wird weiterhin am App-Host blockiert).
  • Under Attack fordert jeden Besucher zu einem JavaScript-Check auf: native Apps (Android TV, Roku, iOS, Kodi …) können ihn nicht bestehen und verbinden sich nicht, solange er an ist. Nutze ihn nur während eines Angriffs und nur kurz.
  • Kein Cloudflare-Tunnel und kein Origin-CA-Zertifikat in dieser Version: beides würde Video durch Cloudflare schicken oder ein Zertifikat brauchen, dem Browser auf dem direkten Host nicht vertrauen.
  • Servereinstellungen, die Edge Shield ändert (HTTPS, Zertifikat, Forwarded Address), greifen nach einem Neustart von Emby Server.

Lizenzierung

Eine Lizenz pro Emby-Server. Monatlich, jährlich oder als Lifetime-Lizenz, oder enthalten im Emby-Paket. 30 Tage kostenlos testen. Das Plugin ist unter unserer EULA lizenziert.

Edge Shield ist unser eigener Code, von MediaLab Works von Grund auf geschrieben; er enthält keinen Code Dritter und nutzt nur .NET und Emby. Cloudflare ist eine eingetragene Marke der Cloudflare, Inc.; Edge Shield ist nicht mit Cloudflare verbunden oder von Cloudflare unterstützt.

Voraussetzungen

  • Emby Server 4.10.1 oder neuer (Linux, Windows oder Docker)
  • Ein Cloudflare-Konto mit der Zone deiner Domain (der Free-Tarif reicht)
  • Ein auf die Zone beschränktes Cloudflare-API-Token mit den auf der Plugin-Seite aufgeführten Berechtigungen
  • Für den Stream-Offload: HTTPS-Ports zum Server weitergeleitet, für den App-Host und den Streaming-Host

Neueste Version

0.1.5
veröffentlicht am 20.10.2026
Alle Änderungen ansehen →