RDP Monster

Servidor Xtream: instalar Xtream UI en Ubuntu paso a paso

Servidor Xtream: instalar Xtream UI en Ubuntu paso a paso

Qué es realmente un servidor Xtream

Un servidor Xtream es una máquina Linux que ejecuta un panel de gestión IPTV que habla la API de Xtream Codes. El panel hace tres cosas: ingesta streams en directo y fuentes de vídeo, gestiona líneas (cuentas de usuario con nombre de usuario, contraseña, fecha de caducidad y un límite de conexiones) y lo sirve todo de vuelta por HTTP a través de unos pocos endpoints bien conocidos: player_api.php para los metadatos, get.php para las listas M3U y xmltv.php para los datos de EPG. Como casi todas las aplicaciones cliente IPTV implementan esta API, «servidor Xtream» se ha convertido en la forma abreviada de referirse a cualquier panel que la exponga, sea cual sea el software que corra por debajo.

Una frase sobre el alcance antes de la parte técnica: esta guía cubre únicamente la infraestructura y la administración del panel, y el operador es responsable de poseer los derechos de emisión de cada stream distribuido a través del panel. Si los conceptos de base te resultan nuevos, empieza por nuestra introducción a cómo funciona la IPTV a nivel de protocolo: la terminología del panel tendrá mucho más sentido después.

De Xtream Codes a Xtream UI y XUI.one

Xtream Codes fue el panel comercial que definió la categoría. En septiembre de 2019, una operación policial coordinada por las autoridades italianas y Europol incautó la infraestructura de la empresa, y el software nunca volvió a venderse ni actualizarse. La API del lado cliente, sin embargo, ya era el estándar del sector, así que el ecosistema sobrevivió a la empresa.

Dos proyectos llenaron el hueco. Xtream UI es un fork comunitario gratuito construido sobre el último código público 2.9; mantuvo el panel con vida durante años, pero su desarrollo público está prácticamente detenido. XUI.one es un panel comercial de código cerrado escrito por un antiguo desarrollador de Xtream UI y es hoy el sucesor mantenido de facto. Ambos conservan la misma API, el mismo modelo de líneas y los mismos puertos por defecto, razón por la cual las guías de instalación de uno sirven en gran medida para el otro, y por la que este artículo se mantiene agnóstico respecto al fork.

Requisitos del servidor: CPU, RAM y ancho de banda

Todos los forks piden una instalación limpia y mínima de Ubuntu LTS, y la mayoría apuntan a una versión concreta: consulta la documentación del fork antes de contratar el servidor, porque instalar sobre una versión equivocada de Ubuntu es la causa más habitual de una instalación rota. El instalador despliega su propio nginx, PHP y MariaDB empaquetados en /home/xtreamcodes/, así que no lo pongas nunca en una máquina que ya ejecute una pila web o un panel de control de hosting: se pelearán por los puertos y los paquetes.

El dimensionamiento se reduce a una pregunta: ¿vas a hacer restreaming (pasar los streams sin tocarlos) o transcodificación (recodificarlos con ffmpeg)? El restreaming apenas toca la CPU: el servidor se limita casi siempre a copiar bytes entre sockets. La transcodificación por software cuesta aproximadamente un núcleo moderno por canal 1080p, y ahí es donde los presupuestos se disparan. En cuanto a la RAM, 4 GB bastan para un panel de pruebas pequeño; 8 GB o más es razonable en producción, en cuanto se acumulan la caché de MariaDB y unos cuantos procesos ffmpeg. Mantén la base de datos en almacenamiento SSD.

El ancho de banda es pura aritmética: espectadores simultáneos en pico multiplicados por el bitrate del stream, más margen. Ningún ajuste del panel cambia esa cuenta.

Espectadores simultáneos en picoCPU (solo restreaming)RAMAncho de banda a 8 Mbps por espectador
252 núcleos4 GB~200 Mbps
1004 núcleos8 GB~800 Mbps
2506-8 núcleos16 GB~2 Gbps

Estas cifras suponen solo restreaming y un bitrate 1080p típico de 8 Mbps; la transcodificación multiplica la columna de CPU, no la del ancho de banda. El caudal sostenido importa mucho más que la velocidad de puerto anunciada, así que prueba con carga real. Si prefieres saltarte los deberes de dimensionado, nuestros servidores diseñados para cargas de streaming están dimensionados exactamente para este tipo de uso de caudal sostenido.

