xupnpd - eXtensible UPnP agent

Используем пакеты, расширяющие возможности оборудования
sysmer
Сообщения: 31
Зарегистрирован: 24 авг 2015, 15:47

Сообщение sysmer » 11 май 2017, 14:19

ZigZag писал(а):Источник цитаты Если я правильно понял, то nginx забирает поток по https, а отдаёт уже по http ? Т.е. принцип работы схож с ранее выкладываемым вами "xyp" для самого xupnpd на базе curl ?


да, все верно, плюс можно управлять заголовками - ставить нужный юзерагент, реферер и тд и тп.
я вот кпримеру, радио DI.FM слушаю через связку xupnpd и nginx (nginx добавляет правильные http заголовки при запросе)

ZigZag писал(а):Источник цитаты nginx не пользовался, так что интересует вопрос, возможно ли это провернуть под чем-то попроще ? Типа busybox httpd или на крайняк lighttpd


а я и незнаю что такое busybox httpd или на крайняк lighttpd, я nginx выбрал потому как он очень популярен (много доков) и его можно настроить под свои нужды.

ZigZag
Сообщения: 38
Зарегистрирован: 28 окт 2015, 03:43

Сообщение ZigZag » 11 май 2017, 14:32

а я и незнаю что такое busybox httpd или на крайняк lighttpd, я nginx выбрал потому как он очень популярен (много доков) и его можно настроить под свои нужды.
ОК, если не получится разобраться с теми тулзами, что я юзаю, то поставлю nginx т.к. подобное решение мне видится довольно интересным и перспективным т.к. оно позволит решить вопрос с воспроизведением https на девайсах без поддержки оного (или с ограниченной поддержкой) в принципе
да, все верно, плюс можно управлять заголовками - ставить нужный юзерагент, реферер и тд и тп.
я вот кпримеру, радио DI.FM слушаю через связку xupnpd и nginx (nginx добавляет правильные http заголовки при запросе)
Я для манипуляций с заголовками использовал privoxy (замена/добавление), надо будет поглядеть пройдёт ли там трюк с https

upd: Если верить гуглу, lighttpd умеет проксировать https -> http. Как доберусь до компа надо будет проверить )))

ZigZag
Сообщения: 38
Зарегистрирован: 28 окт 2015, 03:43

Сообщение ZigZag » 11 май 2017, 17:41

К слову о птичках.

Есть русский аналог keepvid - savefrom. Ссылку можно передавать схожим способом http://ru.savefrom.net/#url=$url, только вот неясно, как выковырять оттуда ссылки, что он получает. Поначалу мне казалось, что ссылки получает js-скрипт, да вот только копнув поглубже выяснилось, что скрипт лишь хитровы...думанная обёртка и ссылки получает их сервер (ip=xxx в ссылочках на стримы чужой).

sysmer, мб у вас получится чего сваять, дабы дёргать линки с savefrom ? Альтернатива не помешала бы, а то кроме keepvid, который может отдавать прямые ссылки на стримы, мне больше ничего не попадалось.

ZigZag
Сообщения: 38
Зарегистрирован: 28 окт 2015, 03:43

Сообщение ZigZag » 12 май 2017, 08:37

Посмотрел я что там к чему с nginx. sysmer, из коробки ваш конфиг не заработал, пришлось менять юзера (у себя проставил root) и закомментировать строку mime.types (т.к. его не было у меня). Плюс после /fwd/ нужно втыкать только host (ссылку без префикса http/https), а не весь href. Имхо, эти комментарии в конфиге не помешали бы ;)

Принцип работы - подмена location (а я уж было губу раскатал) :\ Исходный линк так и остаётся https. Это не сработает там, где нет реальной поддержки https (мне увы, есть на чём проверять).

:cry:

sysmer
Сообщения: 31
Зарегистрирован: 24 авг 2015, 15:47

Сообщение sysmer » 12 май 2017, 11:35

ZigZag писал(а):Источник цитаты sysmer, мб у вас получится чего сваять, дабы дёргать линки с savefrom ? Альтернатива не помешала бы,

