Недавно попалась статья на Хабре — «Решаем проблему устаревания кэширующих серверов. Смотрим на телевизоре. Не VPN» от автора @CyberexTech проделал все шаги по ней, но с моим провайдером YouTube не заработал. Соответственно решил опробовать другие решения, одно из которых в итоге сработало, настроил его также через Raspberry Pi. В этой статье делюсь опытом настройки на случай, если решение от @CyberexTech у вас не сработало.

Предисловие

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

Ясно, что на компьютере можно локально установить сервис, но как быть с телевизором. В прошивку телевизора с таким запросом не полезешь, значит нужно либо менять/добавлять роутер на ОС OpenWrt и плясать с бубном, чтобы его настроить, либо добавить в сеть ещё одно звено, которое будет «портить» транзитный tcp трафик, благодаря чему возобновляется работа кэширующих серверов YouTube.

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

Для тестирования настоятельно рекомендую использовать VirtualBox, т.к. сразу может не получиться пробиться к кэширующим серверам YouTube. Для подобного сервиса вероятно подойдёт любой одноплатник независимо от его мощности, например RaspberryPi или OrangePi, фактически любое устройство с Linux на борту, т.к. этот сервис просто не потребляет много ресурсов.

Установка и настройка необходимого ПО

1. Разрешить ipv4 port forward трафик

Первым делом необходимо зайти в файл /etc/sysctl.conf и раскоментировать там строчку net.ipv4.ip_forward=1, чтобы разрешить транзитный трафик через одноплатник.

vim /etc/sysctl.conf

Найти и раскомментировать

net.ipv4.ip_forward=1

Выполнить команду, чтобы применить настройки

sysctl -p

Теперь одноплатник будет проксировать интернет трафик, если подключиться к нему в качестве основного шлюза.

2. Установить зависимости

Необходимые пакеты для сборки и c/c++ компилятор

apt install gcc make autoconf automake pkg-config libtool

Заголовки ядра линукса

apt install linux-headers-$(uname -r)

Пакеты iptables и git

apt install iptables git

3. Развёртывание и настройка сервиса

Клонируем репозиторий и заходим в папку с ним

git clone https://github.com/Waujito/youtubeUnblock.git
cd youtubeUnblock

В папке сервиса нам нужно найти и поменять содержимое файла youtubeUnblock.service, т.к. сервис изначально настроен на обработку ("порчу") tcp трафика на локальном ПК, то, чтобы он работал с транзитным трафиком, необходимо добавить новые правила iptables в ExecStartPre и ExecStop сервиса.

Полный изменённый код для файла youtubeUnblock.service:

[Unit]
Description=youtubeUnblock

[Service]
StandardError=journal
StandardOutput=journal
StandardInput=null
ExecStartPre=/bin/bash -c 'iptables -t mangle -A POSTROUTING -p tcp --dport 443 -j NFQUEUE --queue-num 537 --queue-bypass && iptables -t mangle -A OUTPUT -p tcp -m tcp --dport 443 -m connbytes --connbytes-dir original --connbytes-mode packets --connbytes 0:19 -j NFQUEUE --queue-num 537 --queue-bypass'
ExecStart=$(PREFIX)/bin/youtubeUnblock
ExecStop=/bin/bash -c 'iptables -t mangle -D POSTROUTING -p tcp --dport 443 -j NFQUEUE --queue-num 537 --queue-bypass && iptables -t mangle -D OUTPUT -p tcp -m tcp --dport 443 -m connbytes --connbytes-dir original --connbytes-mode packets --connbytes 0:19 -j NFQUEUE --queue-num 537 --queue-bypass'

[Install]
WantedBy=multi-user.target

4. Компиляция и установка сервиса

Компилируем и устанавливаем сервис

make
make install

Добавляем сервис в автозагрузку

systemctl enable youtubeUnblock.service

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

systemctl start youtubeUnblock.service

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

