Самохостинг (часть 7) - iSponsorBlockTV
iSponsorBlockTV — это клиент SponsorBlock, предназначенный для устройств с поддержкой YouTube TV. Он позволяет пользователям пропускать рекламные сегменты и отключать или пропускать рекламу на YouTube при использовании смарт-телевизоров или других подключенных устройств. Инструмент можно запускать в локальной сети и он доступен в виде Docker-контейнера, что делает его подходящим для самостоятельного хостинга. Он воспроизводит функциональность расширения SponsorBlock для браузера, обеспечивая аналогичный опыт без рекламы на телевизорах.
Разворачиваем в Docker
Как и раньше, мы продолжаем наполнять наш docker-compose.yaml. Добавляем в него вот такие строки:
iSponsorBlockTV:
<<: *defaults
image: ghcr.io/dmunozv04/isponsorblocktv:v2.2.1
container_name: iSponsorBlockTV
volumes:
- /opt/docker/isponsorblocktv:/app/data
И запускаем с помощью уже известной нам команды:
docker compose up -d
Подключаем первый телевизор
Теперь нам нужно подключить телевизор к приложению. Для этого нам нужно авторизовать наш инстанс iSponsorBlockTV и привязать его к устройству.
docker compose run -ti iSponsorBlockTV --setup-cli
На телевизоре в настройках Youtube находим код сопряжения и вводим его. Дальше настраиваем, что нам нужно пропускать и перезагружаем сервис после окончания настройки.
docker compose restart iSponsorBlockTV
Готово. Теперь нативная реклама будет сама перематываться, а реклама от корпорации зла будет с отключенным звуком и автоматическим пропусканием, когда кнопка "Skip" активируется. 😎
Подключаем второй телевизор
Я не знаю почему, но у меня подключение второго телика штатными средствами не работает. Поэтому пришлось сделать руками.
Для начала делаем бекап конфига.
cp /opt/docker/isponsorblocktv/config.json{,.bak}
Теперь удаляем конфиг и настраиваем его как первый.
docker compose run -ti iSponsorBlockTV --setup-cli
Забираем токен и добавляем его в бекап.
cat /opt/docker/isponsorblocktv/config.json | grep screen_id
cp -f /opt/docker/isponsorblocktv/config.json.bak /opt/docker/isponsorblocktv/config.json
Полученный screen_id нужно добавить в конфиг, чтоб было две секции с устройствами. Это должно выглядеть примерно так:
{
"devices": [
{
"screen_id": "__________screen_id_1__________",
"name": "YouTube on TV1"
},
{
"screen_id": "__________screen_id_2__________",
"name": "YouTube on TV2"
}
],
"apikey": "",
"skip_categories": [
"sponsor",
"selfpromo",
"exclusive_access",
"interaction",
"poi_highlight",
"intro",
"outro",
"preview",
"filler",
"music_offtopic"
],
"channel_whitelist": [],
"skip_count_tracking": true,
"mute_ads": true,
"skip_ads": true
}
Перезапускаем iSponsorBlockTV и у нас на двух устройствах теперь проматывается реклама.
Если вам нужно подключить больше устройств - то действуйте по той же схеме. Удачи.