Instalar un panel tipo Xtream UI en Ubuntu

Cada fork trae su propio instalador, pero todos siguen la misma estructura de tres pasos. Los comandos siguientes son deliberadamente genéricos: descarga el instalador únicamente desde la página oficial de releases de tu fork, nunca desde una resubida cualquiera, y lee el script antes de ejecutarlo como root.

Paso 1: Preparar un sistema limpio

apt update && apt upgrade -y
apt install -y wget unzip python3 net-tools
timedatectl set-timezone UTC

Reinicia si se ha instalado un kernel nuevo y ajusta la zona horaria con intención: la programación del EPG depende del reloj del sistema, y una desviación produce guías de programación desfasadas en horas.

Paso 2: Ejecutar el instalador del fork

cd /root
wget "$INSTALLER_URL" -O install.py   # from your fork's official release page
python3 install.py

El script instala la pila empaquetada, crea la base de datos (Xtream UI, por ejemplo, ejecuta su propio MariaDB en 127.0.0.1:7999 con una base de datos llamada xtream_iptvpro) e imprime la URL de administración, el puerto y las credenciales al terminar. Apúntalos de inmediato: algunos forks generan una ruta o un puerto de administración aleatorios y no los mostrarán una segunda vez.

Paso 3: Primer inicio de sesión y comprobaciones básicas

Abre http://your-server-ip:25500 en un navegador, inicia sesión con las credenciales generadas y cambia la contraseña de administrador antes que nada. Después confirma que los servicios están realmente escuchando:

ss -tlnp | grep -E '25500|25461'

Deberías ver el nginx empaquetado del panel asociado a ambos puertos. A partir de ahí, el trabajo del lado del panel (definir el servidor principal, crear categorías y una línea de prueba) se hace por completo en la interfaz web.

Puertos, proxy inverso y TLS

Los valores por defecto heredados de Xtream Codes son 25500 para el panel de administración y 25461 para la salida HTTP orientada al cliente: el puerto al que se conectan las líneas para las listas y los streams. Abre solo lo que necesites y bloquea el resto con el firewall; si tu IP de administración es estática, restringe el puerto del panel a esa IP:

ufw allow 22/tcp
ufw allow 25461/tcp
ufw allow from YOUR_ADMIN_IP to any port 25500 proto tcp
ufw enable

Después verifica qué ve realmente el exterior: nuestra guía para comprobar puertos abiertos en Linux cubre ss, nmap y la diferencia entre estar a la escucha y ser accesible.

Muchos operadores ponen nginx o HAProxy delante del puerto de cliente en 80, 443 u 8080, porque algunas redes bloquean directamente los puertos no estándar; el proxy también puede terminar TLS para el panel de administración. Una advertencia honesta: muchos descodificadores antiguos y aplicaciones IPTV siguen funcionando mejor con HTTP sin cifrar, así que prueba con tu mezcla real de clientes antes de forzar HTTPS en el puerto de streaming. Y no confundas nada de esto con seguridad: mover el panel de administración a un puerto poco habitual solo reduce el ruido de los escáneres en tus logs. El endurecimiento real es un firewall estricto, contraseñas únicas y robustas, TLS en la interfaz de administración y un sistema operativo actualizado.

Copias de seguridad, monitorización y actualizaciones

La base de datos es el panel: streams, líneas, bouquets y configuración del EPG viven todos en MariaDB. Vuélcala a diario y copia el volcado fuera del servidor:

mysqldump -h 127.0.0.1 -P 7999 -u user_iptvpro -p xtream_iptvpro | gzip > /root/xtream-db-$(date +%F).sql.gz
tar czf /root/xtream-config-$(date +%F).tar.gz /home/xtreamcodes/iptv_xtream_codes/config

Para la monitorización, el panel ya muestra las conexiones en vivo por stream; añade vnstat para la tendencia de ancho de banda y htop para detectar un proceso ffmpeg desbocado. Un número alto de conexiones también significa miles de sockets abiertos, así que verifica que el instalador haya subido los límites de descriptores de archivo: la mayoría lo hacen, mediante ajustes de sysctl y limits.conf, pero compruébalo. Por último, sé realista sobre el software que estás ejecutando: un fork que ya no recibe parches debe tratarse como una aplicación PHP heredada expuesta a internet. Mantenlo en un servidor dedicado que no haga nada más, expón lo mínimo y parchea con regularidad el sistema operativo que hay debajo.

Nada de esto requiere hardware exótico. Requiere una máquina limpia con Ubuntu LTS y acceso root, y una red que se mantenga estable cuando cien sockets tiran de 8 Mbps cada uno toda la tarde. Para eso están hechos nuestros planes de VPS Linux: CPU y RAM dedicadas, ancho de banda ilimitado (fair-use), acceso de administrador completo sin KYC y entrega en unos 10 segundos después de la confirmación del pago: contrata, ejecuta el instalador y puedes estar en la pantalla de login del panel en menos de una hora.

Preguntas frecuentes

¿Se sigue manteniendo Xtream UI?

El desarrollo público de Xtream UI está prácticamente detenido; XUI.one es el sucesor mantenido de forma activa.
El fork gratuito Xtream UI tuvo sus últimas versiones públicas relevantes hace años, y sus canales comunitarios originales están en silencio. XUI.one, un panel comercial de código cerrado creado por un antiguo desarrollador de Xtream UI, es donde ocurre el desarrollo activo hoy. Si aun así ejecutas Xtream UI, trátalo como software heredado: mantenlo en un servidor dedicado y protegido por firewall, restringe el puerto de administración a IP conocidas y haz una copia diaria de la base de datos para poder migrar rápido.

¿Cuál es la diferencia entre un servidor Xtream y un servidor Plex o Jellyfin?

Plex y Jellyfin son servidores multimedia personales; un panel Xtream es middleware de distribución de streams en directo multiusuario.
Plex y Jellyfin indexan una biblioteca multimedia local y la transmiten a tus propios dispositivos. Un panel Xtream está construido en torno a los canales en directo y la gestión de suscriptores: ingesta streams, crea líneas (cuentas de usuario) con fechas de caducidad y límites de conexión, y expone la API de Xtream Codes que esperan las aplicaciones IPTV. Si solo quieres ver tus propios archivos en casa, Plex o Jellyfin es la herramienta adecuada: un panel Xtream sería una sobrecarga inútil.

¿Cuánto ancho de banda consume un stream IPTV?

Aproximadamente 2-4 Mbps para SD, 5-10 Mbps para 1080p y 15-25 Mbps para 4K HEVC.
Depende del bitrate de la fuente, no del panel: los canales SD suelen ir a 2-4 Mbps, los 1080p en torno a 5-10 Mbps y el 4K HEVC a 15-25 Mbps. Multiplica el bitrate por tus espectadores simultáneos en pico para dimensionar el enlace de subida: 100 espectadores con canales de 8 Mbps necesitan unos 800 Mbps de subida sostenida, más margen. El caudal sostenido importa más que la velocidad de puerto anunciada, así que prueba el servidor con carga real antes de ponerlo en producción.

¿Puedo instalar un panel Xtream en hosting compartido o junto a cPanel?

No: el panel necesita un servidor Linux dedicado con acceso root y su propia pila web empaquetada.
Los instaladores del panel despliegan sus propias compilaciones de nginx, PHP y MariaDB en /home/xtreamcodes/ y se asocian a puertos fijos como 25500 y 25461. El hosting compartido no te da ni acceso root ni puertos libres, y los paneles de control como cPanel o Plesk entran en conflicto directo con la pila empaquetada. La plataforma mínima viable es un VPS o servidor dedicado con Ubuntu LTS limpio que no ejecute nada más.

Adrien Roche, Editor de infraestructura y hosting

Ingeniero de sistemas con más de 10 años operando flotas de Windows Server y Linux. Adrien mantiene la documentación de infraestructura de rdp.monster y escribe nuestras guías sobre RDP, hosting VPS, administración de servidores, redes y herramientas de privacidad.

Regístrate en nuestro programa de revendedores

Tus datos

Si tienes alguna pregunta, contact us by clicking here !
Nombre y apellidos(Obligatorio)
Introduce tu correo electrónico; debes tener una cuenta en manager.rdp.monster !

Tu empresa

Introduce la dirección de tu sitio web si tienes uno
Explica brevemente cómo vas a vender los servicios a tus clientes. Por ejemplo, hablando con gente en foros.

¡Usamos cookies!

Utilizamos cookies para mejorar tu experiencia de navegación, mostrar anuncios o contenido personalizados y analizar nuestro tráfico. Al hacer clic en «Aceptar», consientes nuestro uso de cookies.