Всем доброго времени суток!
У клавиатуры Павел Злой и в этой короткой заметке я бы хотел поделиться маленькой инструкцией о блокировке рекламы на уровне домашнего роутера с OpenWRT на борту.
Данная инструкция актуальна для всех версий OpenWRT начиная с 19й версии включительно, на более ранних версиях возможны свои подводные камни.
Существует несколько способов настройки блокировки рекламы:
- adblock + luci-app-adblock;
- simple-adblock + luci-app-simple-adblock;
- Решение на базе Pi-Hole, но не на OpenWRT, а на стороннем сервере, который далее используется как первичный DNS роутера.
Больше информации вы можете найти в соответствующей публикации на сайте OpenWRT.
Данная же публикация показывает как настроить связку adblock + luci-app-adblock, по наблюдениям автора, это решение занимает меньше места на флеш-памяти роутера чем остальные варианты.
И так, приступим.
Установка необходимых пакетов
Первым делом зайдём на страницу System / Software.
Далее нажмём на кнопку Update lists..., указанная процедура необходима для того чтобы операционная система узнала откуда нужно скачивать пакеты.
Результат работы будет выглядит следующим образом:
Отфильтруем список по слову adblock:
Напротив пакета adblock нажмём на кнопку Install...
Откроется окно, отображающие список всех зависимостей которые будут установлены с пакетом adblock:
После этого жмём на кнопку Install и ждём некоторое время, пока все зависимости и нужный пакет не будут установлены:
Далее, напротив пакета luci-app-adblock нажмём на кнопку Install...
Посмотрим на красивый список зависимостей, и нажмём Install
Результат работы будет такой:
Настройка списков блокировки
Теперь самое интересно, кажется будто ничего не изменилось и беглый просмотр менюшек не показывает новых элементов, для того чтобы в менюшке появился элемент Adblock необходимо просто нажать клавишу F5 (перезагрузить страницу).
Далее переходим на страницу Services / Adblock
Тут будет несколько вкладок с различными настройками, но могу сказать, что большинству пользователей настроек по умолчанию будет более чем достаточно.
Ещё один важный момент, блокировка рекламы осуществляется при помощи DNS, для этого пакет adblock внедряет через import настройки преобразования имён в конфигурацию dnsmasq. То есть не рассчитывайте, что будет блокироваться реклама встроенная в сайты, но всё что подгружается из вне будет вырезаться.
На вкладке Blacklist Sources можно выбрать желаемые списки листов блокировки.
Чтобы поддерживать списки блокировки в актуальном состоянии необходимо настройки задание cron, для этого нажмём на кнопку Refresh Timer...
И создадим правило обновления списков раз в неделю, в воскресенье в полночь (в штатах принято начинать неделю с воскресенья, а первый день недели обозначать как 0):
После того как вы настроили всё под себя, надо нажать кнопку Save & Apply
Тестируем
Этап настройки завершён, приступим к тестированию, выберем любой домен из активных списков блокировки:
Далее заходим по SSH на роутер OpenWRT и пробуем выполнить резолв данного домена при помощи утилиты nslookup:
Повторит данную процедуру на локальной машине:
Как видно блокировка работает исправно.
Завершение
Благодарю за прочтение, надеюсь публикация вам поможет в решении проблемы с надоедливой рекламой.
Подписывайтесь на канал, вступайте в группу в Telegram.
К тому же, если вы хотите поддержать мои усилия и вклад в развитие общества знаний, вы можете сделать пожертвование на CloudTips. Ваша поддержка поможет мне продолжать свою работу и делиться новыми открытиями с вами.
Ну а я буду закругляться, спасибо!