мои авторские работы для спутниковых ресиверов на базе enigma2 (просьба, не размещать их на других ресурсах) все работы разнесены по темам, на первой странице обсуждаются текущие работы. АНОНИМНЫЕ ПОЛЬЗОВАТЕЛИ не могут оставлять коментарии
вторник, 29 июля 2014 г.
суббота, 26 июля 2014 г.
Добавочка к плагину RPUlite
надоело мне дергать плагин, для получения живого ip, который затыкается в самый не нужный момент... для этого написал скрипт, который получает живой ip и засовывает его в /etc/hosts, данный скрипт помещенный в cron и срабатывающий раз в час, мне редко смотрящему данного провайдера дает спать спокойно))))
get_ip_rtc.sh
установка:
echo -e 'root' >> /etc/cron/crontabs/cron.update
ВНИМАНИЕ:
обращаем внимание путь к root файлу крона у меня описан для openpli? у вас на имидже он может отличатся и таже помним о пути нахождения самого скрипта....
в результате каждый час у вас будет свежий ip для Ростелекома...
Обновил скрипт, теперь он может брать рабочий ip с трех известных мне адресов, перебирая по очереди если сервер в тайм-ауте автоматом пробует с второго, если и второй тоже не отвечает с третьего...
get_ip_rtc.sh
установка:
- закидываем скрипт get_op_rtc.sh в /usr/script (или у кого где лежат скрипты)
- не забываем присвоить права 755
- в терминале пишем следующее:
echo -e 'root' >> /etc/cron/crontabs/cron.update
ВНИМАНИЕ:
обращаем внимание путь к root файлу крона у меня описан для openpli? у вас на имидже он может отличатся и таже помним о пути нахождения самого скрипта....
в результате каждый час у вас будет свежий ip для Ростелекома...
Обновил скрипт, теперь он может брать рабочий ip с трех известных мне адресов, перебирая по очереди если сервер в тайм-ауте автоматом пробует с второго, если и второй тоже не отвечает с третьего...
пятница, 25 июля 2014 г.
livestreamer 1.9.0
обновился livestreamer до 1.9.0
изменения:
Changelog
Version 1.9.0 (2014-07-22)
General:
Dropped support for Python 3.2. This is due to missing features which are necessary for this projects progression.
singledispatch is now a dependency on Python <3.4.
Bug fixes:
Handle bad input data better in parse_json/xml. (#440)
Handle bad input data in config files. (#432)
Fixed regression causing rtmpdump proxies to have no effect.
CLI:
Improved --help significantly, more readable and more content.
Added --config option.
Added --stream-url option. (#281)
Added support for K and M suffixes to the --ringbuffer-size option.
Added support for loading config files based on plugin.
Added ~/Applications to the search path for VLC on Mac OS X, patch by @maxnordlund. (#454)
Deprecated --best-stream-default and added --default-stream as a more flexible replacement. (#381)
Will now only warn about newer versions available every 6 hours.
Plugins:
Many plugins have been refactored to use the validation API and better coding standards.
Added plugin for Aftonbladet (aftonbladet).
Added plugin for ARD Live (ard_live), patch by @MasterofJOKers. (#419)
Added plugin for ARD Mediathek (ard_mediathek), patch by @yeeeargh. (#421)
Added plugin for Connect Cast (connectcast). (#423)
Added plugin for Danmarks Radio (drdk).
Added plugin for DOMMUNE (dommune).
Added plugin for TV4 Play (tv4play).
Added plugin for VGTV (vgtv), patch by @jantore. (#435)
Removed plugin: cast3d
Removed plugin: freedocast
Removed plugin: hashd
Removed plugin: ongamenet
afreecatv: Updated for service changes. (#412, #413)
dailymotion: Added support for source streams, patch by @kasper93. (#428)
euronews: Added support for videos.
nrk: Added support for radio.nrk.no, patch by @jantore. (#433)
picarto: Updated for service changes. (#431)
twitch: Added support for audio only streams, patch by @CommanderRoot. (#411)
viasat: Added support for HDS streams.
viasat: Added support for viagame.com.
API:
Added Livestreamer.streams() method.
Added livestreamer.streams() function.
Renamed Plugin.get_streams() to Plugin.streams().
Plugin API:
Added a validation API to make validating data easier and safer.
1. singledispatch-3.4.0.3-r0.ipk
2. livestreamer_1.9.0-r0_all.ipk
3. полная перезагрузка
из замеченного, стали быстро включатся каналы, пропали фризы на hls, всего не проверял, 2 дня возился с сборкой пакета...
забираем тут
изменения:
Changelog
Version 1.9.0 (2014-07-22)
General:
Dropped support for Python 3.2. This is due to missing features which are necessary for this projects progression.
singledispatch is now a dependency on Python <3.4.
Bug fixes:
Handle bad input data better in parse_json/xml. (#440)
Handle bad input data in config files. (#432)
Fixed regression causing rtmpdump proxies to have no effect.
CLI:
Improved --help significantly, more readable and more content.
Added --config option.
Added --stream-url option. (#281)
Added support for K and M suffixes to the --ringbuffer-size option.
Added support for loading config files based on plugin.
Added ~/Applications to the search path for VLC on Mac OS X, patch by @maxnordlund. (#454)
Deprecated --best-stream-default and added --default-stream as a more flexible replacement. (#381)
Will now only warn about newer versions available every 6 hours.
Plugins:
Many plugins have been refactored to use the validation API and better coding standards.
Added plugin for Aftonbladet (aftonbladet).
Added plugin for ARD Live (ard_live), patch by @MasterofJOKers. (#419)
Added plugin for ARD Mediathek (ard_mediathek), patch by @yeeeargh. (#421)
Added plugin for Connect Cast (connectcast). (#423)
Added plugin for Danmarks Radio (drdk).
Added plugin for DOMMUNE (dommune).
Added plugin for TV4 Play (tv4play).
Added plugin for VGTV (vgtv), patch by @jantore. (#435)
Removed plugin: cast3d
Removed plugin: freedocast
Removed plugin: hashd
Removed plugin: ongamenet
afreecatv: Updated for service changes. (#412, #413)
dailymotion: Added support for source streams, patch by @kasper93. (#428)
euronews: Added support for videos.
nrk: Added support for radio.nrk.no, patch by @jantore. (#433)
picarto: Updated for service changes. (#431)
twitch: Added support for audio only streams, patch by @CommanderRoot. (#411)
viasat: Added support for HDS streams.
viasat: Added support for viagame.com.
API:
Added Livestreamer.streams() method.
Added livestreamer.streams() function.
Renamed Plugin.get_streams() to Plugin.streams().
Plugin API:
Added a validation API to make validating data easier and safer.
1. singledispatch-3.4.0.3-r0.ipk
2. livestreamer_1.9.0-r0_all.ipk
3. полная перезагрузка
из замеченного, стали быстро включатся каналы, пропали фризы на hls, всего не проверял, 2 дня возился с сборкой пакета...
забираем тут
понедельник, 21 июля 2014 г.
Букет PAC12
букет провайдера PAC12 (720p) для любителей американского спорта:
1. PAC12 Arizona
2. PAC12 Bay Area
3. PAC12 Los Angeles
4. PAC12 Network
5. PAC12 Oregon
6. PAC12 Washington
работает is as, обновлений не требует, требуется livestramer в ресивере, прозрачные пиконы в комплекте.
PAC12.zip
1. PAC12 Arizona
2. PAC12 Bay Area
3. PAC12 Los Angeles
4. PAC12 Network
5. PAC12 Oregon
6. PAC12 Washington
работает is as, обновлений не требует, требуется livestramer в ресивере, прозрачные пиконы в комплекте.
PAC12.zip
воскресенье, 20 июля 2014 г.
суббота, 19 июля 2014 г.
пятница, 18 июля 2014 г.
четверг, 17 июля 2014 г.
вторник, 15 июля 2014 г.
воскресенье, 13 июля 2014 г.
пятница, 11 июля 2014 г.
четверг, 10 июля 2014 г.
среда, 9 июля 2014 г.
вторник, 8 июля 2014 г.
Сканирование живых ip адресов, для IPTV. часть II
Для сканирования с помощью ресивера нам понадобится curl и cron, так как операция сканирования одного диапазона занимает около 16 часов, и желательно проделывать эту операцию в фоновом режиме...
curl_7.24.0-r0_mips32el.ipk
cURL — свободная , кроссплатформенная служебная программа командной строки, позволяющая взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL
установка:
>>opkg update
>>opkg install /tmp/curl_7.24.0-r0_mips32el.ipk
>>opkg install busybox-cron
>>reboot
описание возможных команд curl http://osxh.ru/terminal/command/curl
и так имеем диапазон провайдера Ростелеком от 212.164.0.0 до 212.164.255.255, запускаем строку поиска:
>>curl -I -m1 212.164.[0-255].[0-255]:1234
где:
[0-255] диапазон адресов от 0 до 255, curl будет перебирать каждый адрес
-I -- читать заголовки (HEAD) доступные по указному ip и порту
-m1 -- Задает максимальное время в секундах выделенное на операцию, в данном случае стоит 1 секунда, если ip и порт не отвечает, запрашиваем следующее ip...
получаем в терминале такую картинку:
[205/65536]: 212.164.0.204:1234 --> <stdout>
--_curl_--212.164.0.204:1234
curl: (28) Connection timed out after 1001 milliseconds
[206/65536]: 212.164.0.205:1234 --> <stdout>
--_curl_--212.164.0.205:1234
curl: (28) Connection timed out after 1001 milliseconds
[207/65536]: 212.164.0.206:1234 --> <stdout>
--_curl_--212.164.0.206:1234
curl: (28) Connection timed out after 1001 milliseconds
[208/65536]: 212.164.0.207:1234 --> <stdout>
--_curl_--212.164.0.207:1234
curl: (28) Connection timed out after 1001 milliseconds
понятное дело сидеть перед терминалом и высматривать рабочий ip, удовольствие мало приятное, посему
запускаем curl с перенаправленным выводом в файл, например /tmp/rostelecom
>>curl -I -m1 212.164.[0-255].[0-255]:1234 >/tmp/rostelecom
получаем в файле /tmp/rostelecom, приблизительно такое:
--_curl_--212.164.2.80:1234
--_curl_--212.164.2.81:1234
--_curl_--212.164.2.82:1234
HTTP/1.1 200 OK
Content-Type:application/octet-stream
--_curl_--212.164.2.83:1234
--_curl_--212.164.2.84:1234
строка перед HTTP/1.1 200 OK является искомым результатом
работает это удовольствие 16 часов, что малоприятно, поэтому можно запустить несколько копий, разделив между ними диапазон
>>curl -I -m1 212.164.[0-255].[0-31]:1234 >/tmp/rostelecom1
>>curl -I -m1 212.164.[0-255].[32-63]:1234 >/tmp/rostelecom2
...
curl -I -m1 212.164.[0-255].[224-255]:1234 >/tmp/rostelecom16
сам cull потребляет мизерное количество ресурсов, я например использую 16 одновременно работающих, и вся операция завершается где-то за час
Внимание:
если запускаем поиск из командной строки, то при закрытии окна терминала завершится выполнение вашей команды, во избежание этого используем чудную утилиту nohup и наша строка запуска имеет следующий вид.
>>nohup curl -I -m1 212.164.[0-255].[0-31]:1234 >/tmp/rostelecom1 >/dev/null &
в таком виде все будет работать в фоне, соответственно можно запустить одновременно несколько подобных задач
теперь перейдем к обработке полученных результатов, имеем файл /tmp/rostelecom с таким содержимым:
--_curl_--212.164.2.80:1234
--_curl_--212.164.2.81:1234
--_curl_--212.164.2.82:1234
HTTP/1.1 200 OK
Content-Type:application/octet-stream
--_curl_--212.164.2.83:1234
--_curl_--212.164.2.84:1234
нам нужно вычленить все ip после которых идет строка HTTP/1.1 200 OK, для этого мы используем одну из величайших вещей которые есть в linux/unix системах, а точнее потоковый редактор SED.
sed (от англ. Stream EDitor) — потоковый текстовый редактор (а также язык программирования), применяющий различные предопределённые текстовые преобразования к последовательному потоку текстовых данных.
Первоначально был написан как UNIX-утилита Ли Макмэхоном (англ. Lee E. McMahon) из Bell Labs в 1973—74 годах. Сейчас sed доступен фактически для любой операционной системы, поддерживающей работу с командной строкой.
https://ru.wikipedia.org/wiki/Sed
>>sed -i -n '/200 OK/{g;1!p;};h' /tmp/rostelecom
получаем список рабочих ip
--_curl_--212.164.1.157:1234
--_curl_--212.164.2.82:1234
--_curl_--212.164.3.25:1234
--_curl_--212.164.3.139:1234
--_curl_--212.164.3.222:1234
.........
теперь вычленяем сам ip
>>sed -i -n 's/^.*--_curl_--\(\([0-9].\{1,3\}\)\{3\}[0-9]\{1,3\}\).*:1234/\1/p' /tmp/rostelecom
получаем:
212.164.1.157
212.164.2.82
212.164.3.25
212.164.3.139
212.164.3.222
.......
создав на основании вышеизложенного скрипт и запуская его с помощью cron мы можем полностью автоматизировать получение живых ip для просмотра данного оператора и не зависеть от внешних ресурсов....
curl_7.24.0-r0_mips32el.ipk
cURL — свободная , кроссплатформенная служебная программа командной строки, позволяющая взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL
установка:
>>opkg update
>>opkg install /tmp/curl_7.24.0-r0_mips32el.ipk
>>opkg install busybox-cron
>>reboot
описание возможных команд curl http://osxh.ru/terminal/command/curl
и так имеем диапазон провайдера Ростелеком от 212.164.0.0 до 212.164.255.255, запускаем строку поиска:
>>curl -I -m1 212.164.[0-255].[0-255]:1234
где:
[0-255] диапазон адресов от 0 до 255, curl будет перебирать каждый адрес
-I -- читать заголовки (HEAD) доступные по указному ip и порту
-m1 -- Задает максимальное время в секундах выделенное на операцию, в данном случае стоит 1 секунда, если ip и порт не отвечает, запрашиваем следующее ip...
получаем в терминале такую картинку:
[205/65536]: 212.164.0.204:1234 --> <stdout>
--_curl_--212.164.0.204:1234
curl: (28) Connection timed out after 1001 milliseconds
[206/65536]: 212.164.0.205:1234 --> <stdout>
--_curl_--212.164.0.205:1234
curl: (28) Connection timed out after 1001 milliseconds
[207/65536]: 212.164.0.206:1234 --> <stdout>
--_curl_--212.164.0.206:1234
curl: (28) Connection timed out after 1001 milliseconds
[208/65536]: 212.164.0.207:1234 --> <stdout>
--_curl_--212.164.0.207:1234
curl: (28) Connection timed out after 1001 milliseconds
понятное дело сидеть перед терминалом и высматривать рабочий ip, удовольствие мало приятное, посему
запускаем curl с перенаправленным выводом в файл, например /tmp/rostelecom
>>curl -I -m1 212.164.[0-255].[0-255]:1234 >/tmp/rostelecom
получаем в файле /tmp/rostelecom, приблизительно такое:
--_curl_--212.164.2.80:1234
--_curl_--212.164.2.81:1234
--_curl_--212.164.2.82:1234
HTTP/1.1 200 OK
Content-Type:application/octet-stream
--_curl_--212.164.2.83:1234
--_curl_--212.164.2.84:1234
строка перед HTTP/1.1 200 OK является искомым результатом
работает это удовольствие 16 часов, что малоприятно, поэтому можно запустить несколько копий, разделив между ними диапазон
>>curl -I -m1 212.164.[0-255].[0-31]:1234 >/tmp/rostelecom1
>>curl -I -m1 212.164.[0-255].[32-63]:1234 >/tmp/rostelecom2
...
curl -I -m1 212.164.[0-255].[224-255]:1234 >/tmp/rostelecom16
сам cull потребляет мизерное количество ресурсов, я например использую 16 одновременно работающих, и вся операция завершается где-то за час
Внимание:
если запускаем поиск из командной строки, то при закрытии окна терминала завершится выполнение вашей команды, во избежание этого используем чудную утилиту nohup и наша строка запуска имеет следующий вид.
>>nohup curl -I -m1 212.164.[0-255].[0-31]:1234 >/tmp/rostelecom1 >/dev/null &
в таком виде все будет работать в фоне, соответственно можно запустить одновременно несколько подобных задач
теперь перейдем к обработке полученных результатов, имеем файл /tmp/rostelecom с таким содержимым:
--_curl_--212.164.2.80:1234
--_curl_--212.164.2.81:1234
--_curl_--212.164.2.82:1234
HTTP/1.1 200 OK
Content-Type:application/octet-stream
--_curl_--212.164.2.83:1234
--_curl_--212.164.2.84:1234
нам нужно вычленить все ip после которых идет строка HTTP/1.1 200 OK, для этого мы используем одну из величайших вещей которые есть в linux/unix системах, а точнее потоковый редактор SED.
sed (от англ. Stream EDitor) — потоковый текстовый редактор (а также язык программирования), применяющий различные предопределённые текстовые преобразования к последовательному потоку текстовых данных.
Первоначально был написан как UNIX-утилита Ли Макмэхоном (англ. Lee E. McMahon) из Bell Labs в 1973—74 годах. Сейчас sed доступен фактически для любой операционной системы, поддерживающей работу с командной строкой.
https://ru.wikipedia.org/wiki/Sed
>>sed -i -n '/200 OK/{g;1!p;};h' /tmp/rostelecom
получаем список рабочих ip
--_curl_--212.164.1.157:1234
--_curl_--212.164.2.82:1234
--_curl_--212.164.3.25:1234
--_curl_--212.164.3.139:1234
--_curl_--212.164.3.222:1234
.........
теперь вычленяем сам ip
>>sed -i -n 's/^.*--_curl_--\(\([0-9].\{1,3\}\)\{3\}[0-9]\{1,3\}\).*:1234/\1/p' /tmp/rostelecom
получаем:
212.164.1.157
212.164.2.82
212.164.3.25
212.164.3.139
212.164.3.222
.......
создав на основании вышеизложенного скрипт и запуская его с помощью cron мы можем полностью автоматизировать получение живых ip для просмотра данного оператора и не зависеть от внешних ресурсов....
понедельник, 7 июля 2014 г.
Сканирование живых ip адресов, для IPTV. часть I
Здесь опишу по шагово, как сканировать живые ip для просмотра iptv, на примере провайдера Ростелеком.
нам потребуется программа для сканирования ip, я рекомендую Angry IP Scanner, скачать можно здесь http://angryip.org, программа freeware со всеми вытекающими.....
настраиваем программу:
а) нам надо указать, что бы выводились только те ip у которых открыт нужный нам порт
б) вводим номер порта, по которому будем искать ip, в нашем случае это 1234
в) вводим диапазон ip для поиска, от 212.164.0.0 до 212.164.255.255, что соответствует городу Новосибирск
г) сканируем, и получаем результат, сохраняем в файл
д) проверяем полученный результат через броузер, вводим в адресную строку например http://212.164.1.157:1234/status и получаем следующую картинку, означающую что udpxy удаленный работает по нужному нам порту
это вовсе не означает, что оно точно будет показывать, но где-то 80% живых ip будут показывать, и здесь же можно увидеть, сколько реально с этого ip смотрит людей...
далее создаем букет следующего типа:
и редактируем /etc/hosts и прописываем в него наш найденный ip, таким образом:
212.164.1.157 rostelecom rostelecom
отвечу сразу на вопросы которые могут возникнуть:
1. как часто надо сканировать и искать свежие ip
-- для провайдера Ростелеком, нужно сканировать каждый день, так ка данный оператор использует технологию ADSL а эта штука технологически требует смену ip раз в 24 часа, у других операторов ip живут месяцами
2. почему у разных операторов разные порты
-- крупные операторы используют преднастроеные приставки у которых udprxy настроены на один и тот же порт, мы в большинстве случаев видим открытые порты приставок, которые находятся перед NAT(перед роутером) или udprxy которое работает на самом роутере и разные порты у одного и тоже оператора может зависит от моделей приставок
нам потребуется программа для сканирования ip, я рекомендую Angry IP Scanner, скачать можно здесь http://angryip.org, программа freeware со всеми вытекающими.....
настраиваем программу:
а) нам надо указать, что бы выводились только те ip у которых открыт нужный нам порт
это вовсе не означает, что оно точно будет показывать, но где-то 80% живых ip будут показывать, и здесь же можно увидеть, сколько реально с этого ip смотрит людей...
далее создаем букет следующего типа:
#SERVICE 1:0:19:2F4A:C:70:1680000:0:0:0:http%3a//rostelecom%3a1234/udp/233.7.70.161%3a5000:MTV Live HD
#DESCRIPTION MTV Live HD
отвечу сразу на вопросы которые могут возникнуть:
1. как часто надо сканировать и искать свежие ip
-- для провайдера Ростелеком, нужно сканировать каждый день, так ка данный оператор использует технологию ADSL а эта штука технологически требует смену ip раз в 24 часа, у других операторов ip живут месяцами
2. почему у разных операторов разные порты
-- крупные операторы используют преднастроеные приставки у которых udprxy настроены на один и тот же порт, мы в большинстве случаев видим открытые порты приставок, которые находятся перед NAT(перед роутером) или udprxy которое работает на самом роутере и разные порты у одного и тоже оператора может зависит от моделей приставок
в следующей части, расскажу как проделывать это но уже с помощью ресивера
Перенос /etc/hosts на флешку
для тех кто экономит ресурс внутренней флешки
mkdir -p /media/usb/etc
cp -f /etc/hosts /media/usb/etc
rm -f /etc/hosts
ln -s /media/usb/etc/hosts /etc/hosts
добавил скрипт, поместить в ресивер, присвоить 755, выполнить
move_hosts.sh
mkdir -p /media/usb/etc
cp -f /etc/hosts /media/usb/etc
rm -f /etc/hosts
ln -s /media/usb/etc/hosts /etc/hosts
добавил скрипт, поместить в ресивер, присвоить 755, выполнить
move_hosts.sh
воскресенье, 6 июля 2014 г.
суббота, 5 июля 2014 г.
пятница, 4 июля 2014 г.
Рендер VerticalLabel
widget стандартный как у Label выводим сверху вниз и снизу вверх, параметр direct="down" или "up" без параметра будет выводит сверху вниз,
зачем нужен спросите у grizli
забираем и рассматриваем в компонентах
четверг, 3 июля 2014 г.
среда, 2 июля 2014 г.
вторник, 1 июля 2014 г.
Подписаться на:
Сообщения (Atom)