08 сентября 2019

Установка и настройка Ace Stream Engine 3.1.49 + HTTPAceProxy + Supervisor в Ubuntu 18.04/10 и производные

В этой статье я расскажу Вам, как установить и настроить вручную Ace Stream Engine 3.1.49 (последняя версия) вместе с HTTPAceProxy-сервером от Pepsik-kiev и Supervisor для организации ресурсо-незатратной автозагрузки всех выше описанных компонентов, L.A.M.P. (стек программного обеспечения для работы веб-сервера) для просмотра P2P Телевидения (вкл. Тучка ТВ и мн др.) на вашем РС и других девайсах (телевизоры/смартфоны/планшеты), под управлением различных ОС, в вашей домашней, локальной сети.
Также я расскажу вам, как смотреть фильмы с Torrent-трекеров без их скачивания, а только с помощью самого torrent-файла со всем известных трекер-порталов. Т.е. необходимость скачивания гигабайтов, достаточно весомых файлов фильмов, у вас полностью отпадёт!

И дополнительно мы с вами установим Генератор плейлистов Acestream, скрипты очистки кэша, очистки файлов бэкапа и скрипта непостредсвенно бэкапа и автоматического обновления HTTPAceProxy-сервера.

Для начала, давайте мы с вами разберёмся и поймём, что же это такое - HTTPAceProxy-сервер и Supervisor.
Не секрет, что в сети Интернет есть вещание телеканалов P2P (Однора́нговая, децентрализо́ванная, или пи́ринговая (англ. peer-to-peer, P2P — равный к равному) сеть).
Одним из программных продуктов, позволяющим раздавать вещание в сети P2P от пользователя к пользователю, является Ace Stream.
А для того, чтобы можно было размножить/раздавать или стримить такое вещание (чем больше будет раздающих/стримящих, тем выше будет качество потока, а значит качество просмотра!) на несколько конечных устройств у вас дома (телевизоры, телефоны, приставки), в локальной сети, имеющих только проигрыватель (например VLC, IPTV, MX Player, aFork Player и др...) и создана HTTPAceProxy (далее просто Прокся).

Т.к. Прокся работает на Python3 (хотя может работать и на Python2, который по умолчанию в системе, но автор Прокси рекомендует именно Python3), который присутствует в Ubuntu 18.04, поэтому, в процессе установки, мы доустановим дополнительные пакеты, необходимые для успешной работы Python2/Python3 с Ace Stream Engine и Проксей

Теперь мы выясним, что же такое - Supervisor.
Supervisor - это клиент/сервер, который даёт возможность его пользователям контролировать и управлять огромным количеством процессов на UNIX-подобных ОС, в частности автозагрузку в автоматическом режиме, т.е. нет необходимости каждый раз запускать клиентов вручную и при этом сохранить стабильную и устойчивую работу системы.
И есть ещё одно великолепное достоинство Supervisor - это очень низкая затратность ОЗУ и ресурсов системы, в отличии от стандартного метода прописки в автозагрузку, плюс Web-интерфейс управления процессами!

И так, приступаем к установке и настройке...

Рассмотрим мы с вами 3 варианта установки и настройки:

1. Установка и настройка
      а. установка всех необходимых для работы Ace Stream Engine, Прокси и Supervisor пакетов одной командой в Терминале.
      b. подробная, поэтапная, "ручная" установка и настройка конфиг-файлов Прокси, Supervisor и скриптов (практически все данные вводим рученьками) - чтобы вы понимали весь алгоритм установки и настройки

2. Для ленивых! После каждого этапа настройки конфиг-файлов и скриптов будет приведена альтернатива "ручной" настройке для конкретного, данного этапа, а именно одна команда в Терминале - по принципу: Нажал на кнопку и спина мокрая... (этот вариант будет в конце каждого этапа настройки)

3. Для очень, очень ленивых! Установка всех необходимых пакетов для работы Ace Stream Engine, Прокси и Supervisor, а также настройка всех конфиг-файлов и скриптов одной командой в Терминале - (эта команда будет приведена в конце всех этапов настройки, перед разделом Просмотр Телевидения и Фильмов)


Но сначала, чтобы исключить в дальнейшем ошибки и невозможность установки того или иного пакета, мы с вами проверим расположение сервера загрузки и подключение дополнительных репозитариев, как указано на ниже-приведённых скринах.

Как во всех статьях нашего уважаемого автора блога Владимира - Ubuntu XX.XX после установки, рекомендуется включить Основной сервер для загрузки, обновления репозитариев и пакетов, а не использовать местный. Откройте меню приложений, введите в окно поиска программы и обновления и кликните на значок или нажмите клавишу Ввод:


Когда откроется окно Программы и обновления, в вкладке Программы и обновления Ubuntu измените параметр Загрузить с: на Основной сервер.


А также в вкладке Другое ПО подключите следующие репозитории:

* Партнёры Canonical
* Партнёры Canonical (Исходный код)


И, опционально (желательно), на вкладке Параметры для разработчиков включить (повесить галочку) параметр: Обновления не вошедшие в официальный выпуск


Жмёте на Закрыть, вводите ваш пароль и жмёте на Обновить.

И, т.к. мы будем работать со скрытыми папками и файлами (.ACEStream), в настройках файлового менеджера активируем пункт:
Показывать скрытые файлы (в разных ФМ этот пункт может называться по разному).

После этого не забываем обновить систему командой в Терминале (Ctrl+Alt+T):

sudo apt update; sudo apt full-upgrade

Также, т.к. в вашем роутре DHCP-сервер скорее всего в режиме: Авто, что означает, что он автоматически назначет IP-адреса клиентам вашей домашней, локальной сети, каждый раз при включении и, чтобы в будущем постоянно не редактировать в плеерах сохранённые плей-листы, ввиду очередной смены IP-адреса, я вам настоятельно рекомендую в вашем роутере назначить статические IP-адреса вашему компьютеру (ноутбуку, лэптопу, нетбуку. Там где будет устанавливаться Ace Stream Engine/HTTPAceProxy/Supervisor), а также всем клиентам (девайсам: телевизоры/смартфоны/планшеты), просмотр Телевидения/Фильмов на коих вы собираетесь осуществлять в вашей домашней, локальной сети!
А также сделать проброс портов/переадресация портов/Portforwarding (в разных роутерах эта функция называется по разному):
6878, 8000, 8081, 9001.
Эти порты используются в работе Ace Stream Engine/HTTPAceProxy/Supervisor и нужны для их успешной работы.

У меня дома выделенка 100 Мб, компьютер по Ethernet подключен, а девайсы (телевизоры/смартфоны/планшеты) по Wi-Fi и из моего личного опыта по Ethernet прекрасно на компьютере показывает, а по Wi-Fi, на телевизоре AKAI в частности, бывает, что некторые HD ТВ-каналы и HD-фильмы затыкаются/подвисают. Пробовал подключал к нему Ethernet и уже никаких затыков/подвисов! Многое конечно зависит от скорости Интернета. Если у вас, например, 200 Мб, то затыки/подвисы уже вряд ли будут. Ну, и от Wi-Fi адаптера тоже многое зависит и удалённости от роутера. У меня за стенкой.

После всех приготовлений, мы можем приступать к установке дополнительных пакетов (необходимы для дальнейшей успешной работы Ace Stream Engine, Прокси и Supervisor), устанавке Ace Stream Engine последней версии 3.1.49, Прокси, Supervisor, L.A.M.P., а также активируем и запустим Supervisor и, дабы максимально упростить и ускорить процесс установки, сделаем всё это одной командой в Терминале (Ctrl+Alt+T):

sudo apt install net-tools git vlc flashplugin-installer python3-apsw python-apsw python-m2crypto python-appindicator python3-dev python3-setuptools libpython2.7 mc htop ffmpeg libzbar-dev libzbar0 libffi-dev supervisor; sudo apt install -y python3-pip; sudo -H pip3 install cffi 'Cython==0.28' gevent psutil; sudo sh -c 'echo_supervisord_conf > /etc/supervisor/supervisord.conf'; mkdir films; sudo mkdir /opt/acestream /opt/BackUP-HTTPAceProxy; cd /tmp; wget http://acestream.org/downloads/linux/acestream_3.1.49_ubuntu_18.04_x86_64.tar.gz; sudo tar -zxf acestream_3.1.49_ubuntu_18.04_x86_64.tar.gz -C /opt/acestream; cd /opt; sudo git clone https://github.com/pepsik-kiev/HTTPAceProxy.git; cd

На запрос Терминала (Ctrl+Alt+T) ввести пароль, вводим его и жмём на Enter.
Также, на все запросы Терминала (Ctrl+Alt+T) подтвердить установку, отвечаем Y(Д) и жмём на Enter или просто жмём на Enter.

