====== Добавление доменов в чёрный список Pi-hole из правил Adblock Plus ======
Поделюсь удобным скриптом, который скачивает ruadlist+easylist.txt от [[wpru>Adblock_Plus|Adblock Plus]] и добавляет домены из него в черный список [[pi-hole:pi-hole|Pi-hole]]. Скрипт можно поместить в crontab и выполнять ежедневно (новые домены добавляются в правила довольно часто).
В правилах Adblock Plus содержатся не только домены, но и специальные регулярные выражения, которые Pi-hole просто не поймет.
Для отсеивания таких выражений применяется скрипт на perl, [[https://www.reddit.com/r/pihole/comments/4p2tp7/adding_easylist_and_other_adblocklike_sources_to/|найденный когда-то в reddit-сообществе pi-hole]]:
#!/usr/bin/perl -w
use strict;
my %hosts = ();
while ( <> ) {
if ( $_ =~ m/^\|\|([a-z][a-z0-9-_.]+\.([a-z]{2,3}))\^\s*$/ ) {
$hosts{$1} = 1;
}
}
foreach my $host ( sort keys %hosts ) {
print( "$host\n" );
}
**//Этот perl-скрипт должен лежать в одной директории со скриптом ниже.//**
Скрип создания списка блокировки и размещения его на web-сервере Pi-hole:
#!/bin/sh
#get AdList
LST="$(curl --silent --insecure -4 https://easylist-downloads.adblockplus.org/ruadlist+easylist.txt)"
#get domains from AdList
echo "$LST" | "$(dirname $0)/selectDomainNamesFromAdlist.pl" | grep -v '^$' | sort -u > '/var/www/html/pihole/ruadlist_easylist.txt'
#в настройках Pi-hole список можно будет добавить так: http://pi.hole/pihole/ruadlist_easylist.txt
#(проверьте предварительно, что он доступен через web)
===== Заключение =====
У Adblock Plus много разных наборов правил для разных языков, со всеми можно ознакомиться здесь: https://adblockplus.org/ru/subscriptions
Кроме того, без всякой предварительной обработки в настройки Pi-hole можно добавить список блокировки от AdGuard: https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts;showintro=0&useip=0.0.0.0