Недавно попалась статья на Хабре — «Решаем проблему устаревания кэширующих серверов. Смотрим на телевизоре. Не 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, нам необходимо вручную прописать сетевую конфигурацию, как это сделать - показано ниже на картинке
В нашем случае, необходимо прописать в качестве шлюза IP адрес одноплатника, а в качестве DNS использовать адреса 8.8.8.8 и 8.8.4.4. И, само собой, IP адрес нашего «кэширующего» сервера (он же одноплатный компьютер) должен быть статическим - это легко делается с помощью роутера (привязка IP к MAC) или средствами самого одноплатника.
Итоги
Итак, с помощью недорого одноплатника, нам удалось справиться с устареванием кэширующих серверов видеохостинга, теперь мы можем и дальше наслаждаться образовательным и развлекательным контентом,
Обратите внимание, что данная статья не популяризует и не склоняет пользователя к обходу блокировок. Здесь лишь описан частный технический случай, который является труднореализуемым со стороны обычного обывателя. Также автор статьи не несет ответственность за содержание сторонних репозиториев и возможные риски в последствии их использования.
Спасибо за внимание.
Комментарии (109)
Nunter
04.01.2025 18:08Я для этого поднял на домашнем сервере (подкроватный, кто бы мог подумать еще несколько лет назад что он будет так выручать...) OpenWrt с установленном в нем v2rayA - вопрос был положительно решен не только для телека а всех моих девайсов которые к этой сети цепляются, работает так же как и в былые времена
мануал был по ссылке но автор что то корону примерил и
требуетпросит плату за доступ к статье, жлоб.. (кстати он тут тоже на Хабре обитает, если увидит мой комент - так и знай что ты жлоб)Но вебархив все помнит, думаю кому то поможет
stas_grishaev
04.01.2025 18:08насчет v2raya на OpenWrt есть отличная статья https://habr.com/ru/articles/773696/
Popadanec
04.01.2025 18:08Шаловливые ручки из РКП, до архива уже добрались. Хабр к примеру оттуда выпилили.
DesertDragon
04.01.2025 18:08Не выпилили, а заблокировали доступ из России. Хабр там есть и продолжает сохраняться.
MountainGoat
04.01.2025 18:08В чём смысл всех этих невпнов, которые проработают до следущего четверга с перебоями? Нет 400 рублей на впс-ку?
mphys
04.01.2025 18:08Стабильно работающих решений на vps-ках тоже нет, те или иные решения регулярно подвергаются репрессиям и перестают нормально работать
fil_ondre
04.01.2025 18:08Aeza + amnezia
EriIaz
04.01.2025 18:08Допотопный клиент, неспособный поддерживать раздельное туннелирование и GeoIP маршрутизацию на Windows.
vikarti
04.01.2025 18:08А есть что-то умеющие это делать и при этом способное с AmneziaWG работать на Windows? Ну или с XRay-поставленным-Amnezia и при это однокнопочное (это ж главное преимущество Amnezia по факту)
Quanxi
04.01.2025 18:08Не поверишь, есть. См. amnezia-wg-option в Mihomo-core. В качестве кроссплатформенного клиента можно использовать FlClash. Geosite, geoip, rules и т.п. — всё поддерживается.
44th
04.01.2025 18:08Зачем сбивать стрелы, выпущенные лучником, когда можно один раз завалить самого лучника https://github.com/C24Be/AS_Network_List/
nidalee
04.01.2025 18:08Как вы думаете, что решит автоматика, если не сможет достучаться до вашего сервера, куда вы ежедневно гоняете гигабайты трафика? :)
xxToaDxx
04.01.2025 18:08Можно ведь арендовать vps в России им подключится к vps за бугром и ходить на российский vps и никто против не будет, а между vps в дата-центрах я думаю мало кто будет анализировать трафик.
uuger
04.01.2025 18:08vps в дата-центрах я думаю мало кто будет анализировать трафик.
какой вы оптимист, однако
demag0g
04.01.2025 18:08А в чем смысл ходить через забугор, смотреть рекламу например финских товаров, ещё и 400р за это платить?
nidalee
04.01.2025 18:08Хороший детектор плохой конфигурации браузера, кстати. Если вы видите рекламу на YouTube, то вы либо не поставили адблок, либо поставили плохой, либо неправильно его настроили.
p07a1330
04.01.2025 18:08Вариант того, что я проявляю сознательность и позволяю создателю контента заработать копеечку не рассматриваете?
pfffffffffffff
04.01.2025 18:08А смысл смотреть если вы ничего не купите по этой рекламе, лучше уж донатьте автору
i86com
04.01.2025 18:08Ох, не сказал бы, что мне известно много людей, которые бы честно задонатили ВСЕМ ютуберам, которых когда-либо смотрели, в соотвествии с количеством потреблённого контента. Лучше-то оно может и лучше бы было, но вряд ли проще, чем просто не предпринимать активных действий по блокированию рекламы.
Хотя, конечно, Ютуб премиум в этом смысле может быть эффективнее, если ваше время стоит дороже 14$ в месяц.
Popadanec
04.01.2025 18:08Вы наоборот проявляете несознательность и делаете каналу хуже. Почему? Потому что это пустой просмотр, даже если рекламодатель платит за просмотры, а не переходы или постоянную сумму контракта. Пустой просмотр ухудшает статистику эффективности рекламы, а значит в следующий раз выплаты за рекламу будут меньше. На копеечку, но если таких много, то на много копеечек.
Я это для себя уже давныым давно понял и т.к. всё равно не покупаю ровным счётом ничего из рекламы, со спокойной совестью установил блокировщик рекламы, как только он появился в виде плагина. А затем и спонсорблок. Лучше я посмотрю ролик до конца и подниму среднее время просмотра, чем уйду в начале/середине из за раздражающей и бесполезной рекламы.
Максимум от ютуба, это игры в стиме. И то некоторые чисто в ютубе прохожу.
i86com
04.01.2025 18:08Рекламодатель платит за просмотры (платформе, и, опосредованно, автору контента), когда ему нужны именно просмотры. Т.н. "имиджевая" реклама. И рекламное агентство в этом случае получает от заказчика деньги именно за кол-во просмотров рекламы.
Не у всякой рекламы цель - чтобы просмотрев её человек вотпрямщас кликнул по кнопке "купить". Порой, цель в том, чтобы просто сообщить человеку о существовании товара/бренда, чтобы он не шарахался от него, когда(если) встретит его в будущем.
nidalee
04.01.2025 18:08Нет, автор получает сущие копейки. Проявляйте сознательность правильно - оформите подписку (не на YouTube) или купите мерч.
FreeNickname
04.01.2025 18:08Можно и на YouTube, на самом деле. LinusTechTips говорили, что от пользователей с Premium дохода идёт гораздо больше, чем от пользователя с рекламой (по крайней мере, если смотреть в выражении на 1 пользователя).
nidalee
04.01.2025 18:08Можно, но надежнее убрать прослойку. Поэтому они и продают мерч, и игнорят пожертвования на стриме.
i86com
04.01.2025 18:08Конечно, ох уж эти грёбаные корпорации, вкладывают миллиарды долларов в инфраструктуру, разработку и риски, в результате чего появляются бесплатные сервисы и целые индустрии. Надо бы их проучить за это, как и полагается бесполезной прослойке.
nidalee
04.01.2025 18:08Надо бы их проучить за это, как и полагается бесполезной прослойке.
Все верно, надо хотя бы немного отбить у них за сомнительные бизнес-практики. Сколько там у гугла сервисов с отказом от ответственности, все?
i86com
04.01.2025 18:08А Гугл-то и не знает, какие именно его бизнес-практики вы считаете сомнительными.
Более того, есть одна такая практика, тоже очень сомнительная с точки зрения бизнеса - владеть самым популярным в мире браузером и видеохостингом, но при этом свободно раздавать в официальном сторе адблоки всех видов, даже позволять ставить свои левые адблоки и никого за это не банить. От лица публично-торгуемой компании это вообще можно посчитать противозаконным, потому что по закону назначаемые директора обязаны работать в интересах повышения прибыли инвесторов (их исключительно ради этого, собственно, и назначают).
Так что, да, возможно и Гугл когда-нибудь прислушается к таким "сигналам вселенной" и примет их, как знак того, что пришло время отказываться от сомнительных бизнес-практик. Вот только от каких именно - тот ещё вопрос.
jackgrebe
04.01.2025 18:08при этом свободно раздавать в официальном сторе адблоки всех видов
этой сомнительной практике осталось жить недолго. скоро будет новый манифест хрома, и все рабочие адблоки сдохнут. а потом и фаерфокс подтянется.
вся надежда на MitM прокси на 127.0.0.1.
NikaLapka
Страшный анекдот на тему: возвращается сисадмин домой, а сын ему и говорит, -"Папа, я ютуб починил..".
AcckiyGerman
Или вот объявят Ютуб экстремистким, а вы забудете его на телевизоре своей бабушки выключить (допустим вы лайкнули в другой экстремисткой сети иноагента и это заметил тов. майор, поэтому вам не до бабушки), а потом соседки бабушки настучат куда надо и тут уже и у бабушки проблемы...
Тут я проснулся в холодном поту - привидеться же такое!