Теперь, после установки всех необходимых, дополнительных компонентов, Ace Stream Engine, Прокси и Supervisor, приступим к редактированию конфигов Прокси и Supervisor.

Ace Stream Engine.

Тут особенно настраивать нечего, потому, как движок Ace Stream Engine. готов к работе сразу после его уставновки.

Генератор плейлистов Acestream.

Т.к. Генератор написан на скриптовом языке PHP, нам его (PHP) необходимо установить и, т.к. он входит в стек L.A.M.P., а он нам тоже будет нужен для управления и отображения статистики Supervisor, мы с вами и установим L.A.M.P. и некоторые дополнительные пакеты в систему командой в Терминале (Ctrl+Alt+T):

sudo apt install apache2 mariadb-server php libapache2-mod-php php-mysql php-cgi php-gd php-zip php-xml php-xmlrpc php php-curl php-json php-mbstring php-cli; sudo ufw allow in 80/tcp; sudo a2enmod rewrite; sudo sed -i "s/AllowOverride None/AllowOverride All/" /etc/apache2/apache2.conf; sudo systemctl restart apache2

Теперь, после установки L.A.M.P., создаём необходимые папки, устанавливаем Генератор плейлистов Acestream, генерируем плейлист, вносим в планировщик Cron (crontab) задание каждые 8 часов обновлять плейлист и его командой в Терминале (Ctrl+Alt+T):
(2 варианта установки: 1. - если планировщик Cron (crontab) ни разу не запускался в системе. 2. - если планировщик Cron (crontab) уже запускался и настраивался)

1. Вариант, если планировщик Cron (crontab) ни разу не запускался:
sudo mkdir /opt/acelist /opt/lists; cd /tmp; wget https://finnway.ru/downloads/acesearch.tar.gz; sudo tar -zxf acesearch.tar.gz -C /opt/acelist; sudo php /opt/acelist/as.php /opt/lists/as; cd; echo -e '0 */8 * * * php /opt/acelist/as.php /opt/lists/as' | sudo crontab -; cd

2. Вариант, если планировщик Cron (crontab) уже запускался и настраивался:
sudo mkdir /opt/acelist /opt/lists; cd /tmp; wget https://finnway.ru/downloads/acesearch.tar.gz; sudo tar -zxf acesearch.tar.gz -C /opt/acelist; sudo php /opt/acelist/as.php /opt/lists/as; cd; sudo sh -c "echo '0 */8 * * * php /opt/acelist/as.php /opt/lists/as' >> /var/spool/cron/crontabs/root"; sudo /etc/init.d/cron restart; cd


Прокся.

В Проксе есть 5 конфигов (далее конфиг-файлов, а 4 из них являются ещё и плагинами), правильность настройки которых обеспечивают показ Телевидения и просмотр Фильмов.

Это файлы:
aceconfig.py - основной файл настройки
torrenttv.py - плагин просмотра всех ТВ-каналов
torrenttelik.py - плагин просмотра в основном HD-каналов (его мы оставляем, как есть, без изменений)
allfon.py - плагин просмотра ТВ-каналов от Allfon
torrentfilms.py - плагин просмотра Фильмов с Torrent-трекеров с помощью torrent-файлов

В ближайшее время автор Прокси Pepsik-kiev выложит ещё один плагин (конфиг-файл), который даст возможность просматривать ещё и FRY!TV. Просто следите на его Gite за обновлениями Прокси (после дальнейшей настройки скрипта самообновления Прокси, система будет это делать сама).

1. Конфиг-файл aceconfig.py. Путь: /opt/HTTPAceProxy.

Открываем его в Терминале (Ctrl+Alt+T) командой:

sudo gedit /opt/HTTPAceProxy/aceconfig.py

(вы можете использовать любой другой, предпочитаемый вами редактор, для правки конфигов. Это может быть, и nano, и vim, и любой другой... В правке здесь используется gedit. Просто замените его в команде на предпочитаемый вами)

и в открывшемся файле меняем значения (!!!Меняем только написанное Розовым цветом значение на Розовое!!!):

acespawn = False на: True

acecmd = 'acestreamengine --client-console --live-buffer 25 --vod-buffer 10 --vod-drop-max-age 120'
на:
'/opt/acestream/start-engine --client-console --bind-all --service-remote-access --access-token ReplaceMe --service-access-token user --stats-report-peers --live-buffer 25 --vod-buffer 10 --max-connections 500 --vod-drop-max-age 120 --max-peers 50 --max-upload-slots 50 --download-limit 0 --stats-report-interval 2 --slots-manager-use-cpu-limit 1 --core-dlr-periodic-check-interval 5 --check-live-pos-interval 5 --refill-buffer-interval 1 --core-skip-have-before-playback-pos 1 --webrtc-allow-outgoing-connections 1 --allow-user-config --upload-limit 0 --cache-dir /home/user/.ACEStream --state-dir /home/user/.ACEStream --log-file /var/log/acestream.log --log-debug 0'
(где user в --service-access-token user, --cache-dir /home/user/.ACEStream и --state-dir /home/user/.ACEStream надо поменять на ваше имя пользователя в системе. Например: --cache-dir /home/vasyapupkin/.ACEStream.
В будущем, если возникнут проблемы с воспроизведением ТВ-каналов, со значением --live-buffer 25 (по умолчанию 25) вы можете "поиграться" в сторону увеличения, но желательно не выше 60 (из практики пользователей Ace Stream) и вывести оптимальное для вашего конкретного случая, т.к. скрость Инета и др. условия у всех разные)

httpport = 8000 на: 8081

use_chunked = True на: False

loglevel = logging.INFO на: logging.DEBUG

Жмём на Сохранить в верхнем, правом углу Текстового редактора Gedit и закрываем его.

2. Конфиг-файл torrenttv.py. Путь: /opt/HTTPAceProxy/plugins/config.

Открываем его в Терминале (Ctrl+Alt+T) командой:

sudo gedit /opt/HTTPAceProxy/plugins/config/torrenttv.py

и в открывшемся файле меняем значения (!!!Меняем только написанное Розовым цветом значение на Розовое!!!):

url = '' на: 'file:///opt/lists/as.m3u'

updateevery = 0 на: 60

Жмём на Сохранить в верхнем, правом углу Текстового редактора Gedit и закрываем его.

3. Конфиг-файл allfon.py. Путь: /opt/HTTPAceProxy/plugins/config.

Открываем его в Терминале (Ctrl+Alt+T) командой:

sudo gedit /opt/HTTPAceProxy/plugins/config/allfon.py

и в открывшемся файле меняем значения (!!!Меняем только написанное Розовым цветом значение на Розовое!!!):

url = 'http://allfon-tv.com/autogenplaylist/allfontv.m3u' на: 'http://pomoyka.win/trash/ttv-list/allfon.all.player.m3u'

Жмём на Сохранить в верхнем, правом углу Текстового редактора Gedit и закрываем его.

4. Конфиг-файл torrentfilms.py. Путь: /opt/HTTPAceProxy/plugins/config.

Открываем его в Терминале (Ctrl+Alt+T) командой:

sudo gedit /opt/HTTPAceProxy/plugins/config/torrentfilms.py

и в открывшемся файле меняем значения (!!!Меняем только написанное Розовым цветом значение на Розовое!!!):

directory = '/mnt/films' на: '/home/user/films'
(где user надо поменять на ваше имя пользователя в системе. Например: '/home/vasyapupkin/films')
В таком варианте в Домашняя папка будет находиться папка - films, куда вы будете скачивать и помещать torrent-файлы для просмотра фильмов (!!!без их скачивания!!!), но вы можете выбрать любую, другую директорию и название папки, на ваше усмотрение.

updateevery = 0 на: 180

Жмём на Сохранить в верхнем, правом углу Текстового редактора Gedit и закрываем его.

