arh

TS-Proxy в docker контейнере для просмотра torrent-tv

Recommended Posts

Свой LG Smart-tv использую только как монитор, чтоб посмотреть, что накачал torrentmonitor. Телевидение у меня не подключено (если учесть какую чушь несут на государственных каналах, то вообще удивляюсь, что его кто-то смотрит), но друзья сказали, что неплохо бы в новогоднюю ночь послушать про "Тяжелый год"...

Попробовав приложения для Smart-tv, я разочаровался в их стабильности. И тут я вспомнил про замечательный сайт torrent-tv.ru. По идее можно просто подключить ноут к телеку, и все дела, но хочется же сделать по-правильному, и чтоб с планшета можно было смотреть... и все работало без подключения дополнительных проводов, тем более железо под Xrenology не полностью нагружено.

Чтоб все это заработало, надо настроить Local TS-proxy. На сайте полно информации как это сделать на Windows, но нам это не подходит.

Устанавливаем\запускаем docker. Я использовал ubuntu 14.04

h_1449605818_8764788_843a70553d.png

качаем image и создаем из него контейнер, назовём его "proxy"

h_1449605911_2201875_ce71d2e4c9.png

забегая вперед, можно сразу пробросить порты. у меня 8000 был занят, сделал 9000 => 8000, 8621 => 8621

подключаемся к контейнеру

NAS> docker attach proxy

Добавляем нужные репозитории и устанавливаем необходимые пакеты

echo 'deb http://repo.acestream.org/ubuntu/ trusty main' |  tee /etc/apt/sources.list.d/acestream.list
apt-get install -y wget bash-completion vim
wget -O - http://repo.acestream.org/keys/acestream.public.key | apt-key add -
apt-get update
apt-get install -y acestream-full
apt-get install -y python-gevent git vlc python-pip python-dev build-essential
pip install greenlet gevent psutil
git clone https://github.com/ValdikSS/aceproxy.git

Регистрируемся на torrent-tv.ru, если ещё это не сделали.

Для просмотра всех (400) каналов надо иметь статус VIP. Стоит это, как подсказал @Bob the Builder

200р - за серверный прокси(без необходимости установки ace stream движка, того, чем мы как раз и занимаемся) точнее даже 198р. а VIP - 2р. в день т.е. 60р. в месяц. Совсем не дорого! Я нашел как обойти необходимость VIP статуса для тестов, но здесь писать это не буду, т.к. проект действительно стоящий, и если буду пользоваться, обязательно приобрету VIP.

Далее редактируем конфиги.

root@proxy:/# vim aceproxy/plugins/config/torrenttv.py

в секцию

url = ' '

вставляем ссылку на плейлист.( имея статус VIP берем тут - http://torrent-tv.ru/c_playlist.php).

root@proxy:/# vim aceproxy/plugins/config/p2pproxy.py

тут меняем email & password на доступ к сайту.

Вот и вся настройка.

По-правильному, надо запускать сервисы при старте контейнера (с определенными ключами), но мне лень было этим заниматься, я просто добавил 2 строчки в конец /etc/bash.bashrc внутри контейнера

/usr/bin/acestreamengine --client-console --log-file /dev/null --core-sandbox-max-peers 10 --live-buffer 5000 &
/usr/bin/python2 /aceproxy/acehttp.py & 

Так он будет вываливать кучу логов прям в консоль, удобно при отладке. потом можно перенаправить куда надо.

 

Теперь нужно создать образ и контейнера.

NAS> docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                                                                                           NAMES
d8aacb0c9cfa        ubuntu:14.04        "/bin/bash"         46 hours ago        Up 34 hours         0.0.0.0:8621->8621/tcp, 0.0.0.0:32788->22/tcp, 0.0.0.0:9000->8000/tcp, 0.0.0.0:9000->8000/udp   proxy

NAS> docker commit d8aacb0c9cfa proxy:latest

NAS> docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              VIRTUAL SIZE
proxy               latest              393d328d5527        About a minute ago   925.9 MB
ubuntu              14.04               ca4d7b1b9a51        4 weeks ago          187.9 MB

Теперь запускаем контейнер из этого имеджа, добавляя в "Комманду запуска" /bin/bash

Проверяем, что наши сервисы запущены

NAS> docker top proxy
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                7856                21275               0                   Dec12               pts/2               00:00:00            /bin/bash
root                7897                7856                4                   Dec12               pts/2               01:48:22            /usr/bin/acestreamengine --client-console --log-file /dev/null --core-sandbox-max-peers 10 --live-buffer 5000
root                7898                7856                0                   Dec12               pts/2               00:10:36            /usr/bin/python2 /aceproxy/acehttp.py

И все работает как надо)

http://NAS_IP:9000(порт который указали при создании контейнера)/torrenttv/playlist.m3u

Должно вылезти предложение о сохранении файла playlist.m3u. Этот плейлист можно использовать на Linux\Android\IOS\MAC устройствах для просмотра каналов. Я протестил на Nexus 9 c последним андроидом и на Kubuntu на ноуте (в VLC), все шикарно работает.

А вот с телевизором не так все просто.

Сначала производим настройку согласно http://torrent-tv.ru/viewing_on_lg.php мануалу.

Я установил приложение "Россия ТВ".

DNS придется оставить левый навсегда (пока будешь пользоваться этим приложением)

По идее, имя статут VIP и подписку на серверный прокси, авторизовавшись в приложении, можно сразу приступать к просмотру. Мне же пришлось в настройках приложения переключить на local TS-Proxy.

Edited by Guest

Share this post


Link to post
Share on other sites

Привет,

 

