MediaLab Marketplace para Jellyfin — guía de instalación y uso

Producto gratuito en medialab.works. Instala, actualiza, desinstala y vuelve a versiones anteriores de todos los plugins de MediaLab que cubre la licencia del servidor, desde un solo lugar. Actualización automática nocturna (04:00 por defecto) y reinicio automático solo cuando nadie está viendo.

Requisitos

  • Emby Server 4.10.1+ o Jellyfin 12.x / medialab Server.
  • La clave de licencia del servidor (el paquete MediaLab — la misma clave con la que se activan los demás plugins).
  • Acceso al panel de administración del servidor.

Instalación desde la terminal

Linux (Emby)

# 1. Descarga la DLL (desde tu cuenta de medialab.works → producto MediaLab Marketplace, o con el enlace firmado)
#    Ejemplo con la clave de licencia (sustituye <RELEASE_ID> y <KEY>):
curl -fL -o /tmp/MediaLabMarketplace.dll \
  "https://medialab.works/api/license/catalog/download/<RELEASE_ID>/<KEY>"

# 2. Verifica la suma de control (está en la página de la versión)
sha256sum /tmp/MediaLabMarketplace.dll

# 3. Copia en la carpeta de plugins y reinicia Emby (cuando nadie esté viendo)
sudo install -o emby -g emby -m 644 /tmp/MediaLabMarketplace.dll /var/lib/emby/plugins/
sudo systemctl restart emby-server
sudo systemctl status emby-server --no-pager

Linux (Jellyfin / medialab Server)

# Jellyfin se instala desde un zip, en su propia carpeta (¡NO la nombres como la DLL!)
curl -fL -o /tmp/jf-marketplace.zip \
  "https://medialab.works/api/license/catalog/download/<RELEASE_ID>/<KEY>"
sudo mkdir -p "/var/lib/jellyfin/plugins/MediaLab Marketplace_<version>.0"
sudo unzip -o /tmp/jf-marketplace.zip -d "/var/lib/jellyfin/plugins/MediaLab Marketplace_<version>.0"
sudo chown -R jellyfin:jellyfin "/var/lib/jellyfin/plugins/MediaLab Marketplace_<version>.0"
sudo systemctl restart jellyfin
sudo systemctl status jellyfin --no-pager

En el contenedor mlprod (medialab Server) la ruta es la del contenedor; las actualizaciones se hacen desde la página del plugin o desde el actualizador del sistema.

Windows (Emby) — PowerShell como administrador

# 1. Descarga la DLL en la carpeta temporal
Invoke-WebRequest -Uri "https://medialab.works/api/license/catalog/download/<RELEASE_ID>/<KEY>" `
  -OutFile "$env:TEMP\MediaLabMarketplace.dll" -UseBasicParsing

# 2. Verifica sha256 (compáralo con el de la página de la versión)
Get-FileHash "$env:TEMP\MediaLabMarketplace.dll" -Algorithm SHA256

# 3. Copia en la carpeta de plugins de Emby y reinicia el servicio
Copy-Item "$env:TEMP\MediaLabMarketplace.dll" "C:\ProgramData\Emby-Server\programdata\plugins\" -Force
Get-Service "Emby Server" | Restart-Service
Get-Service "Emby Server"

Windows (Jellyfin) — PowerShell como administrador

# Jellyfin: descomprime el zip en una carpeta nueva dentro de plugins
$dest = "C:\ProgramData\Jellyfin\Server\plugins\MediaLab Marketplace_<version>.0"
Expand-Archive -Path "$env:TEMP\jf-marketplace.zip" -DestinationPath $dest -Force
Get-Service "JellyfinServer" | Restart-Service
Get-Service "JellyfinServer"

Si el servicio tiene otro nombre, compruébalo con Get-Service | Where-Object DisplayName -like "*Emby*" o Get-Service | Where-Object DisplayName -like "*Jellyfin*".

Uso

  1. Abre el panel de administración → MediaLab Marketplace.
  2. Pega la clave de licencia (del paquete) y pulsa Guardar. La clave se guarda cifrada, nunca en claro.
  3. Pulsa Recargar catálogo: verás todos los plugins cubiertos por la licencia, la versión instalada y la más reciente.
  4. Instalar / Actualizar / Volver (rollback) / Desinstalar desde los botones de cada fila.
  5. Actualización automática: a las 04:00 por defecto, solo versiones estables, por plugin (interruptor en cada fila). El servidor se reinicia solo cuando nadie está viendo; si un plugin no se carga tras el reinicio, vuelve solo a la versión anterior.
  6. El historial de la página del plugin muestra qué se añadió y qué versión está instalada.

Antes de colocar un archivo, el Marketplace comprueba su SHA-256 y la firma de MediaLab con la clave incluida en el plugin. Un archivo que no supera la comprobación se rechaza.

Solución de problemas

  • «No se pudo cargar el catálogo» / HTTP 403: la petición a la plataforma (POST /api/license/catalog) está bloqueada por Cloudflare; se resuelve con una excepción WAF en la plataforma (no en tu servidor). Si sigue apareciendo, envía al soporte cf-ray y el User-Agent.
  • El plugin no aparece tras copiarlo: comprueba el propietario del archivo (emby/jellyfin), la ruta correcta y reinicia el servicio.
  • Windows: usa PowerShell como administrador; la carpeta de Emby es C:\ProgramData\Emby-Server\programdata\plugins, la de Jellyfin C:\ProgramData\Jellyfin\Server\plugins.
  • «No cubierto»: la clave es válida pero no cubre ningún plugin de MediaLab, o este plugin no forma parte de ella. Revisa la licencia en tu cuenta.
  • «No activado»: el id del servidor no corresponde a una activación de la clave; abre la página de Licencia de cualquier plugin instalado y actívala una vez con la misma clave.
  • La descarga falla: el enlace firmado caduca a los 30 minutos; pulsa Recargar catálogo para obtener uno nuevo.
  • Un archivo se rechaza tras la descarga: el SHA-256 o la firma no coinciden; inténtalo de nuevo y, si persiste, contacta con el soporte.

Este plugin es gratuito. Inicia sesión o crea una cuenta para descargarlo, sin compra ni periodo de prueba.