Представен е релиз на проекта Pi-hole 6, който развива система за централизирано блокиране на реклами в локалната мрежа, позволяваща да се избегне инсталирането на блокировачи в браузерите и на крайните устройства на потребителите. Предлаганата схема е актуална за борба с рекламите на устройства в домашни мрежи, например, на смарт телевизори и медийни центрове, както и за блокиране на реклами в мобилни приложения на смартфони. Блокирането в Pi-hole се реализира на ниво DNS — системата прилага черен списък на домейни, използвани при показването на реклами, и на ниво DNS препраща запитванията към тези домейни на адрес 0.0.0.0. Направленията на проекта се разпространяват под лицензия EUPL 1.2 (European Union Public License).
За да инсталирате Pi-hole, е достатъчно да стартирате shell-скрипт, който автоматизира изтеглянето и инсталирането на необходимите компоненти. Инсталацията се поддържа в Debian, Ubuntu, Fedora, Raspberry Pi OS (Raspbian), Armbian и CentOS Stream за архитектури x86_64, i386, ARM64, ARMv6, ARMv7 и RISC-V. Предполага се, че Pi-hole може да бъде инсталиран на платформи като Raspberry Pi (за работа е достатъчна производителността на Raspberry Pi Zero). Допълнително се предлага предварително настроен образ на контейнер, съдържащ готово за работа окружение на базата на Pi-hole.
Pi-hole стартира DHCP и DNS сървъри, основани на изменена версия на dnsmasq. DHCP сървърът се използва за автоматично предаване на настройки на DNS сървъра, участващ в блокирането. За управление на DNS сървъра и събиране на статистика се използва фонова процеса FTLDNS (pihole-FTL). Управлението на FTLDNS може да се осъществява чрез Web API, telnet или командния ред pihole. FTLDNS натрупва статистика за броя на блокираните и поисканите DNS запитвания, домейниблокирането на домейни от рекламни мрежи, кешираните и пренасочени DNS запитвания, броя на клиентите. Статистиката се съхранява с помощта на SQLite.
Над API, предоставяно от FTLDNS, е реализиран уеб интерфейс за мониторинг и управление блокировките, базиран на кода AdminLTE. Уеб интерфейсът е адаптиран за работа както с компютри с големи екрани, така и с мобилни устройства. Поддържа се достъп до детайлни логове, обобщени данни (например, най-популярни клиенти и домейни), визуализация чрез графики и диаграми, избор на история за определен период, филтриране на логовете, поддържане на отделни бели и черни списъци, блокировка по регулярни изрази, управление на настройките за DHCP и DNS.

В новото издание:
- В задния процес pihole-FTL е вграден HTTP сървър и е реализиран REST API. Вградената реализация на HTTP сървъра е базирана на библиотеката CivetWeb. Преди за организиране на работата на уеб интерфейса се стартираше HTTP сървър lighttpd. Сървърните обработчици на уеб интерфейса са пр rewritten от PHP на Lua (CivetWeb предоставя вградена поддръжка на Lua, което позволи изключването на PHP от зависимостите).
- Разширени са възможностите за филтриране на домейни и е добавена поддръжка за свързване на външни бели списъци, определящи домейни, достъпът до които ще бъде разрешен независимо от попадането в черни списъци.
- Разпокъсаните конфигурационни файлове са обединени в един файл в формат toml (\/etc\/pihole\/pihole.toml). За промяна на конфигурацията може директно да се редактира toml файла, да се използва командата „pihole-FTL —config“, да се преопределят параметри чрез променливи на средата, да се направят запитвания към API или да се променят настройки чрез уеб интерфейса.
- Напълно е променен дизайнът на уеб интерфейса, в който е въведено разделение на обикновен и експертен режим.
- Добавена е поддръжка за HTTPS с възможност за предоставяне както на собствена TLS-сертификат, така и на автоматична генерация на сертификат.
- Образът на контейнера за Docker е преминал на използване на Alpine Linux вместо Debian, което е позволило значително да се намали размерът му.
Източник: opennet.ru
