Serveur Xtream : installer Xtream UI sur Ubuntu
- 18 septembre 2026
- 09:00
- Par Adrien Roche
- Mis à jour 3 octobre 2026
- Réseau

Ce qu'est réellement un serveur Xtream
Un serveur Xtream est une machine Linux exécutant un panel de gestion IPTV qui parle l'API Xtream Codes. Le panel remplit trois rôles : il ingère les flux live et les sources vidéo, il gère les lignes (comptes utilisateurs avec identifiant, mot de passe, date d'expiration et limite de connexions), et il rediffuse le tout en HTTP via une poignée de points d'accès bien connus (player_api.php pour les métadonnées, get.php pour les playlists M3U, xmltv.php pour les données EPG). Comme presque toutes les applications clientes IPTV implémentent cette API, « serveur Xtream » est devenu un raccourci pour désigner n'importe quel panel qui l'expose, quel que soit le logiciel qui tourne réellement en dessous.
Une phrase de cadrage avant la partie technique : ce guide couvre uniquement l'infrastructure et l'administration du panel, et l'opérateur est responsable de la détention des droits de diffusion de chaque flux distribué via le panel. Si ces concepts sont nouveaux pour vous, commencez par notre introduction sur le fonctionnement de l'IPTV au niveau protocolaire. La terminologie du panel prendra beaucoup plus de sens ensuite.
De Xtream Codes à Xtream UI et XUI.one
Xtream Codes était le panel commercial qui a défini la catégorie. En septembre 2019, une opération judiciaire coordonnée par les autorités italiennes et Europol a saisi l'infrastructure de l'entreprise, et le logiciel n'a plus jamais été vendu ni mis à jour. L'API côté client, en revanche, était déjà le standard du secteur : l'écosystème a donc survécu à l'entreprise.
Deux projets ont comblé le vide. Xtream UI est un fork communautaire gratuit bâti sur la dernière base de code publique 2.9 ; il a maintenu le panel en vie pendant des années, mais son développement public est largement à l'arrêt. XUI.one est un panel commercial à code fermé écrit par un ancien développeur d'Xtream UI, et c'est le successeur maintenu de facto aujourd'hui. Les deux conservent la même API, le même modèle de lignes et les mêmes ports par défaut, ce qui explique pourquoi les guides d'installation de l'un s'appliquent en grande partie à l'autre, et pourquoi cet article reste agnostique quant au fork.
Prérequis serveur : CPU, RAM et bande passante
Chaque fork exige une installation Ubuntu LTS neuve et minimale, et la plupart ciblent une version précise. Vérifiez la documentation du fork avant de commander le serveur, car installer sur la mauvaise version d'Ubuntu est la cause la plus fréquente d'une installation cassée. L'installeur déploie sa propre pile nginx, PHP et MariaDB sous /home/xtreamcodes/ : ne le posez donc jamais sur une machine qui fait déjà tourner une pile web ou un panneau d'hébergement, car ils se disputeraient les ports et les paquets.
Le dimensionnement se résume à une question : faites-vous du restreaming (transmission des flux tels quels) ou du transcodage (réencodage avec ffmpeg) ? Le restreaming sollicite à peine le CPU : le serveur ne fait pour l'essentiel que copier des octets entre des sockets. Le transcodage logiciel coûte environ un cœur moderne par chaîne 1080p, et c'est là que les budgets explosent. Côté RAM, 4 Go suffisent pour un petit panel de test ; 8 Go ou plus est raisonnable en production dès que le cache MariaDB et quelques processus ffmpeg s'accumulent. Gardez la base de données sur du stockage SSD.
La bande passante, c'est de l'arithmétique pure : spectateurs simultanés en pic multipliés par le débit du flux, plus une marge. Aucun réglage du panel ne change ce calcul.
| Spectateurs simultanés en pic | CPU (restreaming seul) | RAM | Bande passante à 8 Mbps par spectateur |
|---|---|---|---|
| 25 | 2 cœurs | 4 Go | ~200 Mbps |
| 100 | 4 cœurs | 8 Go | ~800 Mbps |
| 250 | 6-8 cœurs | 16 Go | ~2 Gbps |
Ces chiffres supposent du restreaming uniquement et un débit 1080p typique de 8 Mbps ; le transcodage multiplie la colonne CPU, pas celle de la bande passante. Le débit soutenu compte bien plus que la vitesse de port annoncée : testez donc sous charge réelle. Si vous préférez éviter ce travail de dimensionnement, nos serveurs conçus pour les charges de streaming sont dimensionnés exactement pour ce type d'usage à débit soutenu.
Installer un panel de type Xtream UI sur Ubuntu
Chaque fork livre son propre installeur, mais ils suivent tous la même structure en trois étapes. Les commandes ci-dessous sont volontairement génériques : téléchargez l'installeur uniquement depuis la page de release officielle de votre fork, jamais depuis un ré-upload quelconque, et lisez le script avant de l'exécuter en root.
Étape 1 : Préparer un système propre
apt update && apt upgrade -y
apt install -y wget unzip python3 net-tools
timedatectl set-timezone UTCRedémarrez si un nouveau noyau a été installé, et réglez le fuseau horaire avec soin : la planification de l'EPG dépend de l'horloge système, et une dérive produit des guides de programmes décalés de plusieurs heures.
Étape 2 : Lancer l'installeur du fork
cd /root
wget "$INSTALLER_URL" -O install.py # from your fork's official release page
python3 install.pyLe script installe la pile embarquée, crée la base de données (Xtream UI, par exemple, fait tourner son propre MariaDB sur 127.0.0.1:7999 avec une base nommée xtream_iptvpro) et affiche l'URL d'administration, le port et les identifiants à la fin. Notez-les immédiatement : certains forks génèrent un chemin ou un port d'administration aléatoire et ne l'afficheront pas une seconde fois.
Étape 3 : Première connexion et vérifications
Ouvrez http://your-server-ip:25500 dans un navigateur, connectez-vous avec les identifiants générés et changez le mot de passe administrateur avant toute autre chose. Confirmez ensuite que les services écoutent bien :
ss -tlnp | grep -E '25500|25461'Vous devriez voir le nginx embarqué du panel attaché aux deux ports. À partir de là, le travail côté panel (définir le serveur principal, créer des catégories et une ligne de test) se fait entièrement dans l'interface web.
Ports, reverse proxy et TLS
Les valeurs par défaut héritées de Xtream Codes sont 25500 pour le panel d'administration et 25461 pour la sortie HTTP côté client, c'est-à-dire le port auquel les lignes se connectent pour les playlists et les flux. N'ouvrez que ce qui est nécessaire et filtrez le reste ; si votre IP d'administration est fixe, restreignez-lui le port du panel :
ufw allow 22/tcp
ufw allow 25461/tcp
ufw allow from YOUR_ADMIN_IP to any port 25500 proto tcp
ufw enableVérifiez ensuite ce que voit réellement l'extérieur : notre guide sur la vérification des ports ouverts sous Linux couvre ss, nmap et la différence entre un port en écoute et un port joignable.
De nombreux opérateurs placent nginx ou HAProxy devant le port client sur 80, 443 ou 8080, car certains réseaux bloquent purement et simplement les ports non standard ; le proxy peut aussi terminer le TLS pour le panel d'administration. Une réserve honnête : beaucoup de box TV et d'applications IPTV anciennes se comportent encore mieux en HTTP simple, testez donc votre parc client réel avant d'imposer HTTPS sur le port de streaming. Et ne confondez rien de tout cela avec de la sécurité : déplacer le panel d'administration sur un port inhabituel ne réduit que le bruit des scanners dans vos journaux. Le vrai durcissement, c'est un pare-feu strict, des mots de passe uniques et solides, du TLS sur l'interface d'administration et un OS à jour.
Sauvegardes, supervision et mises à jour
La base de données est le panel : flux, lignes, bouquets et configuration EPG vivent tous dans MariaDB. Faites-en un dump quotidien et copiez-le hors du serveur :
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/configPour la supervision, le tableau de bord du panel affiche déjà les connexions en direct par flux ; ajoutez vnstat pour la tendance de bande passante et htop pour repérer un processus ffmpeg parti en vrille. Un grand nombre de connexions signifie aussi des milliers de sockets ouverts : vérifiez que l'installeur a bien relevé les limites de descripteurs de fichiers. La plupart le font, via des ajustements sysctl et limits.conf, mais contrôlez-le. Enfin, soyez réaliste sur le logiciel que vous exécutez : un fork qui ne reçoit plus de correctifs doit être traité comme une application PHP legacy exposée sur Internet. Gardez-le sur un serveur dédié qui ne fait rien d'autre, exposez le minimum et appliquez régulièrement les correctifs de l'OS en dessous.
Rien de tout cela n'exige du matériel exotique. Il faut une machine Ubuntu LTS propre avec accès root et un réseau qui reste stable quand une centaine de sockets tirent chacun 8 Mbps toute la soirée. C'est précisément pour cela que nos offres VPS Linux sont conçues : CPU et RAM dédiés, bande passante illimitée (fair-use), accès administrateur complet sans KYC, et livraison en environ 10 secondes après confirmation du paiement. Commandez, lancez l'installeur, et vous pouvez être sur l'écran de connexion du panel dans l'heure.
Foire aux questions
Xtream UI est-il encore maintenu ?
Quelle différence entre un serveur Xtream et un serveur Plex ou Jellyfin ?
Quelle bande passante consomme un flux IPTV ?
Puis-je installer un panel Xtream sur un hébergement mutualisé ou à côté de cPanel ?
/home/xtreamcodes/ et s'attachent à des ports fixes comme 25500 et 25461. Un hébergement mutualisé ne vous donne ni accès root ni ports libres, et les panneaux de contrôle comme cPanel ou Plesk entrent directement en conflit avec la pile embarquée. La plateforme minimale viable est un VPS ou un serveur dédié Ubuntu LTS propre qui ne fait rien d'autre.Adrien Roche, Rédacteur infrastructure & hébergement
Ingénieur systèmes avec plus de 10 ans d'exploitation de parcs Windows Server et Linux. Adrien gère la documentation infrastructure de rdp.monster et rédige nos guides sur le RDP, l'hébergement VPS, l'administration serveur, le réseau et les outils de confidentialité.
Articles connexes




