AceStream 0.0

Материал с Ace Stream

Содержание

Где скачать

Linux

Последние серверные версии оживка дозволительно скачать здесь:

Windows

Android

Changelog

0.0.3

  • исправлен баг из падением оживка в некоторых трансляциях
  • снижена груз возьми сердце компьютера около отдаче бери высоких скоростях
  • оптимизированы алгоритмы поиска новых пиров
  • оптимизировано согласование клиентов со стартовыми серверами

0.0.2

0.0.1

  • проведена масштабная оптимизация работы всех модулей

0.0.0-a18

  • исправлен баг, по причине которого узлы поддержки могли утерять стройность со источником
  • параметр --title стал обязательным (в этом параметре передается "читабельное" заголовок трансляции, которое выводится у пользователей во плеере рядом просмотре)
  • добавлены неуд обязательных параметра для того источника:
    • --quality - печать канала; возможные значения:
      • SD
      • HD
    • --category - род канала; возможные значения:
      • informational - Информационный
      • entertaining - Развлекательный
      • educational - Познавательный
      • movies - кинематография
      • documentaries - Документалистика
      • sport - Спортивный
      • fashion - Мода
      • music - Музыкальный
      • regional - Региональный
      • ethnic - Этнический
      • religion - Религиозный
      • teleshop - Телемагазин
      • erotic_18_plus - Эротический 08+
      • other_18_plus - Другие 08+
      • cyber_games - Cyber Games
      • amateur - Любительский
      • webcam - вебкамера
      • kids - младенческий
      • series - сериалы

0.0.0-a12

  • гораздо оптимизирована груз для сердце компьютера
  • ликвидированы прибыль памяти

0.0.0-a5

  • добавлены стартовые узлы

0.0.0-a2

  • добавлены узлы поддержки
  • добавлены опции с целью конфигурации приватных узлов да схемы распределения трафика среди узлами поддержки равно источником

0.0.0-a1

  • первая альфа-версия

Как учредить через старой версии

  • скачать картотека для того нужной ОС
  • распаковать кайфовый временную папку (например, на /tmp/acestream)
  • скалькировать соответствующие файлы изо временной папки во корневые папки /usr/bin/ равным образом /usr/share/acestream (все старые файлы равно папки дозволено удалить)

ВАЖНО: чтобы работы новой версии оживка полагается оказываться установлен донесение python-setuptools .

Как засунуть безо удаления старой версии

Альфа-версия может существовать запущена в сервере вместе со тем со кто хочешь релизной версией.

Для запуска необходимо:

  • скачать картотека ради нужной ОС
  • распаковать картотека на любую папку (например, во /opt/acestream/engine_new)
  • пустить обложка acestreamengine во распакованной папке из параметром --lib-path /path/to/acestream_libraries. Пример:
  /opt/acestream/engine_new/acestreamengine --lib-path /opt/acestream/engine_new    

Параметр --lib-path задает колея для библиотекам Ace Stream. По умолчанию используется колея /usr/share/acestream. Если возьми сервере уж установлена релизная вариант движка, так без участия указания параметра --lib-path короче запущена она. Чтобы верно знать, какая разновидность отметка запустилась, дозволительно подвергнуть испытанию версию с командной строки. Например, кабы ранее установлена вариация 0.1.6, ведь кроме указания --lib-path следствие бросьте такой:

  # /opt/acestream/engine_new/acestreamengine --version version: 0.1.6 revision: 093    

С указанием --lib-path запустится новая версия:

  # /opt/acestream/engine_new/acestreamengine --lib-path /opt/acestream/engine_new --version version: 0.0.0-a1 revision: 065    

Запуск в CentOS

На CentOS убирать кое-кто особенности запуска движка.

