RDP Monster

Server Xtream: installare Xtream UI su Ubuntu

Server Xtream: installare Xtream UI su Ubuntu

Che cos'è davvero un server Xtream

Un server Xtream è una macchina Linux su cui gira un pannello di gestione IPTV che parla l'API di Xtream Codes. Il pannello svolge tre compiti: acquisisce stream live e sorgenti video, gestisce le linee (account utente con nome utente, password, data di scadenza e limite di connessioni) e ridistribuisce tutto via HTTP attraverso una manciata di endpoint noti: player_api.php per i metadati, get.php per le playlist M3U, xmltv.php per i dati EPG. Poiché quasi tutte le app client IPTV implementano questa API, “server Xtream” è diventato sinonimo di qualunque pannello che la esponga, indipendentemente dal software che gira sotto.

Una precisazione sul perimetro prima della parte tecnica: questa guida riguarda solo l'infrastruttura e l'amministrazione del pannello, e l'operatore è responsabile di detenere i diritti di diffusione per ogni stream distribuito tramite il pannello. Se i concetti di base sono nuovi per te, parti dalla nostra introduzione su come funziona l'IPTV a livello di protocollo: la terminologia del pannello risulterà molto più chiara.

Da Xtream Codes a Xtream UI e XUI.one

Xtream Codes è stato il pannello commerciale che ha definito la categoria. Nel settembre 2019 un'operazione di polizia coordinata dalle autorità italiane ed Europol ha sequestrato l'infrastruttura dell'azienda, e il software non è più stato venduto né aggiornato. L'API lato client, però, era già lo standard di settore, quindi l'ecosistema è sopravvissuto all'azienda.

Due progetti hanno colmato il vuoto. Xtream UI è un fork gratuito della comunità basato sull'ultimo codice pubblico 2.9; ha tenuto in vita il pannello per anni, ma il suo sviluppo pubblico si è in gran parte fermato. XUI.one è un pannello commerciale closed-source scritto da un ex sviluppatore di Xtream UI ed è oggi il successore di fatto mantenuto attivamente. Entrambi conservano la stessa API, lo stesso modello di linee e le stesse porte di default: per questo le guide all'installazione di uno valgono in gran parte anche per l'altro, ed è il motivo per cui questo articolo resta indipendente dal fork.

Requisiti del server: CPU, RAM e banda

Ogni fork richiede un'installazione Ubuntu LTS pulita e minimale, e la maggior parte punta a una release specifica: controlla la documentazione del fork prima di ordinare il server, perché installare sulla versione sbagliata di Ubuntu è la causa più comune di installazioni non funzionanti. L'installer distribuisce il proprio stack nginx, PHP e MariaDB sotto /home/xtreamcodes/, quindi non metterlo mai su una macchina che già esegue uno stack web o un pannello di hosting: si contenderanno porte e pacchetti.

Il dimensionamento dipende da una sola domanda: stai facendo restreaming (ritrasmettendo gli stream senza modificarli) o transcodifica (ricodificandoli con ffmpeg)? Il restreaming impegna a malapena la CPU: il server per lo più copia byte tra socket. La transcodifica software costa circa un core moderno per canale 1080p, ed è lì che il budget esplode. Per la RAM, 4 GB bastano per un piccolo pannello di test; 8 GB o più sono ragionevoli in produzione, quando la cache di MariaDB e qualche processo ffmpeg si sommano. Tieni il database su storage SSD.

La banda è pura aritmetica: spettatori simultanei di picco moltiplicati per il bitrate dello stream, più margine. Nessuna impostazione del pannello cambia questo calcolo.

Spettatori simultanei di piccoCPU (solo restreaming)RAMBanda a 8 Mbps per spettatore
252 core4 GB~200 Mbps
1004 core8 GB~800 Mbps
2506-8 core16 GB~2 Gbps

Queste cifre presuppongono solo restreaming e un tipico bitrate 1080p da 8 Mbps; la transcodifica moltiplica la colonna della CPU, non quella della banda. Il throughput sostenuto conta molto più della velocità di porta dichiarata, quindi fai test sotto carico reale. Se preferisci saltare i calcoli di dimensionamento, i nostri server pensati per i carichi di streaming sono dimensionati esattamente per questo tipo di utilizzo a throughput sostenuto.

