Найти тему
Pavel Zloi

Как настроить Adblock на OpenWRT

Оглавление

Всем доброго времени суток!

У клавиатуры Павел Злой и в этой короткой заметке я бы хотел поделиться маленькой инструкцией о блокировке рекламы на уровне домашнего роутера с OpenWRT на борту.

Данная инструкция актуальна для всех версий OpenWRT начиная с 19й версии включительно, на более ранних версиях возможны свои подводные камни.

Существует несколько способов настройки блокировки рекламы:

  • adblock + luci-app-adblock;
  • simple-adblock + luci-app-simple-adblock;
  • Пакет banhostlist (не обновляется с 2015);
  • Пакет AdGuard Home;
  • Решение на базе Pi-Hole, но не на OpenWRT, а на стороннем сервере, который далее используется как первичный DNS роутера.

Больше информации вы можете найти в соответствующей публикации на сайте OpenWRT.

Данная же публикация показывает как настроить связку adblock + luci-app-adblock, по наблюдениям автора, это решение занимает меньше места на флеш-памяти роутера чем остальные варианты.

И так, приступим.

Установка необходимых пакетов

Первым делом зайдём на страницу System / Software.

Далее нажмём на кнопку Update lists..., указанная процедура необходима для того чтобы операционная система узнала откуда нужно скачивать пакеты.

Обновление списка пакетов
Обновление списка пакетов

Результат работы будет выглядит следующим образом:

Обновление списков пакетов
Обновление списков пакетов

Отфильтруем список по слову adblock:

Результат фильтрации по слову adblock
Результат фильтрации по слову adblock

Напротив пакета adblock нажмём на кнопку Install...

Откроется окно, отображающие список всех зависимостей которые будут установлены с пакетом adblock:

Список зависимостей пакета adblock
Список зависимостей пакета adblock

После этого жмём на кнопку Install и ждём некоторое время, пока все зависимости и нужный пакет не будут установлены:

Подробности установки пакета adblock
Подробности установки пакета adblock

Далее, напротив пакета luci-app-adblock нажмём на кнопку Install...

Установка пакета luci-app-adblock
Установка пакета luci-app-adblock

Посмотрим на красивый список зависимостей, и нажмём Install

Список зависимостей пакета luci-app-adblock
Список зависимостей пакета luci-app-adblock

Результат работы будет такой:

Результат установки пакета luci-app-adblock
Результат установки пакета luci-app-adblock

Настройка списков блокировки

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

Далее переходим на страницу Services / Adblock

Заходим в настройки Adblock
Заходим в настройки Adblock

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

Ещё один важный момент, блокировка рекламы осуществляется при помощи DNS, для этого пакет adblock внедряет через import настройки преобразования имён в конфигурацию dnsmasq. То есть не рассчитывайте, что будет блокироваться реклама встроенная в сайты, но всё что подгружается из вне будет вырезаться.

На вкладке Blacklist Sources можно выбрать желаемые списки листов блокировки.

Настройка листов блокировки
Настройка листов блокировки

Чтобы поддерживать списки блокировки в актуальном состоянии необходимо настройки задание cron, для этого нажмём на кнопку Refresh Timer...

И создадим правило обновления списков раз в неделю, в воскресенье в полночь (в штатах принято начинать неделю с воскресенья, а первый день недели обозначать как 0):

Правило обновления списков раз в неделю
Правило обновления списков раз в неделю

После того как вы настроили всё под себя, надо нажать кнопку Save & Apply

Сохраним настройки
Сохраним настройки

Тестируем

Этап настройки завершён, приступим к тестированию, выберем любой домен из активных списков блокировки:

Выбираем домен из списка блокировки
Выбираем домен из списка блокировки

Далее заходим по SSH на роутер OpenWRT и пробуем выполнить резолв данного домена при помощи утилиты nslookup:

Резолв заблокированного домена
Резолв заблокированного домена

Повторит данную процедуру на локальной машине:

Резолв на локальной машины
Резолв на локальной машины

Как видно блокировка работает исправно.

Завершение

Благодарю за прочтение, надеюсь публикация вам поможет в решении проблемы с надоедливой рекламой.

Подписывайтесь на канал, вступайте в группу в Telegram.

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

Ну а я буду закругляться, спасибо!