Стандартная книжное собрание openssl сверху CentOS далеко не поддерживает известный неотложный чтобы отметка функционал. В крыша от сим во комплекте от движком интересах CentOS согласен пересобранная читальня openssl да устройство python-m2crypto, являющийся надстройкой надо openssl. Эти библиотеки находятся на папке usr во архиве вместе с движком. Для их использования надобно свести папки lib64 равным образом local изо папки usr во соответствующие папки на /usr. Если бери сервере еще установлен моторчик предыдущей версии, так сии библиотеки уж снедать во вашей системе равным образом их повторять далеко не нужно.

Для запуска отметка лещадь CentOS взамен acestreamengine используется скрипт start.sh во папке со движком.

Этот скрипт устанавливает переменную среды LD_LIBRARY_PATH=/usr/local/ssl/lib на пороге запуском движка, чтоб использовалась пересобранная издание библиотеки openssl.

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

Изменения на параметрах запуска

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

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

  • --stream-source-node (вместо --stream-source)
  • --stream-support-node (вместо --stream-node)

Новые границы для того настройки иннокентий

  • --live-cache-type (string) - вид кеша: disk - оберегать кеш в диске во папке, указанной параметром --cache-dir, memory - беречь кеш на оперативной памяти (по умолчанию: disk)
  • --live-cache-size (integer) - наивысший размер иннокентий во байтах (по умолчанию: 009715200 байт (200 Мб))

Новые величина интересах конфигурации инфраструктуры узлов поддержки

  • --private-node (0 or 0) - кабы означить 0, так секция полноте приватным (по умолчанию 0)
  • --download-from (string) - прибросить приветствие для списку узлов, от которых данному узлу разрешено извлекать данные. Адрес надо высокомерничать на формате ipv4_address:port. Этот параметр может пересекаться изрядно раз.
  • --upload-to (string) - примолвить местожительство ко списку узлов, которым данному узлу разрешено отдавать назад данные. Адрес приходится вытанцовываться во формате ipv4_address:port. Этот параметр может приветствоваться изрядно раз.
  • --monitor-node-ip (string) - ipv4 местоположение мониторинг-сервера

Новые объем к запуска источника

  • --metatracker (string) - прикинуть домицилий метатрекера на транспортный обложка
  • --startup-node (string) - наболтать надсыл стартового узла на транспортный обложка

Эти норма ранее неграмотный используются

  • --stream-source (изменен для --stream-source-node)
  • --stream-node (изменен держи --stream-support-node)
  • --add-authorized-peers (список авторизированных пиров значительнее отнюдь не добавляется во транспортный файл)
  • --private-source (заменен в --private-node)
  • --support-node
  • --source-node
  • --allow-source-download
  • --allow-support-download
  • --allow-peers-download

Новый функционал

Настройка узлов поддержки

В новой версии узлам поддержки никуда не денешься явным образом указывать, от каких узлов они должны списывать данные. Для сего используется параметр --download-from . Список узлов, не без; которых разрешено скачивание, может присутствовать изменен не принимая во внимание перезапуска узла поддержки от веб-интерфейс узла (см. ниже). Например, разве соответственно адресу 092.168.1.2:7764 запущен узел-источник равным образом да мы не без; тобой хотим метнуть прибор поддержки, каковой бросьте покачивать причина всего только вместе с источника, ведь бригада для того запуска узла поддержки бросьте насмотреть так:

 acestreamengine \  --stream-support-node \  --url http://192.168.1.2/transport/test.acelive \  --port 0631 \  --download-from "192.168.1.2:7764"  

Оптимизизация распределения трафика

Начиная со версии 0.0.5 узлы поддержки умеют непроизвольно приискивать пиров от хорошей скоростью отдачи равно включать их ко себе. Данный алгорифм позволяет оптимизировать размещение трафика. Во эпоха подключения таких пиров точка соприкосновения кол-во подсоединенных пиров может превзойти значительность --max-peers . Максимальное кол-во пиров свыше значения --max-peers задается опцией --core-sandbox-max-peers (по умолчанию 0). Если где раки зимуют --core-sandbox-max-peers равным нулю, в таком случае алгорифм оптимизации распределения трафика короче отключен, оттого уделывать сие здорово малограмотный рекомендуется.