Для особливо ленивых, всё выше-проведённые манипуляции с конфиг-файлами Прокси (раздел Прокся. П.п. 1, 2, 3, можно сделать с помощью штатных средств (предустановлены) Ubuntu:
1. - неинтерактивный редактор текстовых файлов Sed
2. - язык обработки шаблонов с C-подобным синтаксисом Awk
(кратенько, чтобы понять, "что и как и с чем едят", об этих двух потоковых редакторах вы можете почитать тут: Приложение C. Маленький учебник по Sed и Awk)
одной командой в Терминале (Ctrl+Alt+T):

cd /opt/HTTPAceProxy; sudo sed -i -e 's/acespawn = False/acespawn = True/' -e "s|acecmd = '/opt/acestream/start-engine --client-console --live-buffer 25 --vod-buffer 10'|acecmd = '/opt/acestream/start-engine --client-console --bind-all --service-remote-access --access-token ReplaceMe --service-access-token user --stats-report-peers --live-buffer 25 --vod-buffer 10 --max-connections 500 --vod-drop-max-age 120 --max-peers 50 --max-upload-slots 50 --download-limit 0 --stats-report-interval 2 --slots-manager-use-cpu-limit 1 --core-dlr-periodic-check-interval 5 --check-live-pos-interval 5 --refill-buffer-interval 1 --core-skip-have-before-playback-pos 1 --webrtc-allow-outgoing-connections 1 --allow-user-config --upload-limit 0 --cache-dir /home/user/.ACEStream --state-dir /home/user/.ACEStream --log-file /var/log/acestream.log --log-debug 0'|" -e 's/httpport = 8000/httpport = 8081/' -e 's/use_chunked = True/use_chunked = False/' -e 's/loglevel = logging.INFO/loglevel = logging.DEBUG/' aceconfig.py -e "s|url = ''|url = 'file:///opt/lists/as.m3u'|" -e 's/updateevery = 0/updateevery = 60/' plugins/config/torrenttv.py -e "s|url = 'http://allfon-tv.com/autogenplaylist/allfontv.m3u'|url = 'http://pomoyka.win/trash/ttv-list/allfon.all.player.m3u'|" plugins/config/allfon.py | awk '{if (match($0, "directory")) $3="\x27/home/user/films\x27"; if (match($0, "updateevery")) $3="180"; print $0}' plugins/config/torrentfilms.py | sudo tee plugins/config/torrentfilms.py > /dev/null; cd
(где user в --service-access-token user, --cache-dir /home/user/.ACEStream, --state-dir /home/user/.ACEStream и $3="\x27/home/user/films\x27" надо поменять на ваше имя пользователя в системе. Например: --cache-dir /home/vasyapupkin/.ACEStream)

После настройки конфиг-файлов можем проверить работу Ace Stream Engine и Прокси по оттдельности.

А теперь проверим работоспособность Ace Stream Engine и Прокси.

1. Проверка Ace Stream Engine.
(Сразу добавлю, что Ace Stream Engine в купе с Проксей будут работать в фоновом/консольном режиме)

Для этого в Терминале (Ctrl+Alt+T) запускаем его командой:

/opt/acestream/start-engine --client-console --bind-all --service-remote-access --access-token ReplaceMe --service-access-token user --stats-report-peers --live-buffer 25 --vod-buffer 10 --max-connections 500 --vod-drop-max-age 120 --max-peers 50 --max-upload-slots 50 --download-limit 0 --stats-report-interval 2 --slots-manager-use-cpu-limit 1 --core-dlr-periodic-check-interval 5 --check-live-pos-interval 5 --refill-buffer-interval 1 --core-skip-have-before-playback-pos 1 --webrtc-allow-outgoing-connections 1 --allow-user-config --upload-limit 0 --cache-dir /home/user/.ACEStream --state-dir /home/user/.ACEStream --log-file /var/log/acestream.log --log-debug 0
(где user в --service-access-token user, --cache-dir /home/user/.ACEStream, --state-dir /home/user/.ACEStream надо поменять на ваше имя пользователя в системе. Например: --cache-dir /home/vasyapupkin/.ACEStream.

И, если на предыдущих этапах всё было правильно вами сделано, то в Терминале, кроме самой команды в фоне, никакого другого вывода, кроме, как на скрине ниже, не последует:



Если ошибок нет, а их не должно быть, нажмите на клавиатуре Ctrl+C, чтобы завершить процесс.

Не забываем это делать!!! - завершить процесс (работу Ace Stream) командой: Ctrl+C
Иначе, при дальнейшей проверке Прокси, у вас будет ошибка: acestream died..., т.к. будет запуск ДВУХ копий двжика Ace Stream (Не поверите! Но Прокся тоже запускает Ace Stream)!!!

2. Проверка Прокси.

Для этого в Терминале (Ctrl+Alt+T) запускаем его командой:

/usr/bin/python3 /opt/HTTPAceProxy/acehttp.py или python3 /opt/HTTPAceProxy/acehttp.py

и если всё правильно было сделано и настроено, то мы увидем такой вывод:


показывающий нам, что всё в зелёном секторе, ошибок нет, все плагины (конфиг-файлы) запущены и работают!
Жмём на клавиатуре Ctrl+C, чтобы завершить процесс.

Не забываем это делать!!! - завершить процесс (работу Прокси) командой: Ctrl+C
Иначе, при дальнейшем запуске Supervisor, у вас будет ошибка: address already in use..., т.к. будет запуск ДВУХ копий Прокси (Не поверите! Но Supervisor тоже запускает, и Ace Stream, и Проксю)!!!

Если в выводе будут значения Error в красном секторе, то это значит, что имеются ошибки и надо смотреть логи, чтобы понять, где ошибки и как их исправить, а как? Мы с вами рассмотрим после настройки Supervisor, на нашем форуме, в соответствующей статье теме.
И в этом случае не забываем нажать на клавиатуре Ctrl+C, чтобы завершить процесс!!!

Как алтернатива, можно открыть ещё одно окно Терминала (Ctrl+Alt+T), вписать в нём htop (еслы вы изучили команду на установку всех компонентов, то вы заметили, что мы его устанавливали и это по Wiki - компьютерная программа, предназначенная для вывода на терминал списка запущенных процессов и информации о них (Монитор процессов)) и, нажав на Enter, открыть его, нажать на F4 (это фильтр) и вписать: httpaceproxy, чтобы отфильтровать от всех процессов именно Проксю и мы увидим следующий вывод:


Как видно на скрине, всё также в зелёном секторе, а это значит, что всё запущено и работает без ошибок!
(кстати, таким же способом можно сделать вывод работы Ace Stream Engine (как и любого другого процесса в системе), нажав на F4, написать: - acestream)
И мы увидим такой вывод:


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

Supervisor.

В Supervisor. есть один основной, базовый, общий настроечный файл (далее конфиг-файлы) - supervisord.conf в /etc/supervisor и, по мере добавления клиентов контроля и управления, создаются дополнительные конфиг-файлы (.conf-файлы), непосредсвтенно управляющие конкретным приложением, скриптом и т.д., но уже в /etc/supervisor/conf.d

1. Конфиг-файл supervisord.conf. Путь: /etc/supervisor.

Для его редактирования открываем его в Терминале (Ctrl+Alt+T) командой:

sudo gedit /etc/supervisor/supervisord.conf

и в открывшемся файле меняете значения в секциях к виду, который будет показан ниже (ниже будут показаны только те секции, где нужно внести изменения. Чтобы понимать от и до, эти секции показаны целиком с уже внесёнными изменениями. В открытом файле по умолчанию, можете менять в этих секциях только те строки, которые отличаются от строк, в ниже-показанных секциях и обратите внимамние на начало каждой строки! Если есть - ; (означает, что строка закомментирована), значит он должен быть, если в начале строки его нет (означает, что строка раскомментирована), то значит его в начале данной строки не должно быть!):

Секция:
[unix_http_server]

file=/var/run/supervisor.sock ; the path to the socket file
chmod=0766 ; socket file mode (default 0700)
;chown=nobody:nogroup ; socket file uid:gid owner
;username=user ; default is no username (open server)
;password=123 ; default is no password (open server)


Секция:
;[inet_http_server] ; inet (TCP) server disabled by default - во первых, надо раскоментировать эту строку (удалить в её начале - ;).
и она должна выглядеть так:
[inet_http_server] ; inet (TCP) server disabled by default

port=*:9001 ; ip_address:port specifier, *:port for all iface
;username=user ; default is no username (open server)
;password=123 ; default is no password (open server)


Секция:
[supervisord]

logfile=/var/log/supervisor/supervisord.log ; main log file; default $CWD/supervisord.log
logfile_maxbytes=50MB ; max main logfile bytes b4 rotation; default 50MB
logfile_backups=10 ; # of main logfile backups; 0 means none, default 10
loglevel=info ; log level; default info; others: debug,warn,trace
pidfile=/var/run/supervisord.pid ; supervisord pidfile; default supervisord.pid
nodaemon=true ; start in foreground if true; default false
minfds=1024 ; min. avail startup file descriptors; default 1024
minprocs=200 ; min. avail process descriptors;default 200
;umask=022 ; process file creation umask; default 022
user=root ; (default is current user, required if root)
;identifier=supervisor ; supervisord identifier, default is 'supervisor
;directory=/tmp ; default is not to cd during start
;nocleanup=true ; don't clean up tempfiles at start; default false
childlogdir=/var/log/supervisor ; 'AUTO' child log dir, default $TEMP
;environment=KEY="value" ; key value pairs to add to environment
;strip_ansi=false ; strip ansi escape codes in logs; def. false


Секция:
[supervisorctl]

serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket
;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
;username=chris ; should be same as in [*_http_server] if set
;password=123 ; should be same as in [*_http_server] if set
;prompt=mysupervisor ; cmd line prompt (default "supervisor")
;history_file=~/.sc_history ; use readline history if available


Секция:
;[include] - во первых, надо раскоментировать эту строку (удалить в её начале - ;).
и она должна выглядеть так:
[include]

;files = relative/directory/*.ini

Добавляем в конец следующую строку:

files = /etc/supervisor/conf.d/*.conf

В остальных секциях ничего менять не надо. Оставляете всё, как есть!

Жмём на Сохранить в верхнем, правом углу Текстового редактора Gedit и закрываем его.

Следующий этап - это создание конфиг-файла непосредсвенно управляющего Проксей.

2. Конфиг-файл httpaceproxy.conf. Путь: /etc/supervisor/conf.d (название файла можете придумать сами, на ваш вкус).

Создаём его в Терминале (Ctrl+Alt+T) командой:

sudo gedit /etc/supervisor/conf.d/httpaceproxy.conf

и в открывшемся пустом файле пишем, соблюдая переносы и исключая табуляцию, следующий код:

; supervisor config file

[program:01-HTTPAceProxy]
command = /usr/bin/python3 /opt/HTTPAceProxy/acehttp.py
stdout_logfile = /var/log/aceproxy.log
stderr_logfile = /var/log/aceproxy.log
startsecs = 10
#startretries=10
priority = 1
stopasgroup = true
autostart = true
autorestart = true


где:
- секция [program:01-HTTPAceProxy]: 01 - порядковый номер клиента. Название произвольное и вы можете назвать её, как угодно
- значение user = root: root указывает нам на то, что Supervisor будет запускаться от имени суперпользователя в системе
- stdout_logfile = /var/log/aceproxy.log: путь к папке, где будет создаваться .log-файл с инофромацией по процессам загрузки, ошибки и пр.
- priority = 1: приоритет загрузки при старте системы (здесь Первым). Т.е. если вы будете создавать ещё одну секцию или файл, то приоритет новой секции или файла (программы, скрипта и т.д.) уже будет priority = 2 (здесь Вторым) и т.д. или вы сами определите порядок/приоритет загрузки по вашему усмотрению

С отсальными значениями, думаю всё всем понятно и расписывать по ним, что и как, нет смысла.

После настройки и создания всех конфиг-файлов Supervisor и, т.к. мы создавали новый конфиг-файл, нам надо известить Supervisor о созданном, новом конфиг-файле, и активировать его, чтобы эти изменения вступили в силу, и сделаем мы это одной командой в Терминале (Ctrl+Alt+T):

sudo supervisorctl reread; sudo supervisorctl update; sudo systemctl restart supervisor.service

И снова, для особливо ленивых, редактируем supervisord.conf конфиг-файл, и создаём httpaceproxy.conf конфиг-файл и извещаем Supervisor о созданном, новом конфиг-файле, и активируем его, чтобы эти изменения вступили в силу (в этом коде, помимо потокового редактора Sed, будет применена встроенная команда оболочки Bash - echo), одной командой в Терминале (Ctrl+Alt+T):

cd /etc/supervisor; sudo sed -i -e 's|file=/tmp/supervisor.sock|file=/var/run/supervisor.sock|' -e 's/;chmod=0700/chmod=0766/' -e 's/\;\[inet_http_server]/[inet_http_server]/' -e 's/;port=127.0.0.1:9001/port=*:9001/' -e 's/;user=chrism/user=root/' -e 's|logfile=/tmp/supervisord.log|logfile=/var/log/supervisor/supervisord.log|' -e 's|pidfile=/tmp/supervisord.pid|pidfile=/var/run/supervisord.pid|' -e 's/nodaemon=false/nodaemon=true/' -e 's|serverurl=unix:///tmp/supervisor.sock|serverurl=unix:///var/run/supervisor.sock|' -e 's/\;\[include]/[include]/' supervisord.conf; echo -e '; supervisor config file\n\n[program:01-HTTPAceProxy]\ncommand = /usr/bin/python3 /opt/HTTPAceProxy/acehttp.py\nstdout_logfile_maxbytes = 50MB\nstdout_logfile = /var/log/aceproxy.log\nstderr_logfile = /var/log/aceproxy.log\nstartsecs = 10\n#startretries=10\npriority = 1\nstopasgroup = true\nautostart = true\nautorestart = true' | sudo tee conf.d/httpaceproxy.conf > /dev/null; sudo sh -c "echo 'files = /etc/supervisor/conf.d/*.conf' >> supervisord.conf"; cd; sudo supervisorctl reread; sudo supervisorctl update; sudo systemctl restart supervisor.service

После выполнения, или подробным - "ручным", или этой одной командой способами настройки Supervisor, мы получаем полностью работоспособный, запущенный стек Ace Stream Engine + HTTPAceProxy + Supervisor!!!
И каждый раз, когда вы будете включать (перезагружать) ваш компьютер, он будет автоматически запускаться вместе с системой и всегда будет готов для просмотра вами Телевидения и Фильмов!

Просмотреть логи Ace Stream Engine, HTTPAceProxy и Supervisor можно в:

- Ace Stream Engine - файл: acestream.log, путь: /var/log/
- HTTPAceProxy - файл: aceproxy.log, путь: /var/log/
- Supervisor - файл: supervisord.log, путь: /var/log/supervisor/

В Supervisor можно посмотреть статус, сделать некоторые манипуляции в графическом режиме, с помощью Web-интерфейса (далее веб-морда).

Мы (если вы заметили по первому установочному коду) уже с вами установили стек L.A.M.P., и мы теперь без проблем можем зайти в веб-морду Supervisor, набрав в браузере следующий адрес:

http://localhost:9001

и увидим такой интерфейс управления Supervisor:


здесь мы видим статус/состояние процессов, в частности Прокси (что она запущена и работает - running, что её можно перезапустить - Restart, остановить - Stop, очистить лог - Clear Log и просмотреть лог - Tail -f).
Также в веб-морде можно управлять сразу всеми процессами (три конпки вверху):

REFRESH - обновить
RESTART ALL - перезапустить всё
STOP ALL - остановить всё

Также вы можете поиграться со множеством настроек движка Ace Stream Engine в графическом режиме, в браузере, через веб-морду Ace Stream Engine и открыть её можно по адресу:

http://localhost:6878/webui/app/ReplaceMe/server
или
http://ip:6878/webui/app/ReplaceMe/server
(где ip - это ip-адрес вешего компьютера (ноутбука, лэптопа, нетбука. Где вы установили Ace Stream Engine/HTTPAceProxy/Supervisor). Например: 192.168.0.1. Узнать свой ip-адрес можно набрав в Терминале (Ctrl+Alt+T) команду: ifconfig (по умолчанию эта улитилта в 18.04 отсутствует, но, если вы были внимательны, изучая команду на установку всех компонентов выше, мы с вами установили пакет net-tools, а в его состав, как раз и входит утилита ifconfig). Как правило последняя секция в выводе Терминала)



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

А также, можно посмотреть все ваши текущие настройки Ace Stream Engine в браузере, посредством JSON, набрав адрес:

http://localhost:6878/webui/app/ReplaceMe/settings/get
или
http://ip:6878/webui/app/ReplaceMe/settings/get
(где ip - это ip-адрес вешего компьютера (ноутбука, лэптопа, нетбука. Где вы установили Ace Stream Engine/HTTPAceProxy/Supervisor). Например: 192.168.0.1. Узнать свой ip-адрес можно набрав в Терминале (Ctrl+Alt+T) команду: ifconfig (по умолчанию эта улитилта в 18.04 отсутствует, но, если вы были внимательны, изучая команду на установку всех компонентов выше, мы с вами установили пакет net-tools, а в его состав, как раз и входит утилита ifconfig). Как правило последняя секция в выводе Терминала)




В процессе работы Прокси, в купе с Ace Stream Engine, в системе, в соответствующих папках, указанных в настройках (в нашем случае это .ACEStream), накапливаются кэшированные данные (кэш/cache - почитать про это можно здесь) и вполне до приличого размера, и, чтобы не захламлять систему и не уперется в сообщение, что: - Алес! Типа места нет! Курите бамбук! (ну, или типа этого...), мы с вами создадим скрипт удаления этих кэшированных данных (кэш/cache) и разместим его в среду демона cron (что такое cron можно почитать здесь).

Создаём нужный нам скрипт (назовём его ACEADDON) и поместим его в cron.hourly (cron - планировщик заданий) командой в Терминале (Ctrl+Alt+T):

sudo nano /etc/cron.hourly/ACEADDON

и в открывшемся редакторе Nano, соблюдая переносы и исключая табуляцию, вписываем следующий код:

#!/bin/sh

ACEADDON=/home/user

find $ACEADDON/.ACEStream/collected_torrent_files -depth -type f -mmin +15 -print0 | xargs -0 -r rm -f > /dev/null 2>&1
find $ACEADDON/.ACEStream/.acestream_cache -depth -type f -mmin +15 -print0 | xargs -0 -r rm -f > /dev/null 2>&1

(Где user надо поменять на ваше имя пользователя в системе. Например: vasyapupkin)

Жмём на клавиатуре Ctrl+O для сохранения, на Enter для подтверждения сохранения и на Ctrl+X для выхода из редактора Nano.

Далее, делаем этот скрипт исполняемым командой в Терминале (Ctrl+Alt+T):

sudo chmod +x /etc/cron.hourly/ACEADDON

Или, для особливо ленивых, создаём этот скрипт и делаем его исполняемым одной командой в Терминале (Ctrl+Alt+T):

echo -e '#!/bin/sh\n\nACEADDON=/home/user\n\nfind $ACEADDON/.ACEStream/collected_torrent_files -depth -type f -mmin +15 -print0 | xargs -0 -r rm -f > /dev/null 2>&1\nfind $ACEADDON/.ACEStream/.acestream_cache -depth -type f -mmin +15 -print0 | xargs -0 -r rm -f > /dev/null 2>&1' | sudo tee /etc/cron.hourly/ACEADDON > /dev/null; sudo chmod +x /etc/cron.hourly/ACEADDON
(где user надо поменять на ваше имя пользователя в системе. Например: vasyapupkin)

Теперь весь кэш (cache) будет удаляться из системы с регулярностью раз в час и ваша система не будет захламляться.

Для наглядности, чтобы вы понимали, как происходит кэширование данных и как работает скрипт, скрин папки кэша после просмотра ТВ-канала в течение 1 минуты:



А так выглядит папка кэша после работы скрипта через час:


За скрипт говорим спасибо опять же автору Прокси Pepsik-kiev.

Теперь создадим ещё один очень полезный и нужный скрипт - скрипт бэкапа (резерваня копия) и обновления Прокси (назовём его BACKUP) и поместим его в cron.weekly (cron - планировщик заданий).
Раз в неделю он будет ооочень быстро останавливать Supervisor, создавать датированный архив бэкапа .tar.gz и снова запускать Supervisor, а значит и Проксю.

Резерваня копия (бэкап) будет создаваться и храниться в каталоге: /opt/BackUP-HTTPAceProxy/

Создаём скрипт командой в Терминале (Ctrl+Alt+T):

sudo nano /etc/cron.weekly/BACKUP

и в открывшемся редакторе Nano, соблюдая переносы и исключая табуляцию, вписываем следующий код:

#!/bin/sh
systemctl stop supervisor
tar -czf /opt/BackUP-HTTPAceProxy/aceproxy-$(date +"%d.%m.%y").tar.gz /opt/HTTPAceProxy/
rm -Rf /opt/HTTPAceProxy
cd /opt; git clone https://github.com/pepsik-kiev/HTTPAceProxy.git
cd /opt/HTTPAceProxy
sed -i -e 's/acespawn = False/acespawn = True/' -e "s|acecmd = '/opt/acestream/start-engine --client-console --live-buffer 25 --vod-buffer 10'|acecmd = '/opt/acestream/start-engine --client-console --bind-all --service-remote-access --access-token ReplaceMe --service-access-token user --stats-report-peers --live-buffer 25 --vod-buffer 10 --max-connections 500 --vod-drop-max-age 120 --max-peers 50 --max-upload-slots 50 --download-limit 0 --stats-report-interval 2 --slots-manager-use-cpu-limit 1 --core-dlr-periodic-check-interval 5 --check-live-pos-interval 5 --refill-buffer-interval 1 --core-skip-have-before-playback-pos 1 --webrtc-allow-outgoing-connections 1 --allow-user-config --upload-limit 0 --cache-dir /home/user/.ACEStream --state-dir /home/user/.ACEStream --log-file /var/log/acestream.log --log-debug 0'|" -e 's/httpport = 8000/httpport = 8081/' -e 's/use_chunked = True/use_chunked = False/' -e 's/loglevel = logging.INFO/loglevel = logging.DEBUG/' aceconfig.py -e "s|url = ''|url = 'file:///opt/lists/as.m3u'|" -e 's/updateevery = 0/updateevery = 60/' plugins/config/torrenttv.py -e "s|url = 'http://allfon-tv.com/autogenplaylist/allfontv.m3u'|url = 'http://pomoyka.win/trash/ttv-list/allfon.all.player.m3u'|" plugins/config/allfon.py | awk '{if (match($0, "directory")) $3="\x27/home/user/films\x27"; if (match($0, "updateevery")) $3="180"; print $0}' plugins/config/torrentfilms.py | sudo tee plugins/config/torrentfilms.py > /dev/null
systemctl start supervisor
exit

(где user в --service-access-token user, --cache-dir /home/user/.ACEStream, --state-dir /home/user/.ACEStream и $3="\x27/home/user/films\x27" надо поменять на ваше имя пользователя в системе. Например: --cache-dir /home/vasyapupkin/.ACEStream)

Далее, делаем этот скрипт исполняемым командой в Терминале (Ctrl+Alt+T):

sudo chmod +x /etc/cron.weekly/BACKUP

Жмём на клавиатуре Ctrl+O для сохранения, на Enter для подтверждения сохранения и на Ctrl+X для выхода из редактора Nano.

Для ленивых, создаём этот скрипт одной командой в Терминале (Ctrl+Alt+T):

echo -e '#!/bin/bash\nsystemctl stop supervisor\ntar -czf /opt/BackUP-HTTPAceProxy/aceproxy-$(date +"%d.%m.%y").tar.gz /opt/HTTPAceProxy/\nrm -Rf /opt/HTTPAceProxy\ncd /opt; git clone https://github.com/pepsik-kiev/HTTPAceProxy.git\ncd /opt/HTTPAceProxy\nsed -i -e \x27s/acespawn = False/acespawn = True/\x27 -e "s|acecmd = \x27/opt/acestream/start-engine --client-console --live-buffer 25 --vod-buffer 10\x27|acecmd = \x27/opt/acestream/start-engine --client-console --bind-all --service-remote-access --access-token ReplaceMe --service-access-token user --stats-report-peers --live-buffer 25 --vod-buffer 10 --max-connections 500 --vod-drop-max-age 120 --max-peers 50 --max-upload-slots 50 --download-limit 0 --stats-report-interval 2 --slots-manager-use-cpu-limit 1 --core-dlr-periodic-check-interval 5 --check-live-pos-interval 5 --refill-buffer-interval 1 --core-skip-have-before-playback-pos 1 --webrtc-allow-outgoing-connections 1 --allow-user-config --upload-limit 0 --cache-dir /home/user/.ACEStream --state-dir /home/user/.ACEStream --log-file /var/log/acestream.log --log-debug 0\x27|" -e \x27s/httpport = 8000/httpport = 8081/\x27 -e \x27s/use_chunked = True/use_chunked = False/\x27 -e \x27s/loglevel = logging.INFO/loglevel = logging.DEBUG/\x27 aceconfig.py -e "s|url = \x27\x27|url = \x27file:///opt/lists/as.m3u\x27|" -e \x27s/updateevery = 0/updateevery = 60/\x27 plugins/config/torrenttv.py -e "s|url = \x27http://allfon-tv.com/autogenplaylist/allfontv.m3u\x27|url = \x27http://pomoyka.win/trash/ttv-list/allfon.all.player.m3u\x27|" plugins/config/allfon.py | awk \x27{if (match($0, "directory")) $3="\\x27/home/user/films\\x27"; if (match($0, "updateevery")) $3="180"; print $0}\x27 plugins/config/torrentfilms.py | sudo tee plugins/config/torrentfilms.py > /dev/null\nsystemctl start supervisor\nexit' | sudo tee /etc/cron.weekly/BACKUP > /dev/null; sudo chmod +x /etc/cron.weekly/BACKUP
(где user в --service-access-token user, --cache-dir /home/user/.ACEStream, --state-dir /home/user/.ACEStream и $3="\x27/home/user/films\x27" надо поменять на ваше имя пользователя в системе. Например: --cache-dir /home/vasyapupkin/.ACEStream)

Ну, и на последок, создадим ещё один полезный и нужный нам скрипт - скрипт очистки архивов бэкапа .tar.gz (назовём его CLEANBACKUP) командой в Терминале (Ctrl+Alt+T):

sudo nano /etc/cron.monthly/CLEANBACKUP

и в открывшемся редакторе Nano, соблюдая переносы и исключая табуляцию, вписываем следующий код:

#!/bin/sh

CLEANBACKUP=/opt

find $CLEANBACKUP/BackUP-HTTPAceProxy -depth -type f -name *.tar.gz -mtime +21 -print0 | xargs -0 rm -f > /dev/null 2>&1


Жмём на клавиатуре Ctrl+O для сохранения, на Enter для подтверждения сохранения и на Ctrl+X для выхода из редактора Nano.

Далее, делаем этот скрипт исполняемым командой в Терминале (Ctrl+Alt+T):

sudo chmod +x /etc/cron.monthly/CLEANBACKUP

Ну, и для особливо ленивых, создаём этот скрипт и делаем его исполняемым одной командой в Терминале (Ctrl+Alt+T):

echo -e '#!/bin/sh\n\nCLEANBACKUP=/opt\n\nfind $CLEANBACKUP/BackUP-HTTPAceProxy -depth -type f -name '*.tar.gz' -mtime +21 -print0 | xargs -0 rm -f > /dev/null 2>&1' | sudo tee /etc/cron.monthly/CLEANBACKUP > /dev/null; sudo chmod +x /etc/cron.monthly/CLEANBACKUP

Этот скрипт будет раз в месяц удалять архивы бэкапа .tar.gz, создаваемые раз в неделю скриптом бэкапа и обновления Прокси - BACKUP, старше 3 недель (21 день).

Ну, и для совсем, совсем ленивых, установка и настройка всего, всего, что описано выше в этой статье - Ace Stream Engine, Прокси и Supervisor, а также скриптов очистки кэша, очистки файлов бэкапа и скрипта непостредсвенно бэкапа и обновления (L.A.M.P. не включен в установку. Ставьте отдельно, или по иснтрукции выше, или, как положено - от и до) - одной командой в Терминале (Ctrl+Alt+T):

Внимание!!! Если планировщик Cron (crontab) уже настраивался, то меняете, выделенную красным цветом часть кода:

echo -e '0 */8 * * * php /opt/acelist/as.php /opt/lists/as' | sudo crontab -
на:
sudo sh -c "echo '0 */8 * * * php /opt/acelist/as.php /opt/lists/as' >> /var/spool/cron/crontabs/root"; sudo /etc/init.d/cron restart

sudo apt install net-tools git vlc flashplugin-installer python3-apsw python-apsw python-m2crypto python-appindicator python3-dev python3-setuptools libpython2.7 mc htop ffmpeg libzbar-dev libzbar0 libffi-dev supervisor apache2 mariadb-server php libapache2-mod-php php-mysql php-cgi php-gd php-zip php-xml php-xmlrpc php php-curl php-json php-mbstring php-cli; sudo ufw allow in 80/tcp; sudo a2enmod rewrite; sudo sed -i "s/AllowOverride None/AllowOverride All/" /etc/apache2/apache2.conf; sudo systemctl restart apache2; sudo apt install -y python3-pip; sudo -H pip3 install cffi 'Cython==0.28' gevent psutil; sudo sh -c 'echo_supervisord_conf > /etc/supervisor/supervisord.conf'; mkdir films; sudo mkdir /opt/acestream /opt/BackUP-HTTPAceProxy /opt/acelist /opt/lists; cd /tmp; wget http://acestream.org/downloads/linux/acestream_3.1.49_ubuntu_18.04_x86_64.tar.gz; sudo tar -zxf acestream_3.1.49_ubuntu_18.04_x86_64.tar.gz -C /opt/acestream; wget https://finnway.ru/downloads/acesearch.tar.gz; sudo tar -zxf acesearch.tar.gz -C /opt/acelist; sudo php /opt/acelist/as.php /opt/lists/as; cd; echo -e '0 */8 * * * php /opt/acelist/as.php /opt/lists/as' | sudo crontab -; cd /opt; sudo git clone https://github.com/pepsik-kiev/HTTPAceProxy.git; cd HTTPAceProxy; sudo sed -i -e 's/acespawn = False/acespawn = True/' -e "s|acecmd = '/opt/acestream/start-engine --client-console --live-buffer 25 --vod-buffer 10'|acecmd = '/opt/acestream/start-engine --client-console --bind-all --service-remote-access --access-token ReplaceMe --service-access-token user --stats-report-peers --live-buffer 25 --vod-buffer 10 --max-connections 500 --vod-drop-max-age 120 --max-peers 50 --max-upload-slots 50 --download-limit 0 --stats-report-interval 2 --slots-manager-use-cpu-limit 1 --core-dlr-periodic-check-interval 5 --check-live-pos-interval 5 --refill-buffer-interval 1 --core-skip-have-before-playback-pos 1 --webrtc-allow-outgoing-connections 1 --allow-user-config --upload-limit 0 --cache-dir /home/user/.ACEStream --state-dir /home/user/.ACEStream --log-file /var/log/acestream.log --log-debug 0'|" -e 's/httpport = 8000/httpport = 8081/' -e 's/use_chunked = True/use_chunked = False/' -e 's/loglevel = logging.INFO/loglevel = logging.DEBUG/' aceconfig.py -e "s|url = ''|url = 'file:///opt/lists/as.m3u'|" -e 's/updateevery = 0/updateevery = 60/' plugins/config/torrenttv.py -e "s|url = 'http://allfon-tv.com/autogenplaylist/allfontv.m3u'|url = 'http://pomoyka.win/trash/ttv-list/allfon.all.player.m3u'|" plugins/config/allfon.py | awk '{if (match($0, "directory")) $3="\x27/home/user/films\x27"; if (match($0, "updateevery")) $3="180"; print $0}' plugins/config/torrentfilms.py | sudo tee plugins/config/torrentfilms.py > /dev/null; cd /etc/supervisor; sudo sed -i -e 's|file=/tmp/supervisor.sock|file=/var/run/supervisor.sock|' -e 's/;chmod=0700/chmod=0766/' -e 's/\;\[inet_http_server]/[inet_http_server]/' -e 's/;port=127.0.0.1:9001/port=*:9001/' -e 's/;user=chrism/user=root/' -e 's|logfile=/tmp/supervisord.log|logfile=/var/log/supervisor/supervisord.log|' -e 's|pidfile=/tmp/supervisord.pid|pidfile=/var/run/supervisord.pid|' -e 's/nodaemon=false/nodaemon=true/' -e 's|serverurl=unix:///tmp/supervisor.sock|serverurl=unix:///var/run/supervisor.sock|' -e 's/\;\[include]/[include]/' supervisord.conf; echo -e '; supervisor config file\n\n[program:01-HTTPAceProxy]\ncommand = /usr/bin/python3 /opt/HTTPAceProxy/acehttp.py\nstdout_logfile_maxbytes = 50MB\nstdout_logfile = /var/log/aceproxy.log\nstderr_logfile = /var/log/aceproxy.log\nstartsecs = 10\n#startretries=10\npriority = 1\nstopasgroup = true\nautostart = true\nautorestart = true' | sudo tee conf.d/httpaceproxy.conf > /dev/null; sudo sh -c "echo 'files = /etc/supervisor/conf.d/*.conf' >> supervisord.conf"; cd; sudo supervisorctl reread; sudo supervisorctl update; sudo systemctl restart supervisor.service; echo -e '#!/bin/sh\n\nACEADDON=/home/user\n\nfind $ACEADDON/.ACEStream/collected_torrent_files -depth -type f -mmin +15 -print0 | xargs -0 -r rm -f > /dev/null 2>&1\nfind $ACEADDON/.ACEStream/.acestream_cache -depth -type f -mmin +15 -print0 | xargs -0 -r rm -f > /dev/null 2>&1' | sudo tee /etc/cron.hourly/ACEADDON > /dev/null; sudo chmod +x /etc/cron.hourly/ACEADDON; echo -e '#!/bin/bash\nsystemctl stop supervisor\ntar -czf /opt/BackUP-HTTPAceProxy/aceproxy-$(date +"%d.%m.%y").tar.gz /opt/HTTPAceProxy/\nrm -Rf /opt/HTTPAceProxy\ncd /opt; git clone https://github.com/pepsik-kiev/HTTPAceProxy.git\ncd /opt/HTTPAceProxy\nsed -i -e \x27s/acespawn = False/acespawn = True/\x27 -e "s|acecmd = \x27/opt/acestream/start-engine --client-console --live-buffer 25 --vod-buffer 10\x27|acecmd = \x27/opt/acestream/start-engine --client-console --bind-all --service-remote-access --access-token ReplaceMe --service-access-token user --stats-report-peers --live-buffer 25 --vod-buffer 10 --max-connections 500 --vod-drop-max-age 120 --max-peers 50 --max-upload-slots 50 --download-limit 0 --stats-report-interval 2 --slots-manager-use-cpu-limit 1 --core-dlr-periodic-check-interval 5 --check-live-pos-interval 5 --refill-buffer-interval 1 --core-skip-have-before-playback-pos 1 --webrtc-allow-outgoing-connections 1 --allow-user-config --upload-limit 0 --cache-dir /home/user/.ACEStream --state-dir /home/user/.ACEStream --log-file /var/log/acestream.log --log-debug 0\x27|" -e \x27s/httpport = 8000/httpport = 8081/\x27 -e \x27s/use_chunked = True/use_chunked = False/\x27 -e \x27s/loglevel = logging.INFO/loglevel = logging.DEBUG/\x27 aceconfig.py -e "s|url = \x27\x27|url = \x27file:///opt/lists/as.m3u\x27|" -e \x27s/updateevery = 0/updateevery = 60/\x27 plugins/config/torrenttv.py -e "s|url = \x27http://allfon-tv.com/autogenplaylist/allfontv.m3u\x27|url = \x27http://pomoyka.win/trash/ttv-list/allfon.all.player.m3u\x27|" plugins/config/allfon.py | awk \x27{if (match($0, "directory")) $3="\\x27/home/user/films\\x27"; if (match($0, "updateevery")) $3="180"; print $0}\x27 plugins/config/torrentfilms.py | sudo tee plugins/config/torrentfilms.py > /dev/null\nsystemctl start supervisor\nexit' | sudo tee /etc/cron.weekly/BACKUP > /dev/null; sudo chmod +x /etc/cron.weekly/BACKUP; echo -e '#!/bin/sh\n\nCLEANBACKUP=/opt\n\nfind $CLEANBACKUP/BackUP-HTTPAceProxy -depth -type f -name '*.tar.gz' -mtime +21 -print0 | xargs -0 rm -f > /dev/null 2>&1' | sudo tee /etc/cron.monthly/CLEANBACKUP > /dev/null; sudo chmod +x /etc/cron.monthly/CLEANBACKUP
(где user в --service-access-token user, --cache-dir /home/user/.ACEStream, --state-dir /home/user/.ACEStream и $3="\x27/home/user/films\x27" надо поменять на ваше имя пользователя в системе. Например: --cache-dir /home/vasyapupkin/.ACEStream)

Что касается имён скриптов, вы можете придумать их сами, на ваше усмотрение.


А для совсем, совсем, очень, очень ленивых, вся полная установка одной маленькой, маленькой командой в Терминале (Ctrl+Alt+T):
(установка скриптом. Здесь имя пользователя вместо user прописывать не надо. Папка кэша Ace Stream Engine - .ACEStream будет находится в /tmp/.ACEStream, а папка торрент-файлов фильмов films, куда вы их будете ложить, в /mnt/films
2 варианта установки: 1. - если планировщик Cron (crontab) ни разу не запускался в системе. 2. - если планировщик Cron (crontab) уже запускался и настраивался)

1. Вариант, если планировщик Cron (crontab) ни разу не запускался:
bash <(wget -qO- https://finnway.ru/downloads/ace)

2. Вариант, если планировщик Cron (crontab) уже запускался и настраивался:
bash <(wget -qO- https://finnway.ru/downloads/acecron)


На этом настройка Ace Stream Engine, Прокси и Supervisor, а также скриптов очистки кэша, очистки файлов бэкапа и скрипта непостредсвенно бэкапа и обновления закончена и всё щапушено и готово к работе.
Можно приступать к просмотру Телевидения и Фильмов...


Просмотр Телевидения.

Т.к. мы с вами всё установили и настроили, можно смело переходить к просмотру Телевидения (ТВ-каналов).
Для начала на вашем компьютере (ноутбуке, лэптопе, нетбуке).

Выше, в разделе Прокся, я уже описывал, за показ чего отвечает тот или иной из 4плагинов Прокси.

И для просмотра Телевидения мы, как пример, воспользуемся плагином torrenttv.py, который открывает самый большой, внушительный плей-лист для просмотра.
Для этого мы воспользуемся, если вы также заметили, изучая команду на установку всех компонентов выше, ранее-установленным нами медиа-проигрывателем VLC.

Открываем его из Приложений.

Чтобы VLC не стартовал плей-лист в режиме Автозапуск (автоматическое начало воспроизведения содержимого плей-листа после его загрузки), что очень не удобно, жмём на клавиатуре на Ctrl+P и в октрывшемся окне Простые настройки, в его нижнем, левом углу, в секции Показывать настройки жмём - на все:


А в новом окне Расширенные настройки, в левой его колонке, листая вниз, выбираем пункт Плейлист и в правой колонке окна снимаем галку с пункта Автозапуск и жмём на Сохранить:


Далее, жмём на клавиатуре на Ctrl+N и в октрывшемся окне Источник, вкладка Сеть вводим адрес:

http://ip:8081/torrenttv
или
http://ip:8081/torrenttv/playlist.m3u
(где ip - это ip-адрес вешего компьютера (ноутбука, лэптопа, нетбука. Где вы установили Ace Stream Engine/HTTPAceProxy/Supervisor). Например: 192.168.0.1)

жмём на Enter или кликаем мышкой на Воспроизвести и сразу, чтобы отобразился весь плей-лист, для выбора нужного ТВ-канала, жмём на клавиатуре Ctrl+L (или кликаем мышкой на соответсвующую кнопку панели управления VLC-плеера внизу):


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


Т.к. автоматически плей-листы в VLC не сохраняются и, чтобы постоянно не вводить заново адрес плей-листа, его можно сохранить, нажав на клавиатуре Ctrl+Y, выбрать место/папку для сохранения (например на Рабочий стол) и в последующем просто открывать его, нажав на него мышкой.

Просмотр HD Телевидения с помощью плагина torrenttelik.py (плей-лист не такой огромный, как первый, но очень приятный), запускается аналогичным способом, только адрес для ввода в VLC-плеере уже будет таким:

http://ip:8081/torrent-telik
или
http://ip:8081/torrent-telik/playlist.m3u
(где ip - это ip-адрес вешего компьютера (ноутбука, лэптопа, нетбука. Где вы установили Ace Stream Engine/HTTPAceProxy/Supervisor). Например: 192.168.0.1)

Просмотр ТВ-каналов от FRY!TV с помощью плагина frytv.py (плей-лист достаточно большой), запускается также аналогичным способом, только адрес для ввода в VLC-плеере уже будет таким:

http://ip:8081/frytv
или
http://ip:8081/frytv/playlist.m3u
(где ip - это ip-адрес вешего компьютера (ноутбука, лэптопа, нетбука. Где вы установили Ace Stream Engine/HTTPAceProxy/Supervisor). Например: 192.168.0.1)

Просмотр ТВ-каналов от Allfon с помощью плагина allfon.py (плей-лист достаточно большой), запускается также аналогичным способом, только адрес для ввода в VLC-плеере уже будет таким:

http://ip:8081/allfon
или
http://ip:8081/allfon/playlist.m3u
(где ip - это ip-адрес вешего компьютера (ноутбука, лэптопа, нетбука. Где вы установили Ace Stream Engine/HTTPAceProxy/Supervisor). Например: 192.168.0.1)

Просмотр Фильмов.

Прежде чем мы начнём просмотр Фильмов, нам необходимо скачать torrent-файлы фильмов с известных torrent-трекеров, таких как Rutracker, NNM-Club, Kinozal и др. и поместить (сохранить) их в папку films в Домашняя папка - /home/user/films. Если вы также заметили, изучая команду на установку всех компонентов выше, мы её уже создали.
(где user в /home/user/films будет ваше имя пользователя в системе. Например: vasyapupkin -т.е. папка films в Домашняя папка)

Внимание!!!
Если вы совсем, совсем, очень, очень ленивы и устанавливали всё скриптом, то в этом случае папка для torrent-файлов фильмов films будет находится в: /mnt/films и, соответственно, скачивать torrent-файлы фильмов и помещать (сохранять) их надо вам туда.

Перезапускаем Проксю, открыв web-морду Supervisor и нажав, или на RESTART ALL, или на Restart, чтобы сообщить ей, что torrent-файлы в папке films.
В будущем, если вы добавляете новые torrent-файлы в папку films и хотите посмотреть новый фильм сразу, всегда перезапускайте Проксю, т.к. время обновления плей-листа в настройках плагина составляет 180 минут.

И теперь для просмотра Фильмов мы будем использовать плагин torrentfilms.py, который запускается также аналогичным способом, только адрес для ввода в VLC-плеере уже будет таким:

http://ip:8081/films
или (в этом варианте будет отображаться в статистике)
http://ip:8081/proxyfilms
(где ip - это ip-адрес вешего компьютера (ноутбука, лэптопа, нетбука. Где вы установили Ace Stream Engine/HTTPAceProxy/Supervisor). Например: 192.168.0.1)

Выбираете из списка плэй-листа нужный вам Фильм (torrent-файлы фильмов вы уже предаврительно накидали в папку films в Домашняя папка), кликаете по нему два раза мышкой и с удовольствием наслаждаетесь просмотром Фильма без его скачивания!


Что касается просмотра в браузере, например Тучка-ТВ или др. аналогичного ресурса, то, т.к. у нас в системе уже успешно установлен и запущен Ace Stream Engine, то в дополнительной устанавке того же ACE Player HD нет необходимости и для просмотра Телевидения, вы просто заходите на сайт такого ресурса и запускаете на просмотр нужный вам ТВ-канал. Выбираете (на примере Тучка-ТВ): Источник 1, -> или FlowPlayer, или VideoJS и наслаждаетесь просмотром любимого ТВ-канала.


Всё, что относилось к настройке Ace Stream Engine, Прокси, Supervisor и просмотру Телевидения/Фильмов на вешем компьютере (ноутбуке, лэптопе, нетбуке) мы с вами успешно сделали и завершили и теперь перейдём к настройкам просмотра на клиентах вашей домашней, лакальной сети.

Просмотр Телевидения/Фильмов на телевизоре/смартфоне/планшете (далее клиенте).

Сразу скажу, что устанавливать на клиенте всё, что мы устанавливали ранее на компьютере, а именно Ace Stream Engine/HTTPAceProxy/Supervisor не надо!
Достаточно иметь на клиенте любой плеер, поддерживающий просмотр .m3u-плейлистов.
Это могут быть те же: VLC, IPTV (Pro), MXPlayer и мн. другие, аналогичные плееры.
А также, чтобы в телевизоре/смартфоне/планшете было подключение к сети Интернет (Ethernet/Wi-Fi. Из практики лучше Ethernet, т.к. Wi-Fi прилично режет скорость Интернета, а значит на клиенте, где Wi-Fi, могут быть проблемы с воспроизведением в виде затыков, зависаний и пр.).

И так! Например у вас дома имеется телевизор с Android (TV) или телефон/планшет с Android (далее мы будет рассматривать пример именно с этой ОС) или с любой, другой ОС, где имеется или можно установить такой плеер.

Устанавливаем из Play Market в ваш телевизор/смартфон/планшет, нужный вам плеер (т.к. у меня Android TV 4.4.4, я остановил свой выбор на связке IPTV Pro + VLC (IPTV Pro в отличии от бесплатного IPTV просто без рекламы и стоит всего ₽99, но настройки одинаковые. IPTV - это оболочка для VLC, которая упрощает весь алгоритм действий).

Но тут выбор за вами!
(многие хвалят на просторах Smart IPTV-плеер, работающий практически на всех SmartTV-телевизорах, но в версии для Android TV он только для Android от 5.0 и выше и он платный. После 7-ми дневного триала ₽409)

После установки плееров (IPTV + VLC), открываем IPTV и жмём на: + Добавить плейлист:


В выпавшем в верхнем правом углу меню, жмём на: Добавить URL:


В выпавшем меню ввода Добавить URL, вводим адрес:

http://ip:8081/torrenttv
или
http://ip:8081/torrenttv/playlist.m3u
(где ip - это ip-адрес вешего компьютера (ноутбука, лэптопа, нетбука. Где вы установили Ace Stream Engine/HTTPAceProxy/Supervisor). Например: 192.168.0.1)
название плей-листа (на ваш вкус) и жмёте на Ок.


Откроется окно с каналами данного плей-листа Телевидение, где в его верхнем, левом углу жмём на три горизонтальных полоски (левее названия Телевидение):


И в выпавшем слева меню жмём на Настройки:


В открывшемся окне снимаем галку с Использовать встроенный видеоплеер, жмём на закладку Внешний видеоплеер и в выпавшем меню выбираем VLC, после чего жмём в верхнем левом углу на стрелку влево:


В окне с каналами данного плей-листа Телевидение выбираем нужный нам ТВ-канал:


И наслаждаемся просмотром любимого ТВ-канала!



Аналогичным способом настраиваются остальные плей-листы Прокси (все ссылки на них выше, в разделах: Просмотр Телевидения/Просмотр Фильмов на компьютере (ноутбуке/лэптопе/нетбуке)).

После настройки/добавления плей-листов Прокси в IPTV, если нажать снова в верхнем, левом углу окна приложения на три горизонтальных полоски, то в выпавшем меню, мы увидим все наши добавленные плей-листы Прокси и в любой момент можем здесь пререключится на нужный нам плей-лист (здесь самый верхний, засвеченный светло-голубым фоном плей-лист Кинотеатр (вы можете назвать каждый плей-лист на ваш вкус), является текущим плей-листом), выбрать любимый ТВ-канал или Фильм и продоложить наслаждасться просмотром.



И, в дополнение, чтобы не листать огромный список каналов и не искать в нём долго любимый канал, вы можете вернутся в Настройки и в секции Стартовая страница изменить значение на Избранное. Ворачиваетесь в список каналов (плей-лист), выбираете любимый канал (можно через Поиск), жмёте на него удерживая и в выпавшем меню выбираете Сохранить в Избранное. И так можно сделать с любым каналом.
Теперь, при старте IPTV, будет сразу окрываться Избранное и вы сможете включить без предварительного поиска любой из сохранённых в Избранном любимый канал.

И, как говорится, на посошок...

Запустите на компьютере любой ТВ-канал, запустите ТВ-канал на смартфоне и запустите ТВ-канал на планшете.
А теперь, используя веб-морду Прокси можно получить полную статистику работы (информацию о системе, установленный лимит соединений, количество подключенных клиентов, названия открытых каналов, на каком клиенте запущен канал, время начала открытия канала, длительность просмотра, скорость передачи данных канала и количество раздающих данный канал, ссылки на страницы разработчика на GitHub и профильный форум Прокси), набрав в браузере адрес:

http://ip:8081/stat
(где ip - это ip-адрес вешего компьютера (ноутбука, лэптопа, нетбука. Где вы установили Ace Stream Engine/HTTPAceProxy/Supervisor). Например: 192.168.0.1)

Внимание!!! Статистика отображается только при условии, что у вас, хотя бы на одном из клиентов запущен просмотр какого-либо ТВ-канала.


Вот, в принципе и всё!

Всё, что необходимо для успешной работы Ace Stream Engine, Прокси и Supervisor мы выполнили и остаётся только наслаждаться просмотром Телевидения и Фильмов, как на самом компьютере (ноутбуке/лэптопе/нетбуке) под управлением Ubuntu 18.04/10, где вы развернули Ace Stream Engine, Проксю и Supervisor, в вашем доме (квартире/даче/сарае и т.д.), так и на любом девайсе (телевизоре/смартфоне/планшете), подключенных к сети Интернет, используя локальную сеть и без дополнительной установки в него Ace Stream Engine.

Я прошу прощения за такой большой Мануал, но по другому никак и это стоит того!
Основываясь на свой личный опыт и опыт многих любителей Прокси, я постарался максимально подробно собрать, систематизировать все детали и рассказать и показать всё Вам, уважаемые читатели Блога, чтобы максимально упростить процесс установки.

Вполне допускаю, что у вас могут возникнуть трудности во время установки и настройки (не Боги горшки обжигают...), поэтому, давайте все проблемы и вопросы, связанные с установкой и настройкой мы с вами будет решать на нашем форуме.
Могу лишь только пожелать вам быть внимательными, не торопиться, вдумчиво, шаг за шагом проходить этап за этапом и у вас всё получиться!

Всем приятного просмотра и удачи!


      P.S. Если у вас появились вопросы или мнения по данной статье, обсудить их можно на нашем форуме: 
http://compizomania.54672.x6.nabble.com/Ace-Stream-Engine-3-1-49-HTTPAceProxy-Supervisor-Ubuntu-18-04-10-td8895.html