Теперь, когда сервис настроен и развёрнут на одноплатнике, всё, что нужно это настроить основной шлюз на телевизоре/ПК/телефоне

В качестве завершения просто повторю конец из статьи @CyberexTech, надеюсь он не будет против :)

Настройка телевизора (на примере Web OS LG)

Для настройки использования нашего «кэширующего» сервера на смарт телевизоре LG, нам необходимо вручную прописать сетевую конфигурацию, как это сделать - показано ниже на картинке

Конфигурация сетевого подключения. Взято с форума LG.
Конфигурация сетевого подключения. Взято с форума LG.

В нашем случае, необходимо прописать в качестве шлюза IP адрес одноплатника, а в качестве DNS использовать адреса 8.8.8.8 и 8.8.4.4. И, само собой, IP адрес нашего «кэширующего» сервера (он же одноплатный компьютер) должен быть статическим - это легко делается с помощью роутера (привязка IP к MAC) или средствами самого одноплатника.

Итоги

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

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

Спасибо за внимание.

Комментарии (109)


  1. NikaLapka
    04.01.2025 18:08

    Страшный анекдот на тему: возвращается сисадмин домой, а сын ему и говорит, -"Папа, я ютуб починил..".


    1. AcckiyGerman
      04.01.2025 18:08

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

      Тут я проснулся в холодном поту - привидеться же такое!


  1. Nunter
    04.01.2025 18:08

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

    мануал был по ссылке но автор что то корону примерил и требует просит плату за доступ к статье, жлоб.. (кстати он тут тоже на Хабре обитает, если увидит мой комент - так и знай что ты жлоб)

    Но вебархив все помнит, думаю кому то поможет


    1. stas_grishaev
      04.01.2025 18:08

      насчет v2raya на OpenWrt есть отличная статья https://habr.com/ru/articles/773696/


    1. Popadanec
      04.01.2025 18:08

      Шаловливые ручки из РКП, до архива уже добрались. Хабр к примеру оттуда выпилили.


      1. DesertDragon
        04.01.2025 18:08

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


  1. MountainGoat
    04.01.2025 18:08

    В чём смысл всех этих невпнов, которые проработают до следущего четверга с перебоями? Нет 400 рублей на впс-ку?


    1. mphys
      04.01.2025 18:08

      Стабильно работающих решений на vps-ках тоже нет, те или иные решения регулярно подвергаются репрессиям и перестают нормально работать


      1. Nunter
        04.01.2025 18:08

        Ну почему нет, вышеописанный метод работает вообще без проблем, странно что до него не додумались и здесь не описали.


        1. JBFW
          04.01.2025 18:08

          хехе, и додумались, и описали.

          Но у нас теперь неположено смердам такое знать.


      1. fil_ondre
        04.01.2025 18:08

        Aeza + amnezia


        1. EriIaz
          04.01.2025 18:08

          Допотопный клиент, неспособный поддерживать раздельное туннелирование и GeoIP маршрутизацию на Windows.


          1. vikarti
            04.01.2025 18:08

            А есть что-то умеющие это делать и при этом способное с AmneziaWG работать на Windows? Ну или с XRay-поставленным-Amnezia и при это однокнопочное (это ж главное преимущество Amnezia по факту)


            1. brooho
              04.01.2025 18:08

              смотрите в сторону hiddify. Однокнопочный комбайн, который умеет всё.


            1. Quanxi
              04.01.2025 18:08

              Не поверишь, есть. См. amnezia-wg-option в Mihomo-core. В качестве кроссплатформенного клиента можно использовать FlClash. Geosite, geoip, rules и т.п. — всё поддерживается.


      1. 44th
        04.01.2025 18:08

        Зачем сбивать стрелы, выпущенные лучником, когда можно один раз завалить самого лучника https://github.com/C24Be/AS_Network_List/


        1. nidalee
          04.01.2025 18:08

          Как вы думаете, что решит автоматика, если не сможет достучаться до вашего сервера, куда вы ежедневно гоняете гигабайты трафика? :)


          1. xxToaDxx
            04.01.2025 18:08

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


            1. uuger
              04.01.2025 18:08

              vps в дата-центрах я думаю мало кто будет анализировать трафик.

              какой вы оптимист, однако


            1. dbond
              04.01.2025 18:08

              Юзеры из Ирана и Китая именно так и поступают.


    1. demag0g
      04.01.2025 18:08

      А в чем смысл ходить через забугор, смотреть рекламу например финских товаров, ещё и 400р за это платить?


      1. fil_ondre
        04.01.2025 18:08

        Smarttube в помощь


      1. nidalee
        04.01.2025 18:08

        Хороший детектор плохой конфигурации браузера, кстати. Если вы видите рекламу на YouTube, то вы либо не поставили адблок, либо поставили плохой, либо неправильно его настроили.


        1. p07a1330
          04.01.2025 18:08

          Вариант того, что я проявляю сознательность и позволяю создателю контента заработать копеечку не рассматриваете?


          1. pfffffffffffff
            04.01.2025 18:08

            А смысл смотреть если вы ничего не купите по этой рекламе, лучше уж донатьте автору


            1. i86com
              04.01.2025 18:08

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

              Хотя, конечно, Ютуб премиум в этом смысле может быть эффективнее, если ваше время стоит дороже 14$ в месяц.


          1. Popadanec
            04.01.2025 18:08

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

            Я это для себя уже давныым давно понял и т.к. всё равно не покупаю ровным счётом ничего из рекламы, со спокойной совестью установил блокировщик рекламы, как только он появился в виде плагина. А затем и спонсорблок. Лучше я посмотрю ролик до конца и подниму среднее время просмотра, чем уйду в начале/середине из за раздражающей и бесполезной рекламы.

            Максимум от ютуба, это игры в стиме. И то некоторые чисто в ютубе прохожу.


            1. i86com
              04.01.2025 18:08

              Рекламодатель платит за просмотры (платформе, и, опосредованно, автору контента), когда ему нужны именно просмотры. Т.н. "имиджевая" реклама. И рекламное агентство в этом случае получает от заказчика деньги именно за кол-во просмотров рекламы.

              Не у всякой рекламы цель - чтобы просмотрев её человек вотпрямщас кликнул по кнопке "купить". Порой, цель в том, чтобы просто сообщить человеку о существовании товара/бренда, чтобы он не шарахался от него, когда(если) встретит его в будущем.


          1. nidalee
            04.01.2025 18:08

            Нет, автор получает сущие копейки. Проявляйте сознательность правильно - оформите подписку (не на YouTube) или купите мерч.


            1. FreeNickname
              04.01.2025 18:08

              Можно и на YouTube, на самом деле. LinusTechTips говорили, что от пользователей с Premium дохода идёт гораздо больше, чем от пользователя с рекламой (по крайней мере, если смотреть в выражении на 1 пользователя).


              1. nidalee
                04.01.2025 18:08

                Можно, но надежнее убрать прослойку. Поэтому они и продают мерч, и игнорят пожертвования на стриме.


                1. i86com
                  04.01.2025 18:08

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


                  1. nidalee
                    04.01.2025 18:08

                    Надо бы их проучить за это, как и полагается бесполезной прослойке.

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


                    1. i86com
                      04.01.2025 18:08

                      А Гугл-то и не знает, какие именно его бизнес-практики вы считаете сомнительными.

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

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


                      1. jackgrebe
                        04.01.2025 18:08

                        при этом свободно раздавать в официальном сторе адблоки всех видов

                        этой сомнительной практике осталось жить недолго. скоро будет новый манифест хрома, и все рабочие адблоки сдохнут. а потом и фаерфокс подтянется.
                        вся надежда на MitM прокси на 127.0.0.1.