Спасибо за мануал, попробую обязательно так как я уже несколько лет пользуюсь время от времени torrent-tv

но сейчас я использую TS-PROXY на raspberry pi(openelec + PVR аддон pvr.iptvsimple) или напрямую только для sony например: http://viverraxx.adr.com.ua/?uid=21232f297a57a5a743894a0e4a801fc3

Этот плейлист можно также использовать на DVBLink TV Server или plex для просмотра каналов.

[spoiler=DVBLink]dvblink4.png

 

Установка DVBLink TV Server на Synology NAS-Server для просмотра IPTV.

 

Вопрос: не могли бы вы дать точную ссылку на образ/репозитарий docker ubuntu 14.04

Edited by Guest

Share this post


Link to post
Share on other sites

Спасибо за статью

не понял для чего делать всю эту конструкцию, если можно оплатить VIP и получить уже ссылку на m3u?

 

будет ли данная схема работать без оплаты VIP и добавления ссылки на M3U в torrenttv.py ?

Edited by Guest

Share this post


Link to post
Share on other sites

Вопрос: не могли бы вы дать точную ссылку на образ/репозитарий docker ubuntu 14.04

Я использовал первый репозиторий в поиске(на скриншоте)

Share this post


Link to post
Share on other sites

запустил.. без VIP не работает

 

ps подскажите, есть ли ключик от DVBLink TV Server?

Share this post


Link to post
Share on other sites

В репозитарии сообщества SynoCommunity есть Tvheadend. Аналог DVBLink. Я не пробовал, но кажется он бесплатный и IPTV у него заявлен. Если кто нибудь использует поделитесь как оно с Torrent TV или др. iptv.

Share this post


Link to post
Share on other sites

[spoiler=запустил!]dut.pngdut1.png

 

отлично мне этот Local TS-proxy определённо нравится

 

arh не могли бы вы поподробней расказать про этот пункт:

По-правильному, надо запускать сервисы при старте контейнера (с определенными ключами), но мне лень было этим заниматься, я просто добавил 2 строчки в конец /etc/bash.bashrc внутри контейнера

а то приходится каждый раз в ручную запускать сервисы

Share this post


Link to post
Share on other sites

А зачем вручную? у меня из bash.bashrc прекрасно работает!

а если делать на совесть:

первым делом надо создать новый образ из контейнера

NAS> docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                                                                                           NAMES
d8aacb0c9cfa        ubuntu:14.04        "/bin/bash"         46 hours ago        Up 34 hours         0.0.0.0:8621->8621/tcp, 0.0.0.0:32788->22/tcp, 0.0.0.0:9000->8000/tcp, 0.0.0.0:9000->8000/udp   proxy

NAS> docker commit d8aacb0c9cfa proxy:latest

NAS> docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              VIRTUAL SIZE
proxy               latest              393d328d5527        About a minute ago   925.9 MB
ubuntu              14.04               ca4d7b1b9a51        4 weeks ago          187.9 MB

NAS> docker top proxy
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                28334               21275               0                   Dec08               pts/2               00:00:00            /bin/bash
root                28377               28334               1                   Dec08               pts/2               00:27:33            /usr/bin/acestreamengine --client-console
root                28378               28334               0                   Dec08               pts/2               00:01:15            /usr/bin/python2 /aceproxy/acehttp.py

И запускать контейнер из этого имеджа.

А вот дальше надо либо создавать init скрипт на хостовой системе (пример можно глянуть тут https://xakep.ru/2015/06/04/docker-faq/) где мы можем упереться в возможности самой ситемы Xpenology

Либо запускать сам контейнер с ключами (типа docker run -i -t proxy /bin/bash ... примеры http://habrahabr.ru/post/253877/ http://eax.me/docker/)

либо создать скрипт запуска внутри контейнера и запускать его при старте. Вообщем вариантов масса

Share this post


Link to post
Share on other sites

h_1449943169_7441119_fc670a306a.png

останови контейнер и добавь в "Команда выполнения"

 

Я немного поигрался с acestreamengine. Были некоторые проблемы при воспроизведении на SmartTV.

я поменял на

/usr/bin/acestreamengine --client-console --log-file /dev/null --core-sandbox-max-peers 10 --live-buffer 5000 &

Share this post


Link to post
Share on other sites

хорошо добавил в "Команда выполнения" bin/bash

а как тогда добавить следующие 2 строчки в конец /etc/bash.bashrc внутри контейнера

/usr/bin/acestreamengine --client-console --log-file /dev/null --core-sandbox-max-peers 10 --live-buffer 5000 &
/usr/bin/python2 /aceproxy/acehttp.py & 

dttv.png

Share this post


Link to post
Share on other sites

Прпробуй добавить эти 2 строчки в "Команда выполнения" после /bin/bash, только без & (либо там, либо в /etc/bash.bashrc)

Да, запускать из этого имеджа.

Share this post


Link to post
Share on other sites

Вот поэтому я и делал только с /bin/bash.

После создания это можно всё менять.

Попробуй запустить только с /bin/bash, а там поиграться после создания

Share this post


Link to post
Share on other sites
Попробуй запустить только с /bin/bash, а там поиграться после создания

я так и сделал но после создания уже не даёт что либо прописать в "Команда выполнения"

 

каким способом мне попасть в /etc/bash.bashrc и прописать эти две строчки

 

[spoiler=по нагрузке то что надо]ttvd2.pngttvd3.png

 

Edited by Guest

Share this post


Link to post
Share on other sites

не забудь поменять

/usr/bin/acestreamengine --client-console --log-file /dev/null --core-sandbox-max-peers 10 --live-buffer 5000 &

& - это запуск процесса в фоне

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.