Edge Shield para Emby — guía
Instalación
Necesitas Emby Server 4.10.1 o posterior.
- Inicia sesión en tu cuenta de MediaLab Works, abre Licenses y descarga el DLL del plugin (disponible con una suscripción activa, con una licencia de por vida dentro de su período de actualizaciones o durante la prueba gratuita de 30 días).
- Copia el DLL en la carpeta de plugins de Emby y reinicia Emby Server:
- Linux (paquete):
/var/lib/emby/plugins/ - Docker: la carpeta
pluginsdentro del volumen de configuración de Emby - Windows:
%AppData%\Emby-Server\programdata\plugins\
- Linux (paquete):
- Abre Edge Shield en el menú del panel de Emby y haz clic en License. Pega tu clave de licencia y actívala, o escribe tu correo para empezar la prueba gratuita de 30 días o comprar una licencia. El plugin contacta con el servidor de licencias, vincula la clave a este servidor de Emby y muestra la licencia como Active.
La licencia se comprueba una vez al día (y en cada arranque de Emby). Sin internet, el plugin sigue funcionando 7 días después de la última comprobación correcta; después se detiene hasta que pueda comprobarla de nuevo.
Licencia
Sin una licencia válida, el plugin se detiene; solo sigue funcionando la página License (desde ella puedes empezar la prueba, comprar, introducir la clave o actualizar).
Con una licencia válida, esa misma página puede instalar una actualización o volver a la versión anterior si una actualización causa problemas. Reinicia Emby después de cualquiera de las dos.
Configuración
- Connection: en Cloudflare crea un token de API (Create Token → Custom token), restringido a tu zona, con los permisos que enumera la página: 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 y Account · Account Filter Lists · Edit. Pégalo y, después, elige la zona (tu dominio). El token se guarda cifrado en el servidor y nunca se vuelve a mostrar; un permiso que falta se indica en la página de estado.
- Mode:
- Recomendado: la interfaz a través de Cloudflare, el vídeo directo («stream offload»). El app host pasa por el proxy de Cloudflare; las solicitudes de vídeo, audio y descarga se redirigen (307) al streaming host, que está como «DNS only» y va directo a tu servidor.
- DNS only (sin proxy): Cloudflare solo para DNS, DDNS y el certificado. Las reglas WAF y el bloqueo en el borde no se aplican, porque el tráfico no pasa por Cloudflare.
- Nombres y puertos: el app host (por ejemplo
media.example.com) con el puerto HTTPS que usan tus clientes (443, o uno de los puertos que Cloudflare proxifica: 2053, 2083, 2087, 2096, 8443), el puerto externo que tu router redirige al servidor (si es distinto, Edge Shield añade una regla de origen) y el streaming host (por ejemplodirect.example.com) con su puerto HTTPS externo. La IPv4 pública se detecta cuando el campo está vacío; el DDNS mantiene los registros actualizados cuando cambia. - Certificado del servidor: Let's Encrypt automáticamente (DNS-01, con el token) para ambos nombres, o uno que gestiones tú. Full (strict) necesita un certificado válido en el servidor. El certificado se renueva 30 días antes de caducar.
- TLS: la versión mínima de TLS y, opcionalmente, HSTS en el app host (actívalo solo cuando HTTPS funcione de forma fiable; es difícil de deshacer).
- Protección: bloqueo automático de las IP con inicios de sesión fallidos (5 en 10 minutos y 24 horas por defecto, ×4 en cada repetición), las IP o rangos CIDR que nunca deben bloquearse, el límite de velocidad de inicio de sesión (más de 10 solicitudes en 10 s desde una IP → bloqueo de 10 s), el bloqueo de las cabeceras IP enviadas por el cliente y los países permitidos (códigos ISO; vacío significa todos).
- Guarda y, después, abre Status and fixes y haz clic en Fix everything, para que los ajustes y las reglas lleguen a Cloudflare y a Emby. Reinicia Emby Server cuando la página lo indique (los ajustes de HTTPS, el certificado y la dirección reenviada se aplican tras reiniciar).
Uso diario
- La página de estado comprueba el token, los registros DNS, los ajustes de TLS, el certificado, las reglas, la IP real del cliente y HTTPS en Emby; cada problema tiene un botón Fix.
- Blocked IPs: la lista muestra la dirección, el motivo y la caducidad; puedes desbloquear una IP o bloquear una a mano, con una nota y una duración. Tu LAN, los rangos de Cloudflare y la lista de permitidos nunca se bloquean.
- Under Attack: actívalo de 30 minutos a 12 horas durante un ataque; se desactiva solo. Mientras está activo, las apps nativas (Android TV, Roku, iOS, Kodi…) no pueden conectarse.
- Restricción de puertos (firewall): la página muestra comandos listos para que solo Cloudflare alcance el puerto del app host; Edge Shield nunca cambia tu firewall por sí mismo.
- Remove the Edge Shield rules borra solo las reglas que creó el plugin; los ajustes de DNS y TLS se quedan como están.
Qué envía y adónde
- A Cloudflare, con tu token: los ajustes de la zona, los registros DNS con tu IP pública, las reglas y las IP que bloquear. El comentario de una entrada de la lista de bloqueo solo contiene la caducidad y el motivo (el número de inicios de sesión fallidos, o «manual» con tu nota). Desde la versión 0.1.1 el nombre de usuario intentado no se envía a Cloudflare; permanece en la lista de bloqueo y en el registro de tu servidor.
https://www.cloudflare.com/cdn-cgi/tracepara detectar la IP pública, y la API pública de Cloudflare para sus rangos de IP (cada día).- A Let's Encrypt: la solicitud de certificado para tus nombres de host; la clave privada permanece en tu servidor.
- No va nada a medialab.works salvo la comprobación de la licencia.
Resolución de problemas
- «The token lacks the … permission»: edita el token en Cloudflare, añade el permiso que se muestra y vuelve a hacer clic en Fix.
- «Video would flow through the Cloudflare CDN»: el app host está proxificado pero no hay ningún streaming host configurado. Configura un streaming host («DNS only») o cambia al modo DNS only.
- «The server's public IP could not be detected»: introduce la IPv4 pública en los ajustes.
- Las apps no pueden conectarse: comprueba que Under Attack esté desactivado y que el puerto externo del streaming host se redirija al puerto HTTPS de Emby.
- Los cambios no aparecen en Emby: la página de estado indica Restart needed; reinicia Emby Server.