RDP Monster

Настройка Xtream-сервера: Xtream UI на Ubuntu

Настройка Xtream-сервера: Xtream UI на Ubuntu

Что такое Xtream-сервер на самом деле

Xtream-сервер — это Linux-машина с IPTV-панелью управления, которая говорит на языке API Xtream Codes. Панель решает три задачи: принимает живые потоки и видеоисточники, управляет линиями (аккаунтами с логином, паролем, датой окончания и лимитом подключений) и отдаёт всё это обратно по HTTP через несколько хорошо известных точек: player_api.php для метаданных, get.php для плейлистов M3U, xmltv.php для EPG. Поскольку почти все IPTV-клиенты реализуют это API, выражение «Xtream-сервер» стало обозначением любой панели, которая его предоставляет, какое бы ПО под ней ни работало.

Одно предложение о границах темы перед технической частью: этот гайд касается только инфраструктуры и администрирования панели, а оператор отвечает за наличие прав на вещание каждого потока, распространяемого через панель. Если базовые понятия вам новы, начните с нашего введения в то, как IPTV работает на уровне протоколов, и после этого терминология панели станет гораздо понятнее.

От Xtream Codes к Xtream UI и XUI.one

Xtream Codes был коммерческой панелью, которая создала саму категорию. В сентябре 2019 года правоохранительная операция, скоординированная итальянскими властями и Европолом, изъяла инфраструктуру компании, и ПО больше никогда не продавалось и не обновлялось. Однако клиентское API к тому времени уже было отраслевым стандартом, поэтому экосистема пережила компанию.

Пробел закрыли два проекта. Xtream UI представляет собой бесплатный коммюнити-форк на базе последнего публичного кода 2.9; он годами держал панель живой, но его публичная разработка практически остановилась. XUI.one представляет собой закрытую коммерческую панель, написанную бывшим разработчиком Xtream UI, и сегодня именно она фактически является поддерживаемым преемником. Обе сохраняют то же API, ту же модель линий и те же порты по умолчанию, и именно поэтому инструкции по установке одной в основном подходят и к другой, а эта статья остаётся независимой от форка.

Требования к серверу: CPU, RAM и полоса

Любому форку нужна свежая минимальная установка Ubuntu LTS, и большинство рассчитаны на конкретный релиз. Сверьтесь с документацией до заказа сервера, потому что установка на неверную версию Ubuntu является самой частой причиной сломанной инсталляции. Установщик разворачивает свои встроенные nginx, PHP и MariaDB в /home/xtreamcodes/, поэтому никогда не ставьте его на машину, где уже работает веб-стек или панель управления хостингом: они будут конфликтовать за порты и пакеты.

Подбор ресурсов сводится к одному вопросу: вы занимаетесь рестримингом (прокидываете потоки без изменений) или транскодированием (перекодируете их через ffmpeg)? Рестриминг почти не нагружает CPU: сервер в основном копирует байты между сокетами. Программное транскодирование стоит примерно одного современного ядра на канал 1080p, и именно здесь взрываются бюджеты. По памяти: 4 ГБ достаточно для небольшой тестовой панели; 8 ГБ и больше разумно в продакшне, когда к кэшу MariaDB добавляются процессы ffmpeg. Базу данных держите на SSD.

Полоса сводится к чистой арифметике: пик одновременных зрителей, умноженный на битрейт потока, плюс запас. Ни одна настройка панели эту математику не отменит.

Пик одновременных зрителейCPU (только рестриминг)RAMПолоса при 8 Мбит/с на зрителя
252 ядра4 ГБ~200 Мбит/с
1004 ядра8 ГБ~800 Мбит/с
2506-8 ядер16 ГБ~2 Гбит/с

Эти цифры предполагают только рестриминг и типичный битрейт 1080p в 8 Мбит/с; транскодирование умножает колонку CPU, а не полосы. Стабильная пропускная способность важнее заявленной скорости порта, поэтому тестируйте под реальной нагрузкой. Если не хочется самому считать ресурсы, наши серверы для стриминговых нагрузок рассчитаны ровно на такой режим постоянного трафика.

Установка панели типа Xtream UI на Ubuntu

У каждого форка свой установщик, но все они следуют одной и той же схеме из трёх шагов. Команды ниже намеренно обобщены: скачивайте установщик только с официальной страницы релизов вашего форка (никогда со случайных перезаливок) и читайте скрипт перед запуском от root.

Шаг 1. Подготовьте чистую систему

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

Перезагрузитесь, если был установлен новый ядро-пакет, и осознанно выставьте часовой пояс: расписание EPG зависит от системных часов, и рассинхронизация даёт телегиды со сдвигом на часы.

Шаг 2. Запустите установщик форка

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

Скрипт устанавливает встроенный стек, создаёт базу данных (Xtream UI, например, запускает свою MariaDB на 127.0.0.1:7999 с базой xtream_iptvpro) и по завершении выводит URL админки, порт и данные доступа. Запишите их сразу: некоторые форки генерируют случайный путь или порт админки и больше их не покажут.

Шаг 3. Первый вход и проверки

Откройте http://your-server-ip:25500 в браузере, войдите с сгенерированными данными и прежде всего смените пароль администратора. Затем убедитесь, что службы действительно слушают порты:

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

Вы должны увидеть встроенный nginx панели на обоих портах. Дальше вся работа на стороне панели (описание основного сервера, создание категорий и тестовой линии) делается целиком в веб-интерфейсе.

Порты, обратный прокси и TLS

Значения по умолчанию, унаследованные от Xtream Codes: 25500 для админ-панели и 25461 для клиентского HTTP-вывода, то есть порта, к которому линии подключаются за плейлистами и потоками. Открывайте только нужное, остальное закройте фаерволлом; если ваш админский IP статичен, ограничьте порт панели им:

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

Затем проверьте, что видит внешний мир: наше руководство по проверке открытых портов в Linux разбирает ss, nmap и разницу между «слушает» и «доступен снаружи».

Многие операторы ставят nginx или HAProxy перед клиентским портом на 80, 443 или 8080, потому что некоторые сети полностью блокируют нестандартные порты; прокси также может терминировать TLS для админ-панели. Честная оговорка: многие старые тв-приставки и IPTV-приложения до сих пор ведут себя лучше по обычному HTTP, так что протестируйте свой набор клиентов до того, как принудительно включать HTTPS на потоковом порту. И не путайте всё это с безопасностью: перенос админ-панели на нетипичный порт лишь снижает шум сканеров в логах. Реальную защиту дают строгий фаерволл, сильные уникальные пароли, TLS на админ-интерфейсе и актуальная ОС.

Бэкапы, мониторинг и обновления

База данных и есть панель: потоки, линии, букеты и настройки EPG живут в MariaDB. Снимайте дамп ежедневно и копируйте его за пределы сервера:

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

Для мониторинга дашборд панели уже показывает активные подключения на поток; добавьте vnstat для тренда по трафику и htop, чтобы выловить зависший процесс ffmpeg. Большое число подключений означает тысячи открытых сокетов, поэтому проверьте, что установщик поднял лимиты файловых дескрипторов: большинство делают это через sysctl и limits.conf, но лучше убедиться. Наконец, будьте реалистами относительно самого ПО: форк без патчей стоит считать устаревшим PHP-приложением, смотрящим в интернет. Держите его на выделенном сервере, где нет ничего другого, открывайте минимум и регулярно обновляйте ОС под ним.

Для всего этого не нужно экзотического железа. Нужна чистая машина на Ubuntu LTS с root-доступом и сеть, которая не проваливается, когда сотня сокетов весь вечер тянет по 8 Мбит/с. Именно для этого сделаны наши тарифы Linux VPS: выделенные CPU и RAM, неограниченный трафик (fair-use), полный админский доступ без KYC и выдача примерно через 10 секунд после подтверждения платежа. Заказываете, запускаете установщик и в течение часа уже видите экран входа в панель.

Часто задаваемые вопросы

Поддерживается ли Xtream UI до сих пор?

Публичная разработка Xtream UI практически остановилась; активно поддерживаемым преемником стал XUI.one.
Бесплатный форк Xtream UI выпустил последние значимые публичные релизы много лет назад, а его исходные коммюнити-каналы затихли. Именно в XUI.one, закрытой коммерческой панели от бывшего разработчика Xtream UI, сегодня идёт активная разработка. Если вы всё равно запускаете Xtream UI, считайте его устаревшим ПО: держите на выделенном сервере за фаерволлом, ограничьте админ-порт известными IP и ежедневно бэкапьте базу, чтобы быстро мигрировать.

В чём разница между Xtream-сервером и сервером Plex или Jellyfin?

Plex и Jellyfin являются личными медиасерверами, а Xtream-панель представляет собой многопользовательскую middleware-систему распространения живых потоков.
Plex и Jellyfin индексируют локальную медиатеку и транслируют её на ваши устройства. Xtream-панель построена вокруг живых каналов и управления абонентами: она принимает потоки, создаёт линии (аккаунты) с датами окончания и лимитами подключений и отдаёт API Xtream Codes, которого ждут IPTV-приложения. Если вам нужно только смотреть свои файлы дома, правильным инструментом будут Plex или Jellyfin, а Xtream-панель будет бессмысленным усложнением.

Сколько трафика потребляет один IPTV-поток?

Примерно 2-4 Мбит/с для SD, 5-10 Мбит/с для 1080p и 15-25 Мбит/с для 4K HEVC.
Всё зависит от битрейта источника, а не от панели: SD-каналы обычно идут на 2-4 Мбит/с, 1080p примерно на 5-10 Мбит/с, а 4K HEVC на 15-25 Мбит/с. Умножьте битрейт на пик одновременных зрителей, чтобы подобрать канал вверх: 100 зрителей на каналах 8 Мбит/с требуют около 800 Мбит/с стабильного исходящего трафика плюс запас. Стабильная пропускная способность важнее заявленной скорости порта, поэтому протестируйте сервер под реальной нагрузкой до старта.

Можно ли установить Xtream-панель на шаред-хостинг или рядом с cPanel?

Нет, панели нужен выделенный Linux-сервер с root-доступом и своим встроенным веб-стеком.
Установщики панели разворачивают свои сборки nginx, PHP и MariaDB в /home/xtreamcodes/ и занимают фиксированные порты вроде 25500 и 25461. Шаред-хостинг не даёт ни root-доступа, ни свободных портов, а панели вроде cPanel или Plesk конфликтуют со встроенным стеком напрямую. Минимально рабочей платформой будет чистый VPS или выделенный сервер на Ubuntu LTS, где не запущено ничего больше.

Adrien Roche, Редактор по инфраструктуре и хостингу

Системный инженер с более чем 10-летним опытом эксплуатации парков Windows Server и Linux. Адриен ведёт документацию по инфраструктуре rdp.monster и пишет наши руководства по RDP, VPS-хостингу, администрированию серверов, сетям и инструментам приватности.

Регистрация в программе для реселлеров

Ваши данные

Если у вас есть вопросы, contact us by clicking here !
Имя и фамилия(Обязательно)
Укажите ваш email: у вас должен быть аккаунт на manager.rdp.monster !

Ваша компания

Укажите адрес вашего сайта, если он у вас есть
Кратко опишите, как вы будете продавать услуги своим клиентам. Например, общаться с людьми на форумах.

Мы используем файлы cookie!

Мы используем файлы cookie, чтобы улучшить ваш опыт просмотра, предлагать персонализированную рекламу или контент и анализировать наш трафик. Нажимая «Принять», вы соглашаетесь с использованием файлов cookie.