Auto-hébergement : Créer un Proxy IPTV avec Docker (Nginx/HAProxy)
Pour les administrateurs systèmes paranos (dans le bon sens du terme). Ne donnez plus votre vraie IP publique, et devenez votre propre point de terminaison IPTV.
Avertissement : Ce tutoriel s'adresse aux utilisateurs avancés familiers avec la ligne de commande Linux, Docker, et la notion de Reverse Proxy.
Pourquoi "proxifier" son lien IPTV ?
D'ordinaire, votre lecteur TiviMate (situé dans votre salon, avec l'IP de votre FAI) se connecte directement aux serveurs du fournisseur IPTV. Le Reverse Proxy modifie l'architecture :
- Vous louez un VPS (Virtual Private Server) pas cher à l'étranger (chez Hetzner, OVH, Hostinger).
- Votre TiviMate se connecte à VOTRE VPS.
- VOTRE VPS relaie la connexion vers le fournisseur IPTV.
Les avantages colossaux :
- Anonymat total : Le FAI de votre salon ne voit qu'une connexion vers votre VPS. Le fournisseur IPTV ne voit que l'IP de votre VPS. Personne ne peut lier les deux extrémités.
- Contournement IP Géobloquée : Si vous voyagez dans un pays qui bloque votre fournisseur, votre VPS fera le pont (il agit comme un VPN personnel sur-mesure pour la vidéo).
- Mise en cache (Caching) : Avec Nginx, vous pouvez mettre en cache les requêtes de logos et l'EPG.
Implémentation via Docker et Nginx
Nous allons utiliser Nginx qui est extrêmement performant pour relayer du flux continu (HLS/TS).
La configuration Nginx (nginx.conf)
Créez un dossier cible et configurez un nginx.conf minimaliste pour le proxy pass :
events {
worker_connections 1024;
}
http {
server {
listen 80;
server_name monvpsamoi.com;
# Masquer la signature serveur
server_tokens off;
location / {
# URL de votre fournisseur IPTV (ex: http://fournisseur.com:8080)
proxy_pass http://ATLAS_PRO_URL_ICI;
proxy_set_header Host $proxy_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# Paramètres vitaux pour le streaming lourd (Ne pas couper au bout de 60s)
proxy_buffering off;
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
# Optionnel : changer le User-Agent
proxy_set_header User-Agent "VLC/3.0.16 LibVLC/3.0.16";
}
}
}Le Docker Compose
Créez le docker-compose.yml dans le même dossier :
version: '3'
services:
iptv-proxy:
image: nginx:alpine
container_name: iptv_proxy_nginx
ports:
- "80:80"
- "443:443" # Si vous mettez en place un certificat SSL Let's Encrypt
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
restart: alwaysLancez avec un docker-compose up -d. Désormais, remplacez l'URL root de votre API Xtream Codes dans TiviMate par l'IP de votre VPS Dockerisé.
L'alternative HAProxy pour une gestion TCP pure
Si masquer des URLs n'est pas votre tasse de thé et que vous vous fichez du header HTTP, vous pouvez utiliser HAProxy en mode TCP pur. Le trafic traversera le VPS sans même être déchiffré / analysé au niveau de la couche applicative. C'est plus léger sur le CPU de votre petit VPS (1 vCore suffit largement pour du 4K), mais vous perdez la possibilité de modifier ou cacher le "User-Agent".
Attention à la bande passante du Cloud !
L'IPTV consomme beaucoup. Un match de 2h en vrai 4K 50fps à 15 Mbps peut peser plus de 13 Go. Si vous regardez la TV 5h par jour tout le mois, votre VPS va transférer environ 2 Téraoctets. Assurez-vous de louer un VPS avec "Bandwidth Unlimited" (ou > 5To fair-use), sinon les frais cloud (AWS, GCP) risquent d'exploser votre facture !
En mariant votre proxy privé dockerisé et le flux stable Premium d'Atlas Pro, vous devenez virtuellement indétectable pour votre FAI local tout en bénéficiant de votre propre CDN sécurisé.