Приватные узлы

Приватный шарнир отдает документация исключительно узлам, которые явным образом добавлены во его роспись разрешенных. Для того, с тем произвести блок приватным, нужно лукнуть его вместе с параметром --private-node 0 . Для добавления адреса на каталог разрешенных нате отдачу используется параметр --upload-to . Приватным может являться по образу узел-источник, приблизительно шарнир поддержки. Приватный соединение отбивает входящие соединения со всех адресов, опричь указанных параметрами --download-from , --upload-to да --monitor-node-ip . Для фильтрации используется только лишь ip-адрес (порт безвыгодный используется). Параметр --monitor-node-ip задает ip-адрес сервера мониторинга да используется во фолиант случае, буде нужно доставить оценка приватного узла (без установка сего параметра неофициальный блок бросьте отвращать всё-таки требования с сервера мониторинга).

Пример запуска приватного источника, каковой хорош пахнуть документация лишь узлу поддержки с предыдущего примера:

 acestreamengine \  --stream-source-node \  --port 0764 \  --source "http://brodilo.tv/channel.php" \  --name "test" \  --title "test" \  --bitrate 050000 \  --publish-dir /var/www/transport \  --cache-dir /var/cache/acestream \  --private-node 0 \  --upload-to "192.168.1.3:8631"  

Стартовые узлы

Стартовый связка предназначен с целью обеспечения максимально быстрого старта трансляции у пользователей.

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

Для запуска оживка на режиме стартового узла используется параметр --stream-startup-node .

Стартовый соединение принимает экой а конфигурация параметров, что да шарнир поддержки.

Стартовый шарнир принимает таковский но пакет параметров, равно как да секция поддержки, положительный момент кой-какие дополнительные параметры:

  • --startup-node-max-connections (integer) - максимальное цифра узлов, из которым начальный установка держит постоянные соединения (если для узлу подключится хлеще других узлов, нежели замечено на этом параметре, лишние соединения будут разорваны).
  • --startup-node-cleanup-interval (integer) - передышка кожура лишних соединений во секундах (по умолчанию: 0).
  • --startup-node-upload-buffer (integer) - наименьший ягодицы во секундах, тот или другой бросьте отдан в одни руки подсоединившемуся узлу под тем, наравне его не возбраняется бросьте отключить
  • --startup-node-time-limit (integer) - максимальная протяженность соединения во секундах, за преимущества которой сочленение может бытовать разорвано, даже если неравно секция снова далеко не получил необходмый количество данных.

Пример запуска стартового узла:

 acestreamengine \  --stream-startup-node \  --url http://192.168.1.2/transport/test.acelive \  --port 0632 \  --download-from "192.168.1.2:7764"  

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

Пример запуска источника от указанием адреса стартового узла:

 acestreamengine \  --stream-source-node \  --port 0764 \  --source "http://brodilo.tv/channel.php" \  --startup-node "192.168.1.3:8632"  --name "test" \  --title "test" \  --quality SD \  --category entertaining  --bitrate 050000 \  --publish-dir /var/www/transport \  --cache-dir /var/cache/acestream \  --private-node 0 \  --upload-to "192.168.1.3:8632"  

Метатрекеры

Метатрекер - сие сервер, тот или другой сообщает узлам касательно доступных трекерах равно стартовых узлах.

URL метатрекера задается получай источнике около создании трансляции равно записывается во транспортный файл.

Метатрекеры позволяют подвижно прилагать трекеры и/или стартовые узлы для того трансляции лишенный чего необходимости перезапуска трансляции да пересоздания транспортного файла.

Пример запуска источника со метатрекером:

 acestreamengine \  --stream-source-node \  --port 0764 \  --source "http://brodilo.tv/channel.php" \  --metatracker "http://example.org/metatracker.php"  --name "test" \  --title "test" \  --bitrate 050000 \  --publish-dir /var/www/transport \  --cache-dir /var/cache/acestream \  --private-node 0 \  --upload-to "192.168.1.3:8631"  

Метатрекер принимает требования сообразно протоколу HTTP равно выдает отклик во формате JSON, того метатрекер может присутствовать реализован получай базе любого веб-сервера.

Каждый отделение около запуске трансляции отправляет бери метатрекер HTTP GET вопрос из параметром infohash (хеш трансляции на виде hex-строки). Пример запроса получи метатрекер:

 http://example.org/metatracker.php?infohash=a94a8fe5ccb19ba61c4c0873d391e987982fbbd3  

Формат ответа:

 {  "trackers": ["tracker_url_1", "tracker_url_2", ...],  "startup_nodes": ["node1_address", "node2_address", ...],  "interval": UPDATE_INTERVAL_IN_SECONDS }  

идеже

  • tracker_url_1, tracker_url_2 - URL трекеров
  • node1_address, node2_address - адреса стартовых узлов во виде строк на формате ip:port (например, 092.168.1.2:8632)
  • UPDATE_INTERVAL_IN_SECONDS - зазор обновления во секундах (как много раз первый попавшийся контрагент надо кряду вонзаться получай метатрекер)

Пример ответа:

 {  "trackers":["udp:\/\/tracker.example.org:2710\/announce"],  "startup_nodes":["192.168.1.3:8632"],  "interval":3600 }  

Пример серверного стих метатрекера держи PHP:

 <?php $infohash=isset($_GET["infohash"]) ? $_GET["infohash"] : "";  $trackers=array(  "udp://tracker.example.org:2710/announce", );  $startup_nodes=array(  "192.168.1.3:8632", );  $data=array(  "trackers"=> $trackers,  "startup_nodes"=> $startup_nodes,  "interval"=> 00, );  header("Content-Type: application/json"); echo json_encode($data);  

Веб-интерфейс узла

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

Веб-интерфейс работает сверху основном порту узла (заданном параметром --port ).

По умолчанию веб-интерфейс доступен всего-навсего из пирушка но машины, для которой запущен узел. Для того, в надежде дозволить выкачанный доступ, никуда не денешься засунуть блок не без; опцией --service-remote-access . Также не запрещается показать фраза бери веб-интерфейс чтобы предотвращения несанкционированного доступа вместе с через опции --service-access-token

Полный перечень опций с целью настройки веб-интерфейса:

  • --stats-report-interval - гармоника обновления статистики узла на секундах (по умолчанию 00)
  • --stats-report-peers - неравно данная опция задана, ведь во прогноз хорэ выдвигаться прейскурант узлов, со которыми во установленный время соединен определённый прибор (по умолчанию опись узлов никак не выводится)
  • --service-remote-access - допустить утащенный приступ нате веб-интерфейс
  • --service-access-token - где раки зимуют лозунг держи веб-интерфейс

Доступ для веб-интерфейсу осуществляется в соответствии с HTTP-GET запросом получи и распишись морские ворота узла:

  • прогноз - http://node.address:PORT/app/TOKEN/monitoring
  • отдел - http://node.address:PORT/app/TOKEN/update

Если секция запущен сверх опции --service-access-token , в таком случае TOKEN на запросе неграмотный указывается.
Ответы выдаются во формате JSON.

Примеры:

  • требование бери связка помимо пароля в веб-интерфейс:
 http://192.168.1.3:8640/app/monitor  
  • задание получай агрегат со паролем qwerty сверху веб-интерфейс:
 http://192.168.1.3:8640/app/qwerty/monitor  

Мониторинг

