Анализ блокировок Invidious, приватного фронтенда для YouTube

Не так давно начали отваливаться один за другим инстансы Invidious. Чтобы оценить масштаб блокировок, был на скорую руку написан скрипт. Помогли апишки Роскомсвободы и Invidious Instances.

Вывод скрипта
$ python iv-rkn.py
Of 28 public clearweb Invidious instances:
22 (78.57%) blocked
 
Of 49 Invidious IPs:
33 (67.35%) blocked

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

После долгих мучений с выгрузкой реестра и YouTube Data API v3 получились два файлика:

videos.json

Легенда

channelTitle: название канала
geoblock: true, если YouTube блокирует контент для показа из России
id: ID соответствующего видео на YouTube
onlyInvidious: true, если соответствующая ссылка на YouTube не внесена в реестр
serversBlocked: количество инстансов Invidious, которые были заблокированы за это видео
title: заголовок видео

[
    {
        "channelTitle": "Алексей Навальный",
        "geoblock": false,
        "id": "gWZiYdRkgoU",
        "onlyInvidious": true,
        "serversBlocked": 15,
        "title": "Полдень против Путина. 17 марта"
    },
    {
        "channelTitle": "REST",
        "geoblock": true,
        "id": "NR57D2UVqm4",
        "onlyInvidious": true,
        "serversBlocked": 7,
        "title": "ЛСП — Номера"
    },
    {
        "channelTitle": "УКРАИНА СЕГОДНЯ - ГРОШІ ",
        "geoblock": false,
        "id": "8laeGG0IjM8",
        "onlyInvidious": true,
        "serversBlocked": 3,
        "title": "Хто насправді бійці полку Азов"
    },
    {
        "channelTitle": "MILITARIST",
        "geoblock": false,
        "id": "8hqXINaq5KA",
        "onlyInvidious": true,
        "serversBlocked": 3,
        "title": "Полк АЗОВ.Воины. ГЕРОИ Украины.POLK AZOV !!!"
    },
    {
        "channelTitle": " Elena Vasiljeva",
        "geoblock": false,
        "id": "pvP8_2FfCy0",
        "onlyInvidious": true,
        "serversBlocked": 3,
        "title": "Кто такие полк \"Азов\"? Давайте разбираться - кто нацисты"
    },
    {
        "channelTitle": "Македонский Ваня",
        "geoblock": false,
        "id": "KIsn76zAzZo",
        "onlyInvidious": true,
        "serversBlocked": 3,
        "title": "Македонский Ваня - Азов \"Героям Слава!\" 2022"
    },
    {
        "channelTitle": "Mr. Freeman (Русский)",
        "geoblock": false,
        "id": "3JKkd_WTAZg",
        "onlyInvidious": true,
        "serversBlocked": 2,
        "title": "Лигалайз (D.O.B.) & Mr. Freeman, \"МИР!! ВАШЕМУ!! ДОМУ!!\""
    },
    {
        "channelTitle": "Oleksii Moiseienko",
        "geoblock": false,
        "id": "iCot0hubEck",
        "onlyInvidious": true,
        "serversBlocked": 1,
        "title": "Невзоров про АЗОВ (Фрагмент Невзоровcкие среды. Невзоров - Гордон.)"
    },
    {
        "channelTitle": "КОРИСПОНДЕНТ",
        "geoblock": false,
        "id": "zJr0cvIwexo",
        "onlyInvidious": true,
        "serversBlocked": 1,
        "title": "Азов герої - Невзоров."
    }
]
channels.json

Легенда