savefrom формирует страничку динамически яваскриптами, поэтому курл и вгет тут бессилен.
есть такой консольный "браузер" с поддержкой яваскрипт phantomjs, попробывал им - получилось, но его нет в entware и даже на десктопе долго это все.
в entware есть утилита youtube-dl, ей получилось получить ссылку, но она так долго получается, что практически это использовать низнаю как.
keepvid пока чемпион.

ZigZag
Сообщения: 38
Зарегистрирован: 28 окт 2015, 03:43

Сообщение ZigZag » 12 май 2017, 11:49

есть такой консольный "браузер" с поддержкой яваскрипт phantomjs, попробывал им - получилось, но его нет в entware и даже на десктопе долго это все.
Занятно, надо будет поглядеть :)

в entware есть утилита youtube-dl, ей получилось получить ссылку
Да ну его, этот youtube-dl, он столько зависимостей тянет :( Да и получит он только https, к слову (от поддержки http-стримов там отказались)

sysmer
Сообщения: 31
Зарегистрирован: 24 авг 2015, 15:47

Сообщение sysmer » 12 май 2017, 15:05

поперебирал сайты, которые могут дать прямую ссылку на ютуб.
нашел сайт http://getvideo.org, с него очень быстро можно получить прямую ссылку на ютуб таким способом.
POST запрос с помощью curl:

Код: Выделить всё

curl 'http://getvideo.org/en/get_video' --data 'url=<YOUTUBE_URL>&ajax=1'

в ответе будет страничка с со всеми ссылками по качеству, парсим нужную (кстати в ссылке присутствует название ролика, и если там крякозабы то лучше

Код: Выделить всё

&title=НАЗВАНИЕ
вырезать сразу, что бы curl на них не ругался.
далее ссылку окончательно выпрямляем с помощью

Код: Выделить всё

curl -I "<REDIRECT_URL>"

из ответа парсим

Код: Выделить всё

Location: <DIRECT_URL>

всё, профит!

sysmer
Сообщения: 31
Зарегистрирован: 24 авг 2015, 15:47

Сообщение sysmer » 15 май 2017, 13:56

еще один сайт https://www.downloadvanyoutube.nl/

Код: Выделить всё

curl -k 'https://www.downloadvanyoutube.nl/ajax.php' -H 'X-Requested-With: XMLHttpRequest' --data 'action=download&video_url=<YOUTUBE_URL>'


возвращает json код с ссылками на видео, далее действуем как в предидущем посте.

sysmer
Сообщения: 31
Зарегистрирован: 24 авг 2015, 15:47

Сообщение sysmer » 17 май 2017, 21:18

Ради саморазвития и ради интереса, написал скрипт на PHP, который берет видео с ютуба по https и отдает по http. Работает отлично!
Для работы скрипта нужен cервер nginx, php5-fpm и php5-mod-curl - все это есть в entware и на этом форуме есть инструкция как это поставить и настроить.

Работает это так:
1 плагин ютуба берет прямую ссылку с кипвида
2 оформляетее в виде ссылки для телевизора

Код: Выделить всё

http://127.0.0.1:8484/get.php?url1=<youtubeurl_part1>&url2=<youtubeurl_part2>

http://127.0.0.1:8484 - адрес на котором запущен nginx
get.php - имя скрипта
url1 и url2 - кодированая в вид %% и разбитая на две части ссылка, потому что слишком длинная и в GET запрос не лезет.
3 и отправлет ее телеку
4 телек по ней идет и получает http поток от скрипта.
5 профит.

скриптик маленький и может быть приспособлен под свои нужды.
кому интересно, пробуйте. для начала добейтесь работы связки nginx и php.
не забудте в плагин свой апи ключ вписать.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

mazhor
Сообщения: 25
Зарегистрирован: 06 окт 2015, 14:52

Сообщение mazhor » 19 май 2017, 02:04

Жаль не смог запустить.
Установил php5-fpm и php5-mod-curl и сам nginx.
Файлы из архива раскидал по трём папкам.
На http://127.0.0.1:8484/get.php реагирует.
А вот телевизор не захотел проигрывать.


Вернуться в «Entware/Qnapware/Optware/Zyxware - обсуждаем репозитории пакетов»

Кто сейчас на конференции

Всего 1 посетитель :: 0 зарегистрированных, 0 скрытых и 1 гость (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (121) здесь было 18 май 2016, 18:19

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость