Русский
Русский
English
Статистика
Реклама

Samba

Security Week 40 патч для уязвимости Zerologon в Windows

28.09.2020 20:13:28 | Автор: admin
Главная тема недели в области кибербезопасности уязвимость в протоколе Netlogon, обнаруженная и закрытая в серверных версиях Windows еще 11 августа. Баг CVE-2020-1472, также известный как Zerologon, это суперуязвимость, критическая дыра с рейтингом CVSS в 10 баллов из 10.

При наличии сетевого доступа к контроллеру домена в корпоративной сети атакующий может сменить пароль на сервере и получить полный контроль над корпоративной инфраструктурой. Возможна и многоступенчатая атака на менее критичные Windows-серверы с тем же конечным результатом. Неофициальное название Zerologon уязвимость получила из-за специфики атаки: она начинается с попыток установить соединение, используя последовательность данных из одних нулей. Некорректная реализация алгоритма шифрования AES позволяет авторизоваться на сервере максимум с 256-й попытки, что на практике занимает пару секунд.



На прошлой неделе уязвимостью занялись за пределами Microsoft. Вышел неофициальный патч для Windows Server 2008 R2. Для этой ОС существует и официальная заплатка, но с января этого года она установится только у тех, кто приобрел пакет расширенной поддержки старого релиза.

Кроме того, решать проблему пришлось в коде Samba. Уязвимость актуальна только для тех инсталляций, где сервер Samba используется в качестве контроллера домена. Так как данная конструкция предполагает следование спецификациям протокола Netlogon (а ошибка именно в них, это не случайный софтверный баг), Samba также оказалась в числе пострадавших.

Источники:
Обзорный бюллетень Microsoft по уязвимости
Инструкция для системных администраторов
Подробное исследование уязвимости, проведенное специалистами Secura
Статья о неофициальном патче для Windows Server 2008 R2
Бюллетень от разработчиков Samba
Новость на Хабре

Серьезность проблемы подчеркивает директива американского Агентства по кибербезопасности о необходимости срочно накатить патч в инфраструктуре федеральных агентств. Как следует из описания уязвимости, приведенного первооткрывателями компанией Secura, источником проблемы стала некорректная реализация алгоритма шифрования AES в нестандартном режиме CFB8.

Авторизация двух систем по протоколу Netlogon предполагает обмен двумя произвольными числами длиной 8 байт, так называемыми ключами сессии. В процессе шифрования AES-CFB8 используются эти рандомные ключи и вектор инициализации (initialisation vector, IV) еще одна уникальная последовательность из 16 байт. Точнее, она должна быть уникальной: в спецификациях Netlogon указано, что IV всегда состоит из нулей.

Исследователь Том Терворт обнаружил следующее: если дать алгоритму на вход ключ сессии из восьми нулей и сделать 256 попыток входа, в одной из них комбинация нулевого ключа и нулевого вектора инициализации даст нулевой ClientCredential. Зная это, мы можем авторизоваться на сервере, как любой компьютер, состоящий в домене. На этом этапе атакующий по-прежнему не может обмениваться зашифрованными данными, но это и не обязательно: сервер без проблем установит сессию без шифрования, видимо, с целью поддержки старых ОС. В итоге появляется возможность авторизоваться как администратор атакуемого сервера и поменять пароль в Active Directory.

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

Судя по данным из инструкции Microsoft для администраторов, уязвимость будут закрывать в два этапа. На первом, начиная с 11 августа (если вы установили патч, конечно), старые системы, способные подключаться к домену только по уязвимому протоколу, смогут это сделать. При этом ломается известный метод атаки, но, возможно, существуют другие, более сложные способы. На втором этапе, с 9 февраля 2021 года, поддерживаемые серверы будут сбрасывать подключения без шифрования данных по умолчанию. Иными словами, в некоторых организациях администраторам добавится головной боли по выявлению и обновлению устаревших систем. В любом случае закрывать уязвимость надо, уж слишком высока цена взлома.

Что еще произошло:


Утекли исходные коды Windows XP и других старых ОС Microsoft. Архив объемом 43 гигабайта появился в общем доступе на прошлой неделе. Полноту и качество утечки пока толком не оценили. Возможно, это приведет к обнаружению новых критических уязвимостей в Windows XP, которые уже никто не будет закрывать. С другой стороны, даже известные баги этой ОС делают ее небезопасной, утечка в данном случае ничего не меняет.

Критическая уязвимость в Firefox для Android позволяет удаленно запускать браузер, который откроет произвольный URL. Релиз десктопного Firefox 81 и ESR 78.3 закрывает другую пачку критических багов.

Обнаружен троян для Android, перехватывающий сообщения с одноразовыми кодами авторизации и крадущий данные для доступа к мессенджеру Telegram и сервисам Google. Другой банковский троян для Android использует TeamViewer для удаленного контроля над устройством.

Специалисты Sophos исследуют мошенническую кампанию, предлагающую ранний доступ к iPhone 12. Скам начинается с переписки в iMessage, а заканчивается кражей денег с кредитной карты.

Компания Check Point Software опубликовала исследование о критической уязвимости в приложении Instagram для iOS и Android. Выполнение произвольного кода стало возможно благодаря багу в библиотеке, декодирующей изображения в формате JPEG.
Подробнее..

KODI. Как я собирал свой самый удобный и функциональный медиацентр для дома. Часть 1

24.03.2021 02:04:36 | Автор: admin

Содержание:

  1. Лирическое отступление

  2. Мои требования к медиацентру

  3. Аппаратная часть, программная платформа:

    1. Неттоп

    2. Пульт ДУ

  4. Операционная система

    1. Подготовка и установка Kubuntu 20.04 LTS

    2. Первичная настройка, удаление лишнего и установка пакетов для работы с системой

    3. Монтирование основного диска для хранения данных

    4. Сетевые каталоги

    5. Установка и настройка VNC-сервера

    6. Настройка профиля HDMI в PulseAudio

  5. Установка и базовая настройка KODI

  6. IPTV. Как установить и настроить, какой сервис выбрать

  7. Библиотека KODI. Что это такое и как настроить

  8. Elementum и Burst. Настраиваем просмотр контента торрент-онлайн

1. Лирическое отступление

Еще во времена своего первого телевизора со Smart TV часто ловил себя на мысли, что все это не то, неудобно, не всегда красиво А еще когда это все сопровождалось долгим откликом встроенной ОС, вылетами, требующие перезагрузок, начались поиски решения.

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

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

И вот, практически год назад, было найдено и собрано ровно под свои нужды решение на базе KODI. Год использования и вылизывания всех нюансов дали мне понять, насколько великолепно это решение, насколько огромны возможности и насколько я сожалею о том, что не нашел его раньше.

Публикаций, подобных этой, на тему как я строил свой медиацентр в сети достаточно. Но все же, целью я ставлю донести в массы, в очередной раз, о том, что смотреть телевизор и любимый сериал можно не только в предустановленном на телевизоре приложении Netflix.

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

2. Мои требования к медиацентру

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

Вот мой список:

  • Просмотр IPTV. Как бы для некоторых это не было странно в 2021 году, но телевизор в первую очередь должен быть телевизором. С хорошим набором каналов с EPG на борту и в хорошем качестве. Архив передач приветствуется, но не обязателен.

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

  • Приятный интерфейс и юзабилити. Что бы все домочадцы без труда смогли самостоятельно посмотреть очередную серию Маша и Медведь или любимого сериала, а кто-то и новости по ТВ.

  • Встроенная библиотека. С возможностью загружать информацию о фильме/сериале из внешних источников.

  • Торрент-качалка. Обязательно внешнее управление.

  • Аппаратные требования. Платформа x86-64. Работа 24/7/365, бесшумность, управление аэромышью.

  • Требования к ПО. Полноценная ОС, желательно семейства GNU/Linux. Удаленный доступ. Внешнее управление, желательна поддержка android-устройств. Обновления.

3. Аппаратная часть, программная платформа

Все знакомства проводил на виртуальных машинах или мобильном телефоне с Android на борту. Когда поиски были завершены и выбор пал на KODI, нужно было определиться с платформой. На этапе знакомства были испробованы и готовые сборки, с отчасти урезанной ОС, типа LibreELEC и на базе Windows 8/10. Из-за желания использования медиацентра, как полную замену всей начинки телевизора и использования его, лишь как экрана, от Windows пришлось отказаться. Нужна была работа 24/7/365 включил телевизор включился экран, а KODI уже готов к работе, он и не выключался. Из-за надежности, стабильности и небольших навыков в работе, остановился на Ubuntu с окружением рабочего стола KDE Plasma Kubuntu 20.04 LTS.

К слову, вариант с одноплатным компьютером, например Raspberry Pi, не рассматривал. Учитывая ARM-платформу, не высокую производительность и SD-карту под хранилище, с моими задачами не справился бы.

3.1. Неттоп

Был приобретен мини-ПК на AliExpress, благо выбор различных исполнений и комплектующих огромен. Накопители в комплект не входили - из собственных запасов. Меньший по объему отдал под ОС, больший под основное хранилище. Габариты неттопа очень компактные, блок питания внешний. Охлаждение пассивное, корпус выполнен из металла и сам по себе является большим радиатором. Учитывая отсутствие воздушного охлаждения и даже жестких дисков, мой медиацентр не будет издавать ни малейшего шума или щелчков головки HDD. Полная тишина.

Характеристики, внешний вид и внутреннее устройство:

ЦП - Intel Celeron J1900, 4 ядра, 4 потока, 2 ГГц
ОЗУ - 4 Гб DDR3L 1333 МГц
SSD - 500 Гб (SATA III)
SSD - 64 Гб (mSata)
LAN 1 Гбит/с
HDMI 1.4
VGA
2xUSB 2.0
2xUSB 3.0



Забегая немного вперед, с уверенностью могу сказать, что такая конфигурация даже избыточна. В самые пики, максимальное значение LA, которое мне удалось увидеть редко превышало 3. Оперативной памяти 4 Гб также с большим запасом чуть более 3 Гб это максисимум, сколько могла загрузить система. По температурам также все отлично, в простое 36-40 С, при нагрузках 48-52 С.


Покупка на то время обошлась в 110 долларов с доставкой в г. Минск.

3.2. Пульт ДУ

Для управления нужна была аэромышь, и она же пульт вкл/выкл телевизора (ИК), дабы не плодить количество устройств и все управление совместить в одном. Там же, в поднебесной, был заказан пульт G10 со встроенным гироскопом, голосовым вводом и подсветкой кнопок. Адаптер USB в комплекте, с подключением не возникло никаких проблем.

Единственное, что не смог подружить головой ввод и Ubuntu. На Android все работает из коробки. Если к-то смог с этим делом разобраться поделитесь.

Все кнопки управления работали по своему предназначению, конфликтов с Ubuntu и KODI не было. Необходимо было только запрограммировать кнопку вкл/выкл на нужный ключ, чтобы им управлять питанием телевизора Samsung. Для этого удерживая кнопку вкл/выкл на аэромыши поднести пульт от телевизора и также зажать кнопку вкл/выкл. LED-индикатор медленно замигает это будет означать, что пульт закончил обучение.

Уже потом, в ходе эксплуатации, обратил внимание на слишком большие шаги кнопок регулировки громкости. Этот параметр также можно подкорректировать.

Регулировка скорости клавиш управления звуком:

  • От медленной к быстрой: нажмите и удерживайте кнопки "OK" и "Volume+". Скорость регулируется на быструю, пока горит LED-индикатор.

  • От быстрой к медленной: нажмите и удерживайте кнопки " OK " и "Volume-". Скорость регулируется на медленную, пока горит LED-индикатор.

4. Операционная система

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

4.1. Подготовка и установка Kubuntu 20.04 LTS

Являясь пользователем Windows на домашнем ПК, готовил загрузочный flash-накопитель с помощью Rufus. Скачать последнюю версию, в том числе и портативную, всегда можно с официального сайта rufus.ie. Сам ISO-образ загружаем по ссылке kubuntu.org, я использовал 64-битную версию системы с длительной поддержкой (20.04.2 LTS).

Не думаю, что стоит подробно описывать ход установки ОС. Инструкция со скриншотами доступна в разделе Wiki на сайте Ubuntu. Для Kubuntu актуальной версии отличия будут лишь незначительные и то косметические в интерфейсе.

По завершении установки обязательно выполнить обновление системы

sudo apt-get update && sudo apt full-upgrade

4.2. Первичная настройка, удаление лишнего и установка пакетов для работы с системой

Устанавливаем минимальный набор программ для работы с системой. Я использую файловый менеджер midnight commander со строенным текстовым редактором mcedit, htop утилита мониторинга, ssh для удаленного управления, net-tools утилита для работы с сетевыми интерфейсами, landscape-common - отображает системную информацию в приветствии, при подключении по SSH

sudo apt-get install mc htop ssh net-tools landscape-common

Изначально, сетевой интерфейс работает по DHCP. Рекомендую сразу же присвоить статический IP-адрес, дабы в какой-то момент времени он не сменился, и вы не потеряли доступ к своему медиацентру.

Определяем все доступные сетевые интерфейсы в системе

ifconfig

Вывод:

kodi@kodi-pc:~$ ifconfigenp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500        inet 192.168.0.19  netmask 255.255.255.0  broadcast 192.168        inet6 fe80::8461:dcf8:d2c6:2d48  prefixlen 64  scopeid 0x20        ether 40:62:31:0a:11:a5  txqueuelen 1000  (Ethernet)        RX packets 3417519  bytes 5024924041 (5.0 GB)        RX errors 0  dropped 2  overruns 0  frame 0        TX packets 1059086  bytes 169628765 (169.6 MB)        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

В моем случае интерфейс enp1s0, ему назначен IP-адрес 192.168.0.19.

Назначим ему статический адрес 192.168.0.50 и будем дальше работать именно с ним, для этого необходимо отредактировать файл конфигурации netplan:

sudo mcedit /etc/netplan/00-installer-config.yaml

Привести к виду:

network: ethernets:  enp0s3:   addresses:    - 192.168.0.50/24   gateway4: 192.168.0.1   nameservers:    addresses: [192.168.0.1, 1.1.1.1]   optional: true version: 2 renderer: networkd

Где:
addresses IP-адрес, который будет назначен нашему сетевому интерфейсу
gateway4 IP-адрес нашего роутера
nameservers DNS сервера. Первый - наш роутер, 1.1.1.1 общедоступный DNS от Cloudflare

Сохраняем изменения и для надежности перезагружаем систему и проверяем (командой ifconfig). IP-адрес должен быть 192.168.0.50.

Для удобства, дальше работу продолжаю с домашнего ПК под управлением Windows 10 с помощью утилиты PuTTY по SSH-протоколу. SSH у нас уже установлен, используем порт 22.

SSH/SFTP-клиент для android-устройств

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

Удаляем ненужные медиацентру приложения

sudo apt remove libreoffice-draw skanlite okular kpat ksudoku kmahjongg kmines kdeconnect konversation krdc ktorrent thunderbird firefox elisa vlc libreoffice-math libreoffice-calc libreoffice-writer usb-creator-kde kwalletmanager

Удаляем неиспользуемые пакеты из кэша, очищаем кэш утилиты apt и ненужные зависимости

sudo apt autoclean && apt clean && apt autoremove

Устанавливаем Google Chrome на замену Firefox

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.debsudo dpkg -i --force-depends google-chrome-stable_current_amd64.deb

В качестве торрент-клиента использую qBittorrent. Устанавливаем

sudo apt install qbittorrent

4.3. Монтирование основного диска для хранения данных

В моем медиацентре используется два SSD-накопителя (64 и 500 Гб). Меньший по объему уже используется и размечен под систему и приложения. Хранить все медиа-данные, торренты буду на накопителе большего объема. Для этого смонтируем его в файловую систему.

В моем случае накопитель sda1 отформатирован и имеет один раздел (ext4). Определяем его UUID

ls -l /dev/disk/by-uuid

Вывод:

lrwxrwxrwx 1 root root 10 мар 14 18:01 40792859-581c-46cb-be9d-ad9d9e6ce843 -> ../../sdb1lrwxrwxrwx 1 root root 10 мар 14 18:01 4f311605-04ff-4e66-8121-187f270a51f4 -> ../../sdb5lrwxrwxrwx 1 root root 10 мар 14 18:01 760198b6-694e-4d6f-b21c-ea0c530398c3 -> ../../sda1lrwxrwxrwx 1 root root 10 мар 14 18:01 c53e5dd8-c36a-48b1-8591-3aeb4bce60a0 -> ../../sdb7lrwxrwxrwx 1 root root 10 мар 14 18:01 f09293e9-209e-4dce-ba4f-56d2e33657e8 -> ../../sdb6

Все устройства на медиацентре буду монтировать в каталог /mnt. Вложенный каталог (например, kodi), куда непосредственно необходимо смонтировать раздел, создаем вручную и назначаем права

sudo mkdir /mnt/kodisudo chmod -R 0777 /mnt/kodi

Открываем для редактирования fstab

sudo mcedit /etc/fstab

и в конец файла добавляем параметры монтирования для нашего накопителя

UUID=760198b6-694e-4d6f-b21c-ea0c530398c3 /mnt/kodi ext4 rw,nosuid,nodev,relatime 0 0

Все, можно перезагрузить систему и проверить, что накопитель автоматически монтируется при старте.

4.4. Сетевые каталоги

Так как медиацентр, в моем случае, предполагает работу 24/7, удобно использовать его как общий ресурс для обмена данными между всеми домашними устройствами.

Я использую два каталога:

  • /mnt/smb каталог для обмена между устройствами. Удобно для обмена файловой информации между домашним ПК, ноутбуками и android-устройствами. На ПК с Windows 10 каталог примонтирован в систему, как сетевой диск. На мобильном телефоне использую файловый менеджер X-Plore, в котором также примонтирован этот каталог, всегда быстро и удобно скопировать информацию.

  • /mnt/kodi/qbittorrent каталог для загрузки торрентов с помощью qBittorrent (не забыть настроить сам qBittorrent на использование этого каталога, по умолчанию используется стандартный каталог загрузок). Так как загружать планирую не только видео-контент для просмотра на телевизоре, удобно использовать медиацентр как торрент-качалку, работающую 24/7. А забрать скачанную информацию всегда можно по средствам все того же смонтированного сетевого диска в Windows 10.

Создаем каталоги и назначаем права на чтение и запись

sudo mkdir /mnt/smbsudo mkdir /mnt/qbittorrentsudo chmod -R 0777 /mnt/smbsudo chmod -R 0777 /mnt/qbittorrent

Для расшаривания каталогов необходимо установить samba

sudo apt-get install samba

Конфигурируем samba

sudo mcedit /etc/samba/smb.conf

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

[smb]comment = smbpath = /mnt/smbbrowsable = yeswritable = yesguest ok = yesread only = noforce user = nobodyforce group = nogroupforce create mode = 0777force directory mode = 0777[kodi-qbittorrent]comment = kodi-qbittorrentpath = /mnt/kodi/qbittorrentbrowsable = yeswritable = yesguest ok = yesread only = noforce user = nobodyforce group = nogroupforce create mode = 0777force directory mode = 0777

И перезапускаем сервис samba

sudo /etc/init.d/smbd restart

Можно проверить с других устройств доступность каталогов и наличие прав на чтение и запись.

4.5. Установка и настройка VNC-сервера

Для администрирования и работ в системе медиацентра не планирую использовать собственные клавиатуру и мышь. SSH-протокола не всегда достаточно и иногда хорошо бы иметь доступ к рабочему столу. Этим и займемся.

Решено было использовать VNC-сервер, устанавливаем

sudo apt install x11vnc

Устанавливаем пароль

x11vnc -storepasswd "kodi" /etc/x11vnc.passsudo chmod ugo+r /etc/x11vnc.pass

Запускаем сервер

/usr/bin/x11vnc -noxdamage -shared -dontdisconnect -many -noxfixes -rfbauth /etc/x11vnc.pass -bg

Для подключения я использую Real VNC Viewer для Windows или Android. Порт по умолчанию - 5900.

К сожалению, после перезагрузки системы VNC-сервер автоматически сам не запустится. Добавим в автозагрузку вручную.

Создаем крипт

sudo mcedit /usr/bin/VNCserver-start

Вставляем содержимое

#!/bin/sh/usr/bin/x11vnc -noxdamage -shared -dontdisconnect -many -noxfixes -rfbauth /etc/x11vnc.pass -bg

Делаем скрипт исполняемым

sudo chmod u+x /usr/VNCserver-start

Реализовать автозапуск VNC-сервера с помощью systemd так и не удалось. С автозапуском любого другого скрипта проблем нет, именно с VNC не смог разобраться с авторизацией.

Поэтому сделал не совсем красиво, но вариант рабочий. Параметры системы -> Рабочая среда -> Запуск и завершение -> Автозапуск. Добавить, как сценарий наш скрипт /usr/VNCserver-start.

4.6. Настройка профиля HDMI в PulseAudio

У меня телевизор подключен к мини-ПК через HDMI, а аудио разъем акустической системы подключен к разъему для наушников телевизора, но PulseAudio настаивает на том, что он отключен. Вручную в микшере можно выбрать выходное устройство. Все корректно, но после ближайшей перезагрузки системы профиль снова слетает. Решить проблему можно иначе - отключить модуль switch-on-port-available в конфигурационном файле PulseAudio

sudo mcedit /etc/pulse/default.pa

Закомментировать параметр

#load-module module-switch-on-port-available

После этих изменений с выводом звука не было никаких проблем.

Будем считать, основа нашего медиацентра ОС в лице Kubuntu 20.04 готова. Можно приступать к установке и запуску KODI!

5. Установка и базовая настройка KODI

Переходим непосредственно к KODI. Он есть в официальных репозиториях Ubuntu, но я бы рекомендовал использовать репозиторий стабильных версий сообщества XBMC (так до 2014 года назывался медиацентр). Например, на момент написания этого материала в середине марта 2021 года, в репозиториях Ubuntu версия KODI была 18.7, тогда как в репозитории сообщества уже была версия 19.0 Matrix.

Добавляем репозиторий, обновляем список пакетов и устанавливаем KODI

sudo add-apt-repository ppa:team-xbmc/ppasudo apt updatesudo apt install kodi

KODI установлен, запускаем. Нас приветствует стартовая страница медиацентра и несколько предложений включить неактивные дополнения. Отвечаем Yes только на дополнении PVR IPTV Simple Client, остальные отклоняем. Также будет предложено сразу настроить это дополнение пропускаем, им займемся позже.

Первым делом меняем язык, благо KODI поддерживает различные языки интерфейса, русский/белорусский/украинский не исключение.

Settings/Interface/Regional/RussianSettings/Interface/Regional/Russian

Попутно во всех разделах устанавливаем уровень настроек в Экспертный, это даст чуть больше параметров для настройки.

В настройках стиля включаем:

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

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

  • Режим касания. Добавит кнопки управления на экран. Необходимо, при использовании мыши/аэромыши.

  • Выбрать рейтинг для показа мультимедийных элементов Рейтинг. В медиатеке и видеодополнениях на эскизе фильма/сериала/серии будет добавлена пиктограмма с рейтингом TVDB (чуть позже установим и его).

Настройки/Интерфейс/Стиль/Настроить стильНастройки/Интерфейс/Стиль/Настроить стиль

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

Установка дополнения GismeteoУстановка дополнения Gismeteo

После установки будет предложено сразу и настроить. Вводим название города, выбираем его из списка. Информация о погоде должна отображаться сверху под часами и на главном экране в разделе Погода. Если сразу этого не произошло перезапустите KODI.

Раздел погода на главном экранеРаздел погода на главном экране

Возвращаемся к настройке стиля и в разделе Элементы главного меню. Отключаем лишнее. Я оставил лишь фильмы, сериалы, ТВ, дополнения, избранное.

Настройки/Интерфейс/Стиль/Настроить стиль/Элементы главного менюНастройки/Интерфейс/Стиль/Настроить стиль/Элементы главного меню

В разделе Картинки можно выбрать и установить набор фанартов из стандартного репозитория. Это фоновые изображения всех страниц медиацентра. Можно установить любой из понравившихся в списке с префиксом Skin Backgrounds - .

Настройки/Интерфейс/Стиль/Настроить стиль/КартинкиНастройки/Интерфейс/Стиль/Настроить стиль/Картинки

Какое-то время у меня был установлен набор Darkwood Design. Со временем, из нескольких официальных наборов репозитория Kodi.tv собрал самые удачные в дополнение, которое можете также установить себе - resource.images.skinbackgrounds.arbuzov.zip.

Что касаемо самих стилей, их предостаточно даже в официальных репозиториях. Но перебрав их все, остался на стиле по умолчанию Estuary, с цветовой схемой Midnight.

Оставшиеся параметры системы оставляем по умолчанию, кроме Настройки/Система/Дополнения Неизвестные источники. Этот параметр включить обязательно. Потребуется для установки некоторых дополнений из файлов.

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

Переходим в раздел Настройки/Службы. В Управлении разрешаем удаленное управление по HTTP и устанавливаем пароль. Это нам понадобится для управления KODI с других устройств. Чуть позже разберемся, как это сделать.

Настройки/Службы/УправлениеНастройки/Службы/Управление

В разделе Сведения о системе можно наблюдать за состоянием вашего медиацентра. Здесь и общая информация о системе, накопителях, температурах, сети, а также о каналах PVR.

В разделе Сведения есть счетчик общего времени наработки KODI. Любопытная информация. Мой медиацентр уже наработал 284 дня.

Настройки/Сведения о системе/СведенияНастройки/Сведения о системе/Сведения

Раздел с наиболее значимой информацией Оборудование. Из коробки температура ЦП у меня отображалась также, как и сейчас частота ЦП - -1C. Частоту побороть так и не смог, а вот с температурой разобраться удалось.

Настройки/Сведения о системе/ОборудованиеНастройки/Сведения о системе/Оборудование

Необходимо KODI указать, где брать информацию о температуре. Настраивается в конфигурационном файле advancedsettings.xml. В нем вообще много чего интересного, можно прочесть на официальной странице KODI/Wiki.

Если файла нет создаем его самостоятельно

mcedit /home/имя_пользователя/.kodi/userdata/advancedsettings.xml
<advancedsettings><cputempcommand>sed -e 's/\([0-9]*\)[0-9]\{3\}.*/\1 C/' /sys/class/thermal/thermal_zone0/temp</cputempcommand></advancedsettings>

После перезапуска KODI, температура отображается верно. Какой параметр использовать, например, для Raspberry Pi можно прочесть здесь.

6. IPTV. Как установить и настроить, какой сервис выбрать

Для вещания IPTV в KODI потребуется дополнение PVR IPTV Simple Client, которое мы согласились включить при первом запуске.

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

Ошибка при попытке включить дополнение PVR IPTV Simple ClientОшибка при попытке включить дополнение PVR IPTV Simple Client

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

Установку выполнил вручную. Обязательно использовать последнюю версию deb-пакета. Смотрим актуальную версию здесь - pkgs.org/download/kodi-pvr-iptvsimple. Не забыть верно выбрать дистрибутив и архитектуру.

В моем случае последняя версия 7.5.0 скачиваем для Ubuntu 20.04 LTS (Focal Fossa) и устанавливаем

wget http://ppa.launchpad.net/team-xbmc/ppa/ubuntu/pool/main/k/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple_7.5.0-1~focal_amd64.debsudo dpkg -i ./kodi-pvr-iptvsimple_7.5.0-1_focal_amd64.deb

После установки запускаем KODI, проверяем установлен и запущен ли наш PVR IPTV Simple Client.

Прежде, чем перейдем к настройкам клиента, необходимо определиться с сервисом. На просторах сети их достаточно большое количество, как платных, так и бесплатных, с архивами и без, хороших и плохих. Какое-то время пользовался бесплатными самообновляемыми плейлистами. Мне показалось это дорогой в никуда. Много не рабочих каналов, иногда и вовсе не работал ни один, низкая скорость передачи, постоянная буферизация, особенно в вечернее время и на выходных. К набору каналов, особенно в HD качестве, также есть вопросы.

Был найден оптимальный вариант - ILookTV. Сервис платный 1$/месяц. За эту неподъемную сумму я получил просто огромный список каналов, чуть более 100 из которых в HD-качестве. За год использования не было ни одного сбоя в работе. Что касается скорости передачи, то при моем интернете 25 Мбит/с - проблем не возникало ни разу. Каналы открываются мгновенно, без буферизации. Также хочется отметить качественные логотипы каналов. У других сервисов с этим явные проблемы, во всяком случае, у тех которыми пользовался я.

С регистрацией и оплатой, думаю, проблем возникнуть не должно. Описывать подробно это не буду. Первые сутки, кстати, можно попробовать бесплатно.

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

Будем считать плейлист готов, можно подключать в KODI. Переходим в личном кабинете в раздел Плейлист/Скачать. Использовать можно как ссылку, так и m3u8-плейлист. При использовании ссылки возможны проблемы с доступом к сервису из-за блокировок провайдера. Скачиваем плейлист.

IPTV-плейлист готов, скачиваемIPTV-плейлист готов, скачиваем

Переходим к настройкам клиента Дополнения/Мои дополнения/Клиенты PVR/PVR IPTV Simple Client.

В разделе Основные указываем локальное расположение нашего плейлиста

В разделе EPG указываем ссылку на программу передач (ГИД):

http://epg.it999.ru/edem.xml.gz

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

В разделе Channel Logos расположение не трогаем, для Channel logos from XMLTV установить Предпочтительно M3U.

Применяем настройки и перезапускаем KODI. При старте KODI выполнит сканирование плейлиста и обновит программу передач. Об этом будет информировать нас в верхнем правом углу. По завершении переходим в раздел ТВ и наблюдаем все наши каналы, наслаждаемся просмотром.

Раздел "ТВ" на главном экране KODIРаздел "ТВ" на главном экране KODIСписок каналов, справа подробная информацияСписок каналов, справа подробная информацияТВ-программаТВ-программаВ разделе Сведения о системе/Служба PVR также должна появиться общая информация о каналахВ разделе Сведения о системе/Служба PVR также должна появиться общая информация о каналах

7. Библиотека KODI. Что это такое и как настроить

Библиотека KODI великолепна по своему функционалу и автоматизации всех процессов. Для меня это просто находка. Она структурирует по разделам Фильмы/Сериалы/Музыка и т.д. ваши медиа-данные, загружая автоматически со сторонних ресурсов трейлеры, постеры, информацию о сюжете, актерах, рейтинг и прочее, прочее... Лично я не использую офлайн-медиа, так как локально у меня не хранятся ни фильмы, ни сериалы. Но библиотека отлично взаимодействует и с другими видеодополнениями для просмотра онлайн, в частности с Elementum, который установим чуть позже.

Прежде, чем будем настраивать библиотеку, необходимо установить несколько дополнений с источниками сведений. Мой медиацентр работает с TVDB и КиноПоиск.

Дополнения KinoPoisk в официальных репозиториях нет. Необходимо установить сторонний репозиторий Seppius (скачиваем по ссылке). В браузере дополнений выбрать установку из файла ZIP и указать путь к только что скачанному архиву.

По завершении установки репозитория, возвращаемся назад и выбираем Установить из репозитория/Все репозитории/Источники сведений и устанавливаем в разделе Сведения о сериалах TVDB (new), а в разделе Сведения о фильмах - KinoPoisk.

Дополнения установлены, переходим к настройке библиотеки. Создаем два каталога, для раздельного хранения информации о фильмах и сериалах, например:

/mnt/kodi/library/Movies библиотека фильмов
/mnt/kodi/library/Shows библиотека сериалов

Далее переходим в Настройки/Медиа/Медиатека/Видео и нажимаем добавить Видеоисточник. Добавляем каталог с фильмами, даем произвольное название источнику.

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

Аналогично поступаем и с источником для сериалов. Обратите внимание на отличие в настройках и параметрах сканирования, это важно.

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

8. Elementum и Burst. Настраиваем просмотр контента торрент-онлайн

Это, наверное, самый важный функционал всего медиацентра, из-за которого все и затевалось. Elementum видеодополнение, которое у нас будет работать с торрент-трекерами. Дополнение отлично справляется не только с проигрыванием онлайн торрент-контента, но и с поиском, отличным отображением всей информации о фильмах и сериалах с постерами, актерами и их фотографиями. В общем, просто не заменимая вещь. Burst дополнение к Elementum провайдер, который непосредственно взаимодействует с трекерами.

Итак, все по порядку. В официальных репозиториях Elementum нет. Его необходимо скачать с сайта разработчика - elementum.surge.sh, выбрав платформу (у нас Linux x64).

Устанавливаем также из файла ZIP, как устанавливали репозиторий для Кинопоиска, при подготовке библиотеки. По завершении установки KODI сам предложит установить дополнение Burst соглашаемся.

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

Что касается настроек загрузок, то мой накопитель в 500 Гб совершенно не лимитирует. Я установил параметры в использование файлов, максимальное. Файлы автоматически не удаляются после просмотра. Их периодически удаляю вручную.

Настройки BitTorrent оставил по умолчанию. Торренты загружаются и сидируются без ограничений по скорости. Прокси-сервер не включаем, это важно.

Переходим к настройкам провайдера Burst в Дополнения/Программные дополнения. Прокси также не используем. В разделах Разрешение и Качество выбрал только 1080p/720p и качество выше Screener/SCR, так как телевизор не поддерживает 2K/4K, а экранки не смотрю.

Настройки Elementum BurstНастройки Elementum Burst

И самое главное, указываем трекеры, с которыми будем работать. Я использую следующие (остальные отключил, так как большее количество трекеров увеличит время поиска и, как показала практика, ничего стоящего они дают в выдачах):

Открытые:
MegaPeer

Закрытые (нужна регистрация на сайте, в настройках Burst указать логин/пароль):
Rustorka
NNM-Club
RuTracker
Кинозал

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

Применяем настройки и запускаем Elementum.

Главное меню дополнения ElementumГлавное меню дополнения Elementum

Перейдите, например, в раздел Фильмы/Самые просматриваемы и выберите любой фильм.

Если все верно настроено Burst просканирует, указанные вами трекеры, и предложит выбрать стрим.

Список раздачСписок раздач

Выбрав стрим, Elementum буферизирует порядка 20-50 Мб (в зависимости от общего размера фильма) и начинает его воспроизведение.

Если завершить просмотр, согласно нашим настройкам, скачивание продолжится в фоновом режиме, информация о прогрессе будет в верхнем правом углу. Этот параметр можно отключить в настройках Elementum, тогда при остановке просмотра, загрузка будет останавливаться (или останавливаться и удаляться торрент + файл).

Для того, чтобы добавить фильм/сериал из Elementum в библиотеку из контекстного меню выбрать Добавить в библиотеку.

Котекстное меню фильма/сериала в ElementumКотекстное меню фильма/сериала в Elementum

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

"Сериалы" на главном экране"Сериалы" на главном экранеСписок серий в разделе "Сериалы"Список серий в разделе "Сериалы"Раздел "Фильмы" на главном экранеРаздел "Фильмы" на главном экране

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

Все фильмы библиотекиВсе фильмы библиотеки

На данном этапе основные настройки выполнены, медиацентром уже можно пользоваться и получать удовольствие от просмотра.

В следующей публикации поговорим о возможности внешнего управления KODI/Elementum и qBittorrent с помощью веб-интерфейса и Android-устройств. А также внедрим в наш медиацентр функцию учета трафика с возможностью отображения и анализа в веб-интерфейсе. Не забудем и о резервном копировании, как операционной системы, так и самого KODI.

Подробнее..

KODI собираем удобный и функциональный медиацентр для дома. Часть 6. Синхронизация медиатеки. MariaDB

12.04.2021 02:07:50 | Автор: admin

Лирическое отступление

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

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

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

Все предыдущие публикации:

KODI: собираем удобный и функциональный медиацентр для дома. Часть 1
KODI: собираем удобный и функциональный медиацентр для дома. Часть 2
KODI: собираем удобный и функциональный медиацентр для дома. Часть 3. Ретро-игры
KODI: собираем удобный и функциональный медиацентр для дома. Часть 4. Архив IPTV
KODI: собираем удобный и функциональный медиацентр для дома. Часть 5. Яндекс.Музыка

Зачем это все затевалось?

Среди медиаустройств, в моем домашнем обиходе два телевизора. Основной в гостиной работает с KODI, второй на кухне под управлением Tizen OS. Мысль о том, что последнего также нужно посадить на KODI возникла спустя пару недель после запуска медиацентра на основном телевизоре. Но руки все никак не доходили

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

Итого, в гостиной KODI на базе неттопа с Kubuntu 20.04 на борту, на кухне LibreELEC на базе третьей малинки.

Кухонный медиацентр должен выполнять всего две задачи:
просмотр IPTV. Буду использовать все тот же сервис ilook и дополнение PVR IPTV Simple Client. К слову, сервис позволяет использовать плейлист на двух устройствах без дополнительной платы за тариф.
просмотр торрент-видео. Потому как локальной библиотеки фильмов и сериалов у меня нет.

О том, как установить LibreELEC на малинку описывать, думаю, не стоит. А как подключить IPTV и Elementum для просмотра торрентов я рассказывал в другой публикации.

Общее понимание архитектуры есть, причем же здесь MariaDB в заголовке? Представьте, вы смотрите фильм в гостиной, идете обедать на кухню и продолжаете просмотр ровно с того места, на котором остановились. Здорово, не правда ли?

KODI позволяет реализовать синхронизацию медиатеки на разных устройствах. Для этого потребуется MySQL-сервер, на котором и будет храниться эта медиатека. Сервер может быть поднят на совершенно сторонней машине, хоть под управлением Windows. В моем случае, основной медиацентр работает 24/7, аппаратные ресурсы позволяют сервером назначает его, на нем и будем поднимать базу данных.

Надеюсь, суть и прелести такой архитектуры домашних медиацентров понятна.

Подготовка серверной части. MariaDB

Прочитав Wiki на официальном сайте KODI, решил, что все довольно просто и понятно бери и делай. Но на практике оказалось все иначе БД не наполняется моей медиатекой, в логах ошибки не поддаются пониманию или записей нет вообще, от того понять, что сделано не так достаточно трудно. Второе устройство подключать к БД смысла нет синхронизировать нечего.

В комментариях к предыдущей публикации был затронут этот вопрос и @vyacheslavteplyakov дал понять, что Wiki не обновляется и информация, вероятно, устарела. Но и указал на основные подводные камни и как их обойти.

Особенности:

  • Использовать MariaDB;

  • Медиатека должна быть размещена в сетевом каталоге;

  • Все пути к медиатеке на всех устройствах должны быть абсолютные;

  • Сетевые каталоги NFS или SMB, если вынуждены использовать NTFS, то только с авторизацией по учетной записи с паролем;

  • Версии KODI на всех устройствах должны быть одинаковы.

С задачей и подводными камнями разобрались приступаем к работе. Напомню, сервером у нас будет KODI на неттопе с Kubuntu 20.04.

Устанавливаем сервер MariaDB

sudo apt updatesudo apt install mariadb-server

Cледующим шагом является запуск встроенного скрипта безопасности. Этот скрипт меняет ряд наименее защищенных опций, используемых по умолчанию, для таких функций, как, например, удаленный вход для пользователя root и тестовые пользователи.

Запускаем скрипт безопасности

sudo mysql_secure_installation

Откроется серия диалогов, где можно внести некоторые изменения в параметры безопасности установки MariaDB. Параметры установите, исходя из собственной безопасности. Учитывая, что моя БД будет наполняться лишь медиатекой и находится она в изолированной домашней сети сделал так:

root@kodi-pc:/# sudo mysql_secure_installationNOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!In order to log into MariaDB to secure it, we'll need the currentpassword for the root user.  If you've just installed MariaDB, andyou haven't set the root password yet, the password will be blank,so you should just press enter here.Enter current password for root (enter for none):

Пароль не задаем, нажимаем ENTER.

Setting the root password ensures that nobody can log into the MariaDBroot user without the proper authorisation.Set root password? [Y/n]

Отклоняем (N).

By default, a MariaDB installation has an anonymous user, allowing anyoneto log into MariaDB without having to have a user account created forthem.  This is intended only for testing, and to make the installationgo a bit smoother.  You should remove them before moving into aproduction environment.Remove anonymous users? [Y/n]

Удаляем (Y).

Normally, root should only be allowed to connect from 'localhost'.  Thisensures that someone cannot guess at the root password from the network.Disallow root login remotely? [Y/n]

Отклоняем (N).

By default, MariaDB comes with a database named 'test' that anyone canaccess.  This is also intended only for testing, and should be removedbefore moving into a production environment.Remove test database and access to it? [Y/n]

Удаляем (Y).

Reloading the privilege tables will ensure that all changes made so farwill take effect immediately.Reload privilege tables now? [Y/n]

Соглашаемся (Y).

Теперь создадим пользователя, из-под которого будут работать с БД наши медиацентры. Для создания пользователя kodi с паролем kodi запускаем оболочку MariaDB и выполняем команду

sudo mariadbGRANT ALL ON *.* TO 'kodi'@'localhost' IDENTIFIED BY 'kodi' WITH GRANT OPTION;

Разрешаем доступ с любого хоста ко всем базам данных на сервере для пользователя kodi

GRANT ALL PRIVILEGES ON *.* TO kodi@'%' IDENTIFIED BY 'kodi';

Очищаем привилегии, чтобы они были сохранены и доступны в текущем сеансе

FLUSH PRIVILEGES;

Оболочку MariaDB можно закрывать, выполнив команду

exit

Для организации доступа вне локального хоста, необходимо указать порт 3306 и bind-address 0.0.0.0. Открываем конфигурационный файл MariaDB

sudo mcedit /etc/mysql/mariadb.conf.d/50-server.cnf

Раскомментировать параметр

port = 3306

Для параметра bind-address установить 0.0.0.0 (вместо 127.0.0.1)

bind-address = 0.0.0.0

Для применения изменений перезапускаем MySQL-сервер

sudo service mysql restart

На данном этапе можно проверить, верно ли мы все сделали. Для этого лучше всего подключиться к нашему серверу со сторонней машины. Это гарантирует работоспособность доступа к БД вне локального хоста.

Как вариант - MySQL Workbench.

Создаем новое подключение:
Connection Method - Standart (TCP/IP)
Hostname 192.168.0.50 (заменить на адрес вашего сервера)
Port 3306
Username kodi (имя пользователя, если создавали своего)

Нажимаем Test Connection, вводим пароль и в случае, если все корректно получаем соответствующее сообщение:

