Блог noxxx а як зібрати linux-роутер

6. Налаштування IPTV

Програма igmpproxy потрібна для проксінг IGMP-запитів з Вашої локальної мережі в локальну мережу провайдера, а також "пробрасиванія" входять IPTV-потоків в вашу локальну мережу. Перейдемо до справи - для початку завантажити вихідні igmpproxy, зберемо їх і встановимо:

# Tar xzf igmpproxy-0.1.tar.gz

Далі потрібно створити конфігураційний файл igmpproxy.

Синтаксис даного файлу нітрохи не складніше, ніж ті що ми створювали раніше. Ось приклад:
quickleave

phyint eth1 upstream ratelimit 0 threshold 1

phyint eth0 downstream ratelimit 0 threshold 1

phyint ppp0 disabled

phyint wlan0 disabled Опис параметрів:

phyint eth1 upstream. - інтерфейс upstream, тут потрібно вказувати мережевий інтерфейс підключений безпосередньо до провайдера. У нашому випадку це eth1.

phyint eth0 downstream. - інтерфейс downstream, тут потрібно вказувати мережевий інтерфейс, на якому будуть прослуховуватися входять IGMP-запити на підключення до multicast-групі (в нашому випадку це eth0). Параметр altnet тут вказувати необов'язково, але краще вказати через те, що igmpproxy іноді кострубато визначає підмережа заданого інтерфейсу (і потім банально не пропускає IPTV-потоки). Тут ми вказали 169.254.0.0/24 - підмережа, використовувану на нашому мережевому інтерфейсі (у Вас вона може відрізнятися в залежності від того, як Ви налаштовували мережу в первинній настройці мережі (Частина 1 цієї настанови)).

# Make lean make install Налаштування цієї програми ще більш проста, ніж попередніх - тому що вона здійснюється вже при запуску в командному рядку. Для автозапуску програми при старті системи пропишемо вже в знайомий /etc/rc.local рядок:
/ Usr / local / bin / udpxy -m eth1 -p 8055 -a wlan0

Параметр "-m" вказує на мережевий інтерфейс підключений до провайдера (eth1), "-p" на порт прослуховування з'єднань (8055), "-a" на мережевий інтерфейс на якому будуть прослуховуватися вхідні з'єднання - wlan0 (останній можна не вказувати - в цьому випадку при наявності "білого" IP можна буде отримувати доступ до вашого IPTV ззовні, але я все ж рекомендую вказувати цей параметр).

Зберігаємо файл, виходимо, перезавантажується.

1) запустити на сервері HTTP-сервер з невеликим php-скриптом, який буде на льоту отримувати плейлист IPTV від провайдера і на льоту вже віддавати готовий сконвертовані плейлист в плеєр - цей спосіб трохи складніше в реалізації, але тоді Ви завжди будете використовувати актуальний плейлист каналів .

2) завантажити плейлист вручну і відредагувати його блокнотом замінивши всі певні рядки за шаблоном на той, який дозволити використовувати udpxy; після цього зрозуміло новий плейлист потрібно буде зберегти. Цей спосіб набагато простіше, але в цьому випадку плейлист завжди буде таким, яким Ви його зберегли в останній раз.
Я розгляну перший спосіб так як він більш складний в реалізації, але більш ефективний.
Отже, нам знадобиться HTTP-сервер і PHP. Для цього встановимо:
# Apt-get install apache2 php5 libapache2-mod-php5 php5-curl Далі створимо PHP-cкриптов такого змісту (команда "nano /var/www/iptv.php"):