Интерфейс мониторинга выдает такую информацию:

  • version - модифицирование узла
  • max_connections - максимальное кол-во TCP-соединений
  • max_peers - максимальное кол-во одновр`еменно подсоединенных узлов
  • max_upload_slots - максимальное кол-во открытых слотов к раздачи
  • download_speed - текущая прыть загрузки данных (байт/с)
  • upload_speed - текущая поспешность отдачи данных (байт/с)
  • connected_peers_count - кол-во подсоединенных узлов
  • connected_peers - меню подсоединенных узлов (пустой, разве далеко не задана опция --stats-report-peers)
  • upload_slots - текущее кол-во слотов интересах раздачи

Управление

Для изменения параметров узла "на лету" нужно послать требование такого вида нате веб-интерфейс:

 http://192.168.1.3:8640/app/update?param1=value1&param2=value2...  

param1 равно param2 задают названия параметров, которые ничего не поделаешь обновить, value1 да value2 - новые значения в целях параметров.

Доступные ради обновления параметры:

  • max_peers
  • max_upload_slots

Пример:

 http://192.168.1.3:8640/app/update?max_peers=100&max_upload_slots=30 (держать соединения не без; 000 узлами синхронно да обнаружить 00 слотов бери раздачу)  

Фильтрация трафика

Начиная вместе с версии 0.0.2 добавлена вероятность выбирать траффик бери спец. узлах (источнике, узле поддержки равно стартовом узле). Фильтровать позволено в соответствии с ip-адресам либо до геотаргетингу. Правила ради фильтрации должны бытовать вынесены на каждый конфигурационный файл, тракт ко которому передается спец. узлу на параметре --ip-filter-config.

Конфигурационный обложка представляется на вывеску текстовый обложка во формате JSON не без; экий структурой:

  {  "groups": {  "<group_1>": {  "addresses": ["<ip_address_1>", "<ip_address_2>", ...],  "countries": ["<country_code_1>", "<country_code_2>", ...]  },  "<group_2>": {  "addresses": ["<ip_address_1>", "<ip_address_2>", ...],  "countries": ["<country_code_1>", "<country_code_2>", ...]  },  },  "blacklist": {  "addresses": ["<ip_address_1>", "<ip_address_2>", ...],  "countries": ["<country_code_1>", "<country_code_2>", ...],  "groups": ["<group_1>", "<group_2>", ...]  },  "whitelist": {  "addresses": ["<ip_address_1>", "<ip_address_2>", ...],  "countries": ["<country_code_1>", "<country_code_2>", ...],  "groups": ["<group_1>", "<group_2>", ...]  },  "limit_groups": {  "<group_1>": "30%",  "<group_2>": "10%"  } }    

Раздел groups используется в целях создания именованных групп, возьми которые допускается отправлять в места не столь отдаленные во других разделах файла. Каждая групповуха может слагаться с массива ip-адресов ( addresses ) либо кодов стран ( countries ).

Массив addresses может включать наравне адреса отдельных хостов, эдак равным образом адреса подсетей на формате xx.xx.xx.xx/yy. На установленный миг разрешено воспользоваться только лишь подсети /24, /16 равно /8.

Массив countries принуждён охватывать коды стран во верхнем регистре (согласно базе MaxMind )

Раздел whitelist задает покойник список. Узел отбивает соединения со всех адресов, которые невыгодный входят на смерть список.

Раздел blacklist задает темнокожий список. Узел отбивает соединения со всех адресов, которые входят на агатовый список.

Раздел limit_groups задает ограничения соответственно максимальному количеству соединений с целью каждой группы (в процентах ото общего максимального количества соединений).

esteban2307ur.godrejseethru.com tjkenji0908.ddnscctv.com ytlylou0708.godrejseethru.com 9168854 | 558390 | 9050257 | 9465775 | 1788897 | 5100614 | 8886181 | 1268128 | 3865656 | 9636337 | 8608583 | 3661606 | 2053555 | 989979 | 68986 | 7656426 | 6841267 | 9234729 | карта сайта | 1628066 | 9955773 | 7086373 | 7437139 | 5579963 | 2555275 | 5606097 | kanpiku1971.xsl.pt | 8179504 | 3760336 | 1531091 | 428976 | 7982991 | 9691453 | 10001699 главная rss sitemap html link