Подключение к серверу также должно быть успешным. Вы должны увидеть ничего. Это тоже хороший знак. Сейчас мы и займемся наполнением БД.

Подготовка серверной части. KODI

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

Библиотеку мы настраивали еще в первой части. Никуда ее не переносим, пути оставляем прежние:
/mnt/kodi/library/Movies библиотека фильмов
/mnt/kodi/library/Shows библиотека сериалов

Необходимо лишь расшарить каталог /mnt/kodi/library. Конфигурируем samba

sudo mcedit /etc/samba/smb.conf

В конец конфигурационного файла вставляем:

[library]comment = librarypath = /mnt/kodi/library/browsable = yeswritable = yesguest ok = yesread only = noforce user = nobodyforce group = nogroupforce create mode = 0777force directory mode = 0777

И перезапускаем сервис samba

sudo /etc/init.d/smbd restart

Теперь наша библиотека будет доступна всем устройствам в домашней сети.

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

Переходим в Настройки/Медиа/Медиатека/Видео и в существующих источниках Movies и Shows изменяем пути на нужные, выбрав Добавить сетевой адрес. В качестве логина и пароля используйте данные вашей учетной записи в Kubuntu.

После изменения путей, источники будут отображаться и в KODI, как сетевые.

Теперь дадим понять KODI, что мы хотим работать с базой данных. Для этого в файле advancedsettings.xml (/home/имя_пользователя/.kodi/userdata/) добавить:

<advancedsettings>  <videodatabase>    <type>mysql</type>    <host>192.168.0.50</host>    <port>3306</port>    <user>kodi</user>    <pass>kodi</pass>  </videodatabase>  <videolibrary>    <importwatchedstate>true</importwatchedstate>    <importresumepoint>true</importresumepoint>  </videolibrary></advancedsettings>

Если файл advancedsettings.xml отсутствует создайте его вручную. Параметры изменить в соответствии с вашими настройками, где:
Host IP-адрес вашего MySQL-сервера;
User имя пользователя MariaDB;
Pass пароль пользователя MariaDB.

На стороне сервера всё готово. Можно проверить. Перезапускаем KODI и, в зависимости от объема вашей медиатеки, ждем какое-то время, пока KODI ее обработает.

Информация о моей медиатеке:
Фильмов 322
Сериалов 68

Размер - 380 Кб

Общее количество файлов (nfo и strm) 3826

Моя медиатека обрабатывалась порядка 10 минут. По завершении обновления медиатеки давайте посмотрим на нашу БД. Снова подключаемся к серверу с помощью MySQL Workbench.

Как видим, KODI самостоятельно создал БД MyVideos119 и наполнил ее всеми нашими фильмами и сериалами. Например, в таблице Movie - фильмы. Значит, мы все сделали правильно.

После завершения импорта медиатеки в БД, можно еще оценить и ее ресурсопотребление. Моя медиатека заняла в ОЗУ чуть более 100 Мб. Это дает понять, что, даже значительный рост количества фильмов и сериалов, не скажется на производительности основного моего медиацентра.

Настройка клиентской части

Настройки других устройств, которые необходимо синхронизировать с сервером, очень просты:

  • advancedsettings настраиваем, также как на сервере;

  • добавляем источники в Настройки/Медиа/Медиатека/Видео также, как и на сервере, указывая абсолютные сетевые пути;

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

Для упрощения настройки своей малинки я просто перенес конфигурационные файлы с основного медиацентра:

/home/kodi/.kodi/userdata/advancedsettings.xml
/home/kodi/.kodi/userdata/sources.xml
/home/kodi/.kodi/userdata/addon_data/plugin.video.elementum/settings.xml
/home/kodi/.kodi/userdata/addon_data/script.elementum.burst/settings.xml

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

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

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

Всем хорошего времяпрепровождения с медиацентром KODI!

Подробнее..

Настройка Plex, Samba, Transmission на Raspberry pi 4 с помощью Ansible

24.03.2021 10:15:26 | Автор: admin

Предисловие

Не так давно я начал пользоваться Plex media server для просмотра видео на ТВ через Amazon fire stick. Plex server был настроен на десктопе, а файлы с видео были подключены через внешний USB диск и такая связка меня впринципе устраивала. Однако при выключенном ПК доступа к контенту нет и каждый раз включать ПК только для того что бы посмотреть фильм или послушать музыку уже стало напрягать. Поэтому решил настроить plex на raspberry и подключить к нему внешний USB с уже имеющимся контентом. А уже в процессе понял, что еще бы не плохо иметь доступ к файлам и качалку для торентов и заодно упростить процесс настройки с помощью автоматизации на Ansible. Playbook выложил на GitHub.

Что портебуется (железо / софт)

  • Window и Ubuntu Desktop. В принципе можно только что то одно, но мне привычнее какие то вещи делать на Window, а какие то на Ubuntu. (Ubuntu установлена через VirtualBox на Windows). Все тоже самое думаю удастся без проблем и на Mac.

  • Raspberry Pi Imager под Windows. Можно скачать с официального сайта.

  • Образ Raspberry Pi OS Lite. Тоже с официального сайта. Быстрее скачать через торрент, чем по прямой ссылке.

  • Raspberry pi 3/4. Изначально проводил опыты на третьей версии, но потом закупил четвертую.

  • SD карта 8Gb или больше. (USB кардридер)

  • Ansible под Ubuntu описание и установка здесь.

  • USB диск. Желательно с USB 3.0 если собираете на pi 4.

  • Блок питания на 3A что бы хватало мощности для подключенного USB диска.

  • Возможно потребуется подключение дисплея и клавиатуры. (настройка статического IP в первый раз)

  • Playbook для Ansible с GitHub.

  • Ansible. Установка описана здесь.

  • Git.

Подготовка raspberry pi

Для начала зальем скаченный образ с ОС на SD карту с помощью Pi Imager. В пункте Choose image выбираем Use custom и выбираем тот образ что скачали. Можно выбрать тот же образ в самой программе, но тогда он будет скачивать его из интернета, у меня процесс закачки занимал очень длительное время, поэтому снача попробовал скачать по прямой ссылке с сайта, но это тоже оказалось медленно и в итоге скачал через торрент. Указываем нашу SD карту и жмем write.

Дальше отформатируем внешний USB накопитель в NTFS и присвоим ему понятный лейбел (например usb_750g), который будем использовать в дальнейшем для монтирования диска на raspberry. У меня внеший USB накопитель был уже с данными и отформатирован в NTFS поэтому просто списал название лейбла. Можно так же отформатировать в диск в exFAT, но в таком случае на raspberry придется ставить дополнительный пакет, поэтому в данной статье рассмотрю только случай с NTFS. Возможно в дальнейшем добавлю и для других.

На данном этапе работа с Windows заканчивается и дальнейшие действия будут производиться на Ubuntu.

Подключаем нашу SD карту к компьютеру с Ubuntu или переподключаем устройство на гостевую систему в VirtualBox. Должны появиться два подматированных диска boot и rootfs. Через терминал зайдем сначала в boot cd /media/ваш_пользователь/boot/. и положим туда файл ssh который при первом запуске даст понять raspberry что нужно включить ssh соединения.