id: ID соответствующего канала на YouTube
onlyInvidious: true, если соответствующая ссылка на YouTube не внесена в реестр (без учёта ссылок вида https://www.youtube.com/user/Name, так что могут быть неточности!)
serversBlocked: количество инстансов Invidious, которые были заблокированы за этот канал
title: видимое название канала

Данных по геоблоку каналов официальное API не предоставляет.

[
    {
        "id": "UC1QLYxn3iiejeZMIKzNjXCQ",
        "onlyInvidious": true,
        "serversBlocked": 6,
        "title": "Легион \"Свобода России\""
    },
    {
        "id": "UCewl92lzIMDO8QiAYOQ2d8w",
        "onlyInvidious": false,
        "serversBlocked": 5,
        "title": "АЗОВ"
    },
    {
        "id": "UCc7wxcjvX5UxDZ4JZqJWH8A",
        "onlyInvidious": true,
        "serversBlocked": 5,
        "title": "АЗОВ 4308"
    },
    {
        "id": "UCzcG-cghSkykmRUJ5xK-SGg",
        "onlyInvidious": false,
        "serversBlocked": 5,
        "title": "ПРАВИЙ СЕКТОР"
    },
    {
        "id": "UC1uvzGyPy8pxp3zwcCsSnmQ",
        "onlyInvidious": true,
        "serversBlocked": 4,
        "title": "Добровольчий Рух ОУН"
    },
    {
        "id": "UCvDQDc7GA1heLKQvdiMgW0w",
        "onlyInvidious": true,
        "serversBlocked": 4,
        "title": "Добровольчий Батальйон ОУН"
    },
    {
        "id": "UC3EBjh4GJrPN6dnWLeaEs3A",
        "onlyInvidious": true,
        "serversBlocked": 4,
        "title": "Добровольчий Батальйон ОУН"
    },
    {
        "id": "UCu9A95X4LEYb0bWRTj-xFDg",
        "onlyInvidious": true,
        "serversBlocked": 4,
        "title": "Чорний Комітет"
    },
    {
        "id": "UC111NXlcDs0VGfyre6EiPmA",
        "onlyInvidious": true,
        "serversBlocked": 2,
        "title": "Олег Жданов"
    },
    {
        "id": "UCJB0aPCDT2jvzhR3CXpxF9g",
        "onlyInvidious": true,
        "serversBlocked": 1,
        "title": "Ищи своих"
    },
    {
        "id": "UCTlTfHhcn44XdLn_arCsaig",
        "onlyInvidious": true,
        "serversBlocked": 1,
        "title": "Apostle Dmytro Karpenko"
    },
    {
        "id": "UC8juxfcRfSm9Af90S4mZE1Q",
        "onlyInvidious": true,
        "serversBlocked": 1,
        "title": "Volodymyr Zolkin"
    },
    {
        "id": "UC6lxTKpx615Ih8E3BJiCauA",
        "onlyInvidious": true,
        "serversBlocked": 1,
        "title": "Azov One"
    },
    {
        "id": "UCusHTwON8F-kc3OiWXxUgyA",
        "onlyInvidious": true,
        "serversBlocked": 1,
        "title": "Дождь слез"
    }
]

Итого:

  • Из 9 видео на одном был геоблок
  • Из 14 каналов два совпадают с записями в реестре на домене www.youtube.com
  • С большим отрывом побеждает видео “Полдень против Путина”, на которое сослались при блокировке 15 серверов

Всё вышеперечисленное не указывает на целенаправленную блокировку Invidious, скорее всего кто-то сидит и набивает палки.

Уже года два блокируют некоторые инстансы Invidious и Nitter. После того, как Маск что-то нашаманил в API, Nitter перестал работать, поэтому блокировка Ниттера теперь погоды не делает, а вот обход блокировки Invidious актуален.

Блокируют по SNI.

Закрыли доступ к api, и когда последние токены просрочились, всё остановилось.

31 января была прекращена выдача токенов, используемых в Nitter для организации доступа к контенту в X.com. 26 февраля истекло время жизни последних из ранее выданных токенов, что привело к полной остановке работы Nitter.

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

https://support.google.com/youtube/thread/269521462?hl=en

Спасибо, интересная статья.

К слову, упомянутый в статье Bibliogram перестал работать несколько лет назад, когда в Инстаграме затянули гайки.

Оффтопик, но пока работает мост из Instagram в Fediverse: https://kilogram.makeup/

У меня при вводе любого имени пользователя (IG) сервис выдаёт ошибку “504 Gateway Time-out”