- PVSM.RU - https://www.pvsm.ru -

На Хабре уже рассматривался вопрос о настройке и просмотре IPTV через роутер на различных прошивках — openWRT, DDWRT и прочих, но никто не описывал подробно как настроить IPTV на прошивке Tomato за счёт перенаправления UDP трафика провайдера в TCP трафик клиента с помощью приложения udpxy. В этой статье я подробно опишу процесс установки и запуска udpxy на прошивке tomato v1.26, ибо сам я потратил очень много времени чтобы разобраться во всём этом, и будь у меня под рукой подобная статья я бы справился намного быстрее.
Что такое udpxy? Официальный сайт [1] разработчиков данного приложениея даёт нам такую формулировку:
udpxy — серверное приложение (daemon) для передачи данных из сетевого потока мультикаст канала (вещаемого по UDP) в HTTP соединение запрашивающего клиента.
Многие могут возразить, мол всё итак работает если просто включить multicast в настройках, но в моём случае просмотр IPTV через Wi-Fi корректно не работал: каналы загружались долго, картинка видео застывала, изображение «рассыпалось», интернет жутко начинал тормозить или совсем пропадал. Как следует поискав в интернете, я не нашёл внятной инструкции как перенаправить UDP в TCP на прошивке Tomato, попадались некоторые инструкции, но они были краткими и описывали сам механизм работы, а не конкретную настройку. Многие наши соотечественники даже писали, что это невозможно и нужно ставить другую прошивку и настраивать её или ставить прошивку которая «из коробки» поддерживает udpxy, но больно уж я полюбил «помидорную» прошивку за её производительность, функционал, и понятный, не нагруженный, интерфейс. В общем я решил довести дело до конца и попробовать самому во всём разобраться и настроить. В итоге появилась данная инструкция.
root" и пароль, который вы ставили на роутер, если ничего не меняли, то пароль должен быть "admin".cd /jffs
Жмём ввод (переходим в папку /jffs).
http://rghost.ru/download/51607682/5d8db6ffe010a13afdf1cb07ac9b7cd328c693ea/udpxy
(заходим например на rghost.ru, загружаем файл, копируем ссылку на файл, она будет под кнопкой «скачать», и продолжаем)
/JFFS вводим в putty:
wget http://прямая_ссылка_на_udpxy
В моём случе это выглядело вот так:
wget http://rghost.ru/download/51607518/5c3ff2536e7358f656931ee9f4aef9728c92f1ed/udpxy
Если ссылка правильная и файл скачался то вы увидите:
Connecting to "rghost.ru (217.199.218.100:80)" (или другой сервер на котором лежит файл)
udpxy 100% |*******************************| 66067 00:00:00 ETA
chmod +x udpxy
ls
Если файл присутствует, то вы увидите его название.
udpxy -c (кол-во подключаемых клиентов) -a (внутренний ip адрес вашего роутера) -p (порт на котором будет вещать IPTV) -m (внешний IP адрес вашего роутера) -M (периодически возобновлять подписку на мультикаст-канал)
В моём случае это выглядело вот так:
udpxy -c 10 -a 192.168.1.1 -p 7780 -m 93.100.126.169 -M 30
При успешном вводе команды после нажатия ввода ничего не должно ругаться в командной строке.
s |grep udpxy
Если служба работает вы должны увидеть примерно следуюущее:
634 root 792 S /jffs/udpxy -c 10 -a 192.168.1.1 -p 7780 -m 93.100.126.169 -M 30
671 root 1700 S grep udpxy
http://адрес_роутера:порт_вещания/status
В моём случае это было:
http://192.168.1.1:7780/status
Если увидели там страничку «udpxy status:» значит всё работает.
iptables -A INPUT -p igmp -j ACCEPT
iptables -A INPUT -p udp -m udp -d 224.0.0.0/4 -j ACCEPT
sleep 30
/jffs/udpxy -c 10 -a 192.168.1.1 -p 7780 -m 93.100.126.169 -M 30
iptables -A INPUT -p igmp -j ACCEPT
iptables -A INPUT -p udp -m udp -d 224.0.0.0/4 -j ACCEPT
dp://@ip_адрес:порт
должны стать вида
http://192.168.1.1:7780/udp/ip_адрес:порт
В моём случае это выглядело так:
udp://@239.195.0.73:1234
стало так:
http://192.168.1.1:7780/udp/239.195.0.73:1234
сохраняем полученный плейлист и закрываем блокнот.
Мы получили перенаправление UDP трафика от провайдера в TCP трафик клиента, за счёт этого разгрузили роутер, получили быструю скорость загрузки видеопотока и высокое качество видео без «замираний» и «рассыпаний» изображения. У меня всё прекрасно работает через wi-fi соединение на ноутбуке, а так же работает на медиаплеере iconbit HDS6L, который подключен по LAN к роутеру. Способ не самый простой, но изящный. Реализация его доставила мне очень много удовольствия. Очень надеюсь что эта информация проиндексируется в поисковиках и поможет таким же, неопытным как я, пользователям.
Автор: raidmax
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/iptv/52758
Ссылки в тексте:
[1] Официальный сайт: http://www.udpxy.com/
[2] NETGEAR WNR3500L: http://habrahabr.ru/post/101293/
[3] Tomato: http://tomatousb.org/
[4] отсюда: http://yadi.sk/d/wWLF5KIeFvvvM
[5] отсюда: http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
[6] rghost.ru: http://rghost.ru/
[7] Источник: http://habrahabr.ru/post/209082/
Нажмите здесь для печати.