Для подключения к raspberry я буду пользоваться ssh ключем, он так же понадобится для плейбука на Ansible, поэтому создадим его командой cd ~/.ssh && ssh-gen в папке для ключей (если ее нет то создайте ее). Дайте понятное имя ключу напимер raspberry, на вопросе о секретной фразе жмем enter. На выходе получим два ключа raspberry и raspberry.pub приватный и публичный. С помощью приватного будем подключаться, а публичный положим скопируем на сам raspberry. Для этого зайдем в папку rootfs cd /media/ваш_пользователь/rootfs/ и создадим папку для ключа авторизации mkdir home/pi/.ssh и скопируме сам ключ cp ~/.ssh/raspberry.pub home/pi/.ssh/authorized_keys.

Вставляем SD карту в raspberry, подключем сетевой кабель, USB диск и питание. У меня в домашней сети IP адреса раздает роутер, если у вас такая же конфигурация и в интерфейсе роутера можно посмотреть какой IP адресс выдан устройству и его MAC адрес, то установть выдачу постоянного IP вашему raspberry по MAC адресу. MAC адресс можно посмотреть и на самом raspberry. Подключаем монитор с клавиатурой и запускаем команду cat /sys/class/net/eth0/address . Либо же выставить статический IP на самом raspberry воспользовавшись этой статьей с официального сайта.

Установка и настройка

Если на Ubuntu еще не установлен Ansible, то сделать это можно по ссылке выше. Клонируем репозиторий git clone https://github.com/notfoundsam/raspberry-plex-ansible.git и заходим в папку с плейбуками cd raspberry-plex-ansible.

Для начала установим статический IP адресс нашего raspberry в файле hosts.ini к которому будет обращаться Ansible для настройки. Можно указать и группу адресов если необходимо настроить сразу несколько устройств.

В файле group_vars/all.yml если вы не изменяли имя пользователя на raspberry, то ansible_user оставляем без изменений. Укажем путь к ssh ключу в переменной ansible_ssh_private_key_file. Если все делали по шагам как описано выше, то оставляем без изменений. Установим имя хоста в переменной host_name. В переменную usb_volume_label запишем имя лейбла подключенного USB диска. Монтирование диска будет производиться как раз по этому лейблу. Если предполагается использовать transmission для закачки торентов то установите в переменные transmission_username, transmission_password, transmission_white_list свои значения. Для transmission_white_list обязвтельно оставьте адрес 127.0.0.1.

Установка Plex и монтирование диска. Запустите плейбук plex.yml командой ansible-playbook plex.yml который установит необходимые пакеты, сам Plex изменит имя хоста и сделает перезагрузку. После завершения работы скрипта запустите другой плейбук ansible-playbook usb-volume.yml который подмонтирует наш USB диск и добавит автоматическое монтирование при старте. Зайдем на веб интерфейс плекса raspberry_ip:32400/web и пройдем шаги которые plex предлагает. На некоторых шагах бывало что plex выдавал ошибку что нет доступа, но после обновления страницы все отображалось или повторного перехода на raspberry_ip:32400/web все корректно отображалось. Я думаю это связано с тем, что при первом запуске plex сервер не успевает ответить клиенту из за большой нагрузки. Дальше в интерфейсе plex уже можно выбрать наш USB диск.

Установка Samba сервера. Заливать файлы на raspberry удобнее по сети, поэтому добавил плейбук который установит Samba сервер и расшарит USB диск в локальной сети. Для установки запускаем ansible-playbook samba.yml. Замечание, если ваш Windows хост принадлежит группе отличной от workgroup, то поправте на свою в файле /etc/samba/smb.conf на raspberry. Теперь можно зайти по IP и проверить доступ \\raspberry_ip в проводнике Windows.

Установка Transmission. Запустите плейбук который установит transmission демон и утилиту для работы с iptables, добавит папку downloads на USB диск для загрузок и сделает ее папкой по умолчанию для загружаемых торентов. Папка для временных файлов таже самая, но transmission будет добавлять .part к еще незавершенным файлам. Так же откроет порт 51413 для входящих подключений. Проверим доступ зайдя на raspberry_ip:9091/transmission, логин и пароль для входа те что прописаны в файле group_vars/all.yml. В настройках клиента на вкладке Network проверим что порт 51413 открыт, если написано closed, то нужно настроить перенаправление этого порта на вашем роутере.

Сравнение raspberry 3 с raspberry 4

Проводил проверку работы на raspberry pi 3B / 3B+/ 4B. У pi 3 сетевой интерфейс поддерживает только 100Mbs поэтому скопировать туда 100-200GB данных займет много времени. С 3B+ ситуация уже по лучше, потому что установлен сетевой интерфейс на 1Gbs. Plex сервер достаточно хорошо себя показал на нем, особенно если видео файлы в формате H.264, но на некоторых avi файлах сжатых MPEG4(XVID) кодеком, процессор еле-еле тянул, открывал видео долго, и порой не успевал отдавать видео и картинка останавливалась. Впринципе такие файлы можно заранее оптимизировать в плексе под TV и тогда эта проблема уйдет, но потребуется больше менста для перекодированных файлов.

После некоторого времени использования pi 3B+, все таки стал замечать что обновление библиотеки с несколькой сотней файлов занимае приличное время и редкие залипания, например ни как не может открыть фильм, решил заказать себе pi 4B. У pi 4B процессор уже по мощнее и это решило проблему с MPEG4 уже можно было смотреть файлы без сильных задержек и при перемотке не ждать по 10-15 секунд. USB 3.0 добавил быстроты работы с диском при обновлении библиотеки.

После прочтения этой статьи решил преобрести себе Samsung Evo+ вместо ScanDisk Ultra. И по ощущениям загрузка ОС стала быстрее.

Стоимость / Комплектущие

  • Raspberry pi 4B 4GB RAM ~ $62

  • SD карта Samsung Evo+ ~ $8

  • Металлический корпус с пассивным охлаждением ~ $17

  • USB 3.0 жесткий диск 750GB (покупал 4 года назад) ~ $50

  • Питание Anker PowerPort 6 (покупал 3 года назад) ~ $30

Если какие то комплектующие уже есть в наличии, то и список можно сократить. В моем случае получилось $87.

Выводы

За небольшую сумму удалось собрать медиа центр, который на данный момент удовлетворяет все мои потребности. При выходе из строя внешнего накопителя я согласен с полной или частичной потерей данных. Для снижения нагрузки на внешний диск медиа-сервера, собрал еще один комплект USB диск + Samba + Transmission на raspberry pi 3B, но передача данных по сети со скоростью 100Mbs начинает напрягать, планирую перенести на pi 3B+. Благодаря созданному скрипту на Ansible процесс настройки стал занимать гораздо меньше времени.
Плейбуки написаны по отдельности, что бы можно было использовать в различных комбинациях, например только для настройки Samba с подключением внешнего диска, для организации простого сетевого хранилища.

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

Дальнейшие планы

Объем данных постоянно растет, поэтому планирую докупить стойку с USB хабом и несколькими отсеками для HDD дисков. В планах приобрести что то из этого Yottamaster Hard Drive с 4мя отсеками. Есть уже со встроенным RAID контроллером, но наверное возьму без него, если потребуется RAID, то настрою его на raspberry и только для двух дисков остальные оставлю как single. А старый 750GB диск переключу на закачку торрентов.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru