Поделюсь удобным скриптом, который скачивает ruadlist+easylist.txt от Adblock Plus и добавляет домены из него в черный список Pi-hole. Скрипт можно поместить в crontab и выполнять ежедневно (новые домены добавляются в правила довольно часто).
В правилах Adblock Plus содержатся не только домены, но и специальные регулярные выражения, которые Pi-hole просто не поймет. Для отсеивания таких выражений применяется скрипт на perl, найденный когда-то в 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