Installare un pannello in stile Xtream UI su Ubuntu

Ogni fork distribuisce il proprio installer, ma seguono tutti la stessa struttura in tre passaggi. I comandi qui sotto sono volutamente generici: scarica l'installer solo dalla pagina ufficiale delle release del tuo fork, mai da un ricaricamento casuale, e leggi lo script prima di eseguirlo come root.

Passaggio 1: Preparare un sistema pulito

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

Riavvia se è stato installato un nuovo kernel e imposta con attenzione il fuso orario: la programmazione EPG dipende dall'orologio di sistema, e uno scostamento produce guide dei programmi sfasate di ore.

Passaggio 2: Eseguire l'installer del fork

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

Lo script installa lo stack incluso, crea il database (Xtream UI, per esempio, esegue il proprio MariaDB su 127.0.0.1:7999 con un database chiamato xtream_iptvpro) e al termine stampa URL, porta e credenziali di amministrazione. Annotali subito: alcuni fork generano un percorso o una porta di amministrazione casuali e non li mostrano una seconda volta.

Passaggio 3: Primo accesso e verifiche di base

Apri http://your-server-ip:25500 nel browser, accedi con le credenziali generate e cambia la password di amministrazione prima di ogni altra cosa. Poi verifica che i servizi siano effettivamente in ascolto:

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

Dovresti vedere l'nginx incluso nel pannello in ascolto su entrambe le porte. Da qui il lavoro lato pannello (definire il server principale, creare le categorie e una linea di test) si svolge interamente nell'interfaccia web.

Porte, reverse proxy e TLS

I default ereditati da Xtream Codes sono 25500 per il pannello di amministrazione e 25461 per l'output HTTP verso i client, la porta a cui le linee si collegano per playlist e stream. Apri solo ciò che ti serve e blocca il resto con il firewall; se il tuo IP di amministrazione è statico, limita a esso la porta del pannello:

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

Poi verifica cosa vede realmente il mondo esterno: la nostra guida su come controllare le porte aperte su Linux spiega ss, nmap e la differenza tra porta in ascolto e porta raggiungibile.

Molti operatori mettono nginx o HAProxy davanti alla porta client sulla 80, sulla 443 o sulla 8080, perché alcune reti bloccano del tutto le porte non standard; il proxy può anche terminare il TLS per il pannello di amministrazione. Una precisazione onesta: molti decoder e app IPTV più vecchi si comportano ancora meglio con HTTP semplice, quindi testa il tuo effettivo parco client prima di imporre HTTPS sulla porta di streaming. E non confondere nulla di tutto questo con la sicurezza: spostare il pannello di amministrazione su una porta insolita riduce solo il rumore degli scanner nei log. La vera messa in sicurezza è un firewall restrittivo, password forti e uniche, TLS sull'interfaccia di amministrazione e un sistema operativo aggiornato.

Backup, monitoraggio e aggiornamenti

Il database è il pannello: stream, linee, bouquet e configurazione EPG risiedono tutti in MariaDB. Fanne un dump ogni giorno e copia il dump fuori dal server:

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

Per il monitoraggio, la dashboard del pannello mostra già le connessioni live per stream; aggiungi vnstat per l'andamento della banda e htop per individuare un processo ffmpeg fuori controllo. Un numero elevato di connessioni significa anche migliaia di socket aperti, quindi verifica che l'installer abbia alzato i limiti dei descrittori di file: la maggior parte lo fa, con modifiche a sysctl e limits.conf, ma controlla. Infine, sii realista sul software che stai eseguendo: un fork che non riceve più patch va trattato come una vecchia applicazione PHP esposta su Internet. Tienilo su un server dedicato che non fa altro, esponi il minimo indispensabile e aggiorna regolarmente il sistema operativo sottostante.

Nulla di tutto questo richiede hardware esotico. Serve una macchina Ubuntu LTS pulita con accesso root e una rete che resti stabile quando un centinaio di socket tirano 8 Mbps ciascuno per tutta la sera. È esattamente ciò per cui sono nati i nostri piani VPS Linux: CPU e RAM dedicate, banda illimitata (fair-use), accesso amministrativo completo senza KYC e consegna circa 10 secondi dopo la conferma del pagamento: ordina, lancia l'installer e in meno di un'ora puoi essere alla schermata di login del pannello.

Domande frequenti

Xtream UI è ancora mantenuto?

Lo sviluppo pubblico di Xtream UI si è in gran parte fermato; XUI.one è il successore mantenuto attivamente.
Il fork gratuito Xtream UI ha visto le sue ultime release pubbliche significative anni fa, e i suoi canali originali della comunità sono diventati silenziosi. XUI.one, pannello commerciale closed-source di un ex sviluppatore di Xtream UI, è dove avviene oggi lo sviluppo attivo. Se usi comunque Xtream UI, trattalo come software legacy: tienilo su un server dedicato e protetto da firewall, limita la porta di amministrazione a IP noti e fai il backup del database ogni giorno per poter migrare rapidamente.

Che differenza c'è tra un server Xtream e un server Plex o Jellyfin?

Plex e Jellyfin sono server multimediali personali; un pannello Xtream è middleware di distribuzione live multiutente.
Plex e Jellyfin indicizzano una libreria multimediale locale e la trasmettono ai tuoi dispositivi. Un pannello Xtream è costruito intorno ai canali live e alla gestione degli abbonati: acquisisce stream, crea linee (account utente) con date di scadenza e limiti di connessione ed espone l'API di Xtream Codes che le app IPTV si aspettano. Se vuoi solo guardare i tuoi file a casa, Plex o Jellyfin è lo strumento giusto: un pannello Xtream sarebbe complessità inutile.

Quanta banda consuma un singolo stream IPTV?

Circa 2-4 Mbps per l'SD, 5-10 Mbps per il 1080p e 15-25 Mbps per il 4K HEVC.
Dipende dal bitrate della sorgente, non dal pannello: i canali SD si attestano di norma su 2-4 Mbps, il 1080p intorno a 5-10 Mbps e il 4K HEVC su 15-25 Mbps. Moltiplica il bitrate per gli spettatori simultanei di picco per dimensionare l'uplink: 100 spettatori su canali da 8 Mbps richiedono circa 800 Mbps di upload sostenuto, più margine. Il throughput sostenuto conta più della velocità di porta dichiarata, quindi testa il server sotto carico reale prima di andare in produzione.

Posso installare un pannello Xtream su hosting condiviso o insieme a cPanel?

No: il pannello richiede un server Linux dedicato con accesso root e il proprio stack web incluso.
Gli installer dei pannelli distribuiscono le proprie build di nginx, PHP e MariaDB sotto /home/xtreamcodes/ e si legano a porte fisse come 25500 e 25461. L'hosting condiviso non ti dà né accesso root né porte libere, e pannelli di controllo come cPanel o Plesk entrano in conflitto diretto con lo stack incluso. La piattaforma minima utilizzabile è un VPS o un server dedicato Ubuntu LTS pulito che non esegua nient'altro.

Adrien Roche, Editor infrastruttura e hosting

Ingegnere di sistemi con oltre 10 anni di esperienza nella gestione di flotte Windows Server e Linux. Adrien cura la documentazione dell'infrastruttura di rdp.monster e scrive le nostre guide su RDP, hosting VPS, amministrazione server, networking e strumenti per la privacy.

Iscriviti al nostro programma rivenditori

I tuoi dati

Nome completo(Obbligatorio)
Inserisci il tuo indirizzo email, devi avere un account su manager.rdp.monster !

La tua azienda

Inserisci l'indirizzo del tuo sito web, se ne hai uno
Spiega brevemente come venderai i servizi ai tuoi clienti. Per esempio, parlandone con le persone sui forum.

Usiamo i cookie !

Utilizziamo i cookie per migliorare la tua esperienza di navigazione, proporre annunci o contenuti personalizzati e analizzare il nostro traffico. Cliccando su «Accetta», acconsenti al nostro uso dei cookie.