Ik heb de blacklist optie van de FRITZ!Box nooit erg serieus genomen omdat je slechts 500 adressen in kan voeren. Daar kom je niet zo ver mee.
Mijns inziens kun je beter iets als een Pi-hole of AdGuardHome gebruiken, een toepassing die je op een extern dingetje als een Raspberry Pi installeert dat je vervolgens aan de FRITZ!Box hangt.
Ik gebruik zelf al heel veel jaren een Pi-hole met een erg bescheiden aantal blocklists waarmee ik toch al op een kleine 20.000 geblokkeerde domeinen uitkom.
Daarnaast heb ik er een nog hoop reguliere expressies opstaan om domeinen (inclusief CNAME cloaking ellende) te blokkeren, iets dat op de FRITZ!Box überhaupt niet mogelijk is.
Steeds als ik ergens heen ga, kijk ik via zoekmachine SwissCows welke koekjes ongevraagd door mijn strot worden geduwd, zo groeit langzaam mijn nu nog beperkte lijst.
Vervolgens de regular expressions (hebben we daar eigenlijk een goede Nederlandse term voor??)
China
(^|.)cn$
Iran
(^|.)ir$
North Korea
(^|.)kp$
Russia
(^|.)ru$
Tokelau
(^|.)tk$
Gabon
(^|.)ga$
Mali
(^|.)ml$
Equatorial Guinea
(^|.)gq$
Central African Republic
(^|.)cf$
Palau
(^|.)pw$
The big evil mothership
(^|.)xyz$
Last but not least zijn er wat regexen die ik via een script installeer en onderhoud, o.a. om CNAME cloaking te onderscheppen.
Die scriptjes hier plaatsen gaat wat ver denk ik…
@anon17744841 : ik meen me te herinneren dat jij eBlocker gebruikt.
Heb je een speciale reden om ook nog blacklists in de FRITZ!Box te willen gebruiken?
Voorlopig hebben we nog wel te maken met de ‘beperking’ van 500 domeinen in de blacklist van de FRITZ!Box.
Ik betwijfel dan ook of het opsommen van allerlei blocklist-verzamelingen die aanzienlijk groter zijn dan die 500 domeinen voor iemand zin heeft. Het gaat voorlopig gewoon niet werken in een FRITZ!Box.
Maar bij mij komt dan de vraag op:
Hoe selecteer ik uit die hele horde domeinen die 500 meest lastige ?
Dan wil ik de gemeenste 500 graag alvast in mijn FritzBox zetten.
Ik ben blij met wat wij hier allemaal samenstellen, maar blijf dus met mijn vraag zitten.
( … en ben er van overtuigd, dat wij mekaar er allemaal wel uitkomen )
En vervolgens zal ieder voor zich uit moeten zoeken wat er dan in die 500 domeinen past die je kwijt kan in de Fritz.
En dat dan ook nog regelmatig updaten want die rommel is niet allemaal statisch, er verdwijnt wel eens wat en er komt vaak wat bij.
Ik denk echt dat een Pi-hole of AdGuardHome vele malen eenvoudiger is.
Als dat eenmaal draait heb je er vrijwel geen omkijken meer naar, updates van de lijsten gaat automatisch.
Ik zag hem, ik volg eBlocker al een tijdje, heb het ook even geprobeerd.
Ben er weer mee gestopt omdat ze geen IPv6 ondersteunen, maar misschien komt dat in orde met de crowdfunding. Het is dat ik net mijn jaarlijkse donatie aan Pi-hole gedaan heb…
Ik denk dat het inkloppen van 500 domeinen in een FRITZ!Box (en dan misschien nog niet alles blokkeren wat je wil) plus het bijkomende periodieke onderhoud van die domeinen meer werk is dan het tikwerk dat je moet doen om een eBlocker / Pi-hole / AdGuardHome in elkaar te flansen.
maar gewoon tikwerk kan (bijna) iedereen wel,
een eBlocker / Pi-hole / AdGuardHome in elkaar zetten is wel wat anders.
't Eerste kan ik zeker wel (kost gewoon wat tijd),
als ik morgen aan het tweede moet beginnen, dan zou ik nu niet weten waar te beginnen.
( persoonlijke bekentenis )
Ik heb een url naam blocklist en een ip adres blocklist in gebruik. Deze wordt elke nacht middels een cron taak automatisch aangevuld. Zie beneden het betreffende stuk van het shell script dat ik daarvoor heb geschreven. Links van betreffende blocklist sources vind je in het script commentaar.
Op dit moment blokkeer ik 1995952 url domeinen en 142157 ip adres ranges.
# Print a separator line.
echo "================================================================================"
echo
# If the blocked names list does not exist, create an empty blocked names list.
if ! test -s /usr/local/etc/blocked_names.txt
then
touch /usr/local/etc/blocked_names.txt
fi
# See https://github.com/DNSCrypt/dnscrypt-proxy/blob/master/utils/generate-domains-blocklist/domains-blocklist.conf for a nice collection of blocklists to consider.
# Download (wildcard) blocklist, see https://oisd.nl, and remove any blank lines or comments.
curl -m 300 https://dblw.oisd.nl \
| awk 'length( $0 ) > 0 && !/#/ { print( $0 ) }' \
>> /usr/local/etc/blocked_names.txt
# Download blocklist, see https://github.com/DNSCrypt/dnscrypt-proxy/wiki/Public-blacklists, and remove any blank lines or comments.
curl -m 300 https://download.dnscrypt.info/blocklists/domains/mybase.txt \
| awk 'length( $0 ) > 0 && !/#/ { print( $0 ) }' \
>> /usr/local/etc/blocked_names.txt
# Download blocklist, see https://github.com/notracking/hosts-blocklists, and remove any blank lines or comments.
curl -m 300 https://raw.githubusercontent.com/notracking/hosts-blocklists/master/dnscrypt-proxy/dnscrypt-proxy.blacklist.txt \
| awk 'length( $0 ) > 0 && !/#/ { print( $0 ) }' \
>> /usr/local/etc/blocked_names.txt
# Download blocklist, see https://github.com/StevenBlack/hosts, and convert from /etc/hosts format to dnscrypt-proxy format.
curl -m 300 https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling-porn/hosts \
| awk '$1 == "0.0.0.0" { print( $2 ) }' \
>> /usr/local/etc/blocked_names.txt
# Download blocklist, see https://www.github.developerdan.com, and convert from /etc/hosts format to dnscrypt-proxy format.
curl -m 300 https://www.github.developerdan.com/hosts/lists/ads-and-tracking-extended.txt \
| awk '$1 == "0.0.0.0" { print( $2 ) }' \
>> /usr/local/etc/blocked_names.txt
# Download blocklist, see https://hblock.molinero.dev and https://github.com/hectorm/hblock, and remove any blank lines or comments.
curl -m 300 https://hblock.molinero.dev/hosts_domains.txt \
| awk 'length( $0 ) > 0 && !/#/ { print( $0 ) }' \
>> /usr/local/etc/blocked_names.txt
# Sort the blocklist and remove any double entries.
sort -u -o /usr/local/etc/blocked_names.txt /usr/local/etc/blocked_names.txt
# Set the blocked names list accessibility.
chmod 644 /usr/local/etc/blocked_names.txt
# Display the number of blocked domains.
echo
echo "Number of blocked domains:\c"
wc -l /usr/local/etc/blocked_names.txt
# Print a separator line.
echo
echo "================================================================================"
echo
# If the blocked IP address list does not exist, create an empty blocked IP address list.
if ! test -s /usr/local/etc/blocked_ips.txt
then
touch /usr/local/etc/blocked_ips.txt
fi
# Download blocklist, see https://www.spamhaus.org/drop, and remove any blank lines or comments.
curl -m 300 \
https://www.spamhaus.org/drop/drop.txt \
https://www.spamhaus.org/drop/edrop.txt \
| awk -F';' 'length($1) > 0 { print( $1 ) }' \
>> /usr/local/etc/blocked_ips.txt
# Download blocklists, see https://github.com/stamparm/ipsum.
curl -m 300 \
https://raw.githubusercontent.com/stamparm/ipsum/master/levels/8.txt \
https://raw.githubusercontent.com/stamparm/ipsum/master/levels/7.txt \
https://raw.githubusercontent.com/stamparm/ipsum/master/levels/6.txt \
https://raw.githubusercontent.com/stamparm/ipsum/master/levels/5.txt \
https://raw.githubusercontent.com/stamparm/ipsum/master/levels/4.txt \
https://raw.githubusercontent.com/stamparm/ipsum/master/levels/3.txt \
https://raw.githubusercontent.com/stamparm/ipsum/master/levels/2.txt \
| awk '{ print( $0 ) }' \
>> /usr/local/etc/blocked_ips.txt
# Remove any incomplete IP addresses.
cat /usr/local/etc/blocked_ips.txt \
| awk -F'.' '{ if( NF == 4 ) print( $0 ) }' \
> /usr/local/etc/blocked_ips_cleaned.txt
rm /usr/local/etc/blocked_ips.txt
mv /usr/local/etc/blocked_ips_cleaned.txt /usr/local/etc/blocked_ips.txt
# Replace IP address ranges with the equivalent search pattern(s).
cat /usr/local/etc/blocked_ips.txt \
| awk -F'[./]' '/\/32/ { for( n = 0 ; n < 2^(32-$5) ; n++ ) print( $1 "." $2 "." $3 "." $4+n ) } !/\/32/ { print( $0 ) }' \
| awk -F'[./]' '/\/31/ { for( n = 0 ; n < 2^(32-$5) ; n++ ) print( $1 "." $2 "." $3 "." $4+n ) } !/\/31/ { print( $0 ) }' \
| awk -F'[./]' '/\/30/ { for( n = 0 ; n < 2^(32-$5) ; n++ ) print( $1 "." $2 "." $3 "." $4+n ) } !/\/30/ { print( $0 ) }' \
| awk -F'[./]' '/\/29/ { for( n = 0 ; n < 2^(32-$5) ; n++ ) print( $1 "." $2 "." $3 "." $4+n ) } !/\/29/ { print( $0 ) }' \
| awk -F'[./]' '/\/28/ { for( n = 0 ; n < 2^(32-$5) ; n++ ) print( $1 "." $2 "." $3 "." $4+n ) } !/\/28/ { print( $0 ) }' \
| awk -F'[./]' '/\/27/ { for( n = 0 ; n < 2^(32-$5) ; n++ ) print( $1 "." $2 "." $3 "." $4+n ) } !/\/27/ { print( $0 ) }' \
| awk -F'[./]' '/\/26/ { for( n = 0 ; n < 2^(32-$5) ; n++ ) print( $1 "." $2 "." $3 "." $4+n ) } !/\/26/ { print( $0 ) }' \
| awk -F'[./]' '/\/25/ { for( n = 0 ; n < 2^(32-$5) ; n++ ) print( $1 "." $2 "." $3 "." $4+n ) } !/\/25/ { print( $0 ) }' \
| awk -F'[./]' '/\/24/ { for( n = 0 ; n < 2^(24-$5) ; n++ ) print( $1 "." $2 "." $3+n ".*" ) } !/\/24/ { print( $0 ) }' \
| awk -F'[./]' '/\/23/ { for( n = 0 ; n < 2^(24-$5) ; n++ ) print( $1 "." $2 "." $3+n ".*" ) } !/\/23/ { print( $0 ) }' \
| awk -F'[./]' '/\/22/ { for( n = 0 ; n < 2^(24-$5) ; n++ ) print( $1 "." $2 "." $3+n ".*" ) } !/\/22/ { print( $0 ) }' \
| awk -F'[./]' '/\/21/ { for( n = 0 ; n < 2^(24-$5) ; n++ ) print( $1 "." $2 "." $3+n ".*" ) } !/\/21/ { print( $0 ) }' \
| awk -F'[./]' '/\/20/ { for( n = 0 ; n < 2^(24-$5) ; n++ ) print( $1 "." $2 "." $3+n ".*" ) } !/\/20/ { print( $0 ) }' \
| awk -F'[./]' '/\/19/ { for( n = 0 ; n < 2^(24-$5) ; n++ ) print( $1 "." $2 "." $3+n ".*" ) } !/\/19/ { print( $0 ) }' \
| awk -F'[./]' '/\/18/ { for( n = 0 ; n < 2^(24-$5) ; n++ ) print( $1 "." $2 "." $3+n ".*" ) } !/\/18/ { print( $0 ) }' \
| awk -F'[./]' '/\/17/ { for( n = 0 ; n < 2^(24-$5) ; n++ ) print( $1 "." $2 "." $3+n ".*" ) } !/\/17/ { print( $0 ) }' \
| awk -F'[./]' '/\/16/ { for( n = 0 ; n < 2^(16-$5) ; n++ ) print( $1 "." $2+n ".*" ) } !/\/16/ { print( $0 ) }' \
| awk -F'[./]' '/\/15/ { for( n = 0 ; n < 2^(16-$5) ; n++ ) print( $1 "." $2+n ".*" ) } !/\/15/ { print( $0 ) }' \
| awk -F'[./]' '/\/14/ { for( n = 0 ; n < 2^(16-$5) ; n++ ) print( $1 "." $2+n ".*" ) } !/\/14/ { print( $0 ) }' \
| awk -F'[./]' '/\/13/ { for( n = 0 ; n < 2^(16-$5) ; n++ ) print( $1 "." $2+n ".*" ) } !/\/13/ { print( $0 ) }' \
| awk -F'[./]' '/\/12/ { for( n = 0 ; n < 2^(16-$5) ; n++ ) print( $1 "." $2+n ".*" ) } !/\/12/ { print( $0 ) }' \
| awk -F'[./]' '/\/11/ { for( n = 0 ; n < 2^(16-$5) ; n++ ) print( $1 "." $2+n ".*" ) } !/\/11/ { print( $0 ) }' \
| awk -F'[./]' '/\/10/ { for( n = 0 ; n < 2^(16-$5) ; n++ ) print( $1 "." $2+n ".*" ) } !/\/10/ { print( $0 ) }' \
| awk -F'[./]' '/\/9/ { for( n = 0 ; n < 2^(16-$5) ; n++ ) print( $1 "." $2+n ".*" ) } !/\/9/ { print( $0 ) }' \
| awk -F'[./]' '/\/8/ { for( n = 0 ; n < 2^(8-$5) ; n++ ) print( $1+n ".*" ) } !/\/8/ { print( $0 ) }' \
| awk -F'[./]' '/\/7/ { for( n = 0 ; n < 2^(8-$5) ; n++ ) print( $1+n ".*" ) } !/\/7/ { print( $0 ) }' \
| awk -F'[./]' '/\/6/ { for( n = 0 ; n < 2^(8-$5) ; n++ ) print( $1+n ".*" ) } !/\/6/ { print( $0 ) }' \
| awk -F'[./]' '/\/5/ { for( n = 0 ; n < 2^(8-$5) ; n++ ) print( $1+n ".*" ) } !/\/5/ { print( $0 ) }' \
| awk -F'[./]' '/\/4/ { for( n = 0 ; n < 2^(8-$5) ; n++ ) print( $1+n ".*" ) } !/\/4/ { print( $0 ) }' \
| awk -F'[./]' '/\/3/ { for( n = 0 ; n < 2^(8-$5) ; n++ ) print( $1+n ".*" ) } !/\/3/ { print( $0 ) }' \
| awk -F'[./]' '/\/2/ { for( n = 0 ; n < 2^(8-$5) ; n++ ) print( $1+n ".*" ) } !/\/2/ { print( $0 ) }' \
| awk -F'[./]' '/\/1/ { for( n = 0 ; n < 2^(8-$5) ; n++ ) print( $1+n ".*" ) } !/\/1/ { print( $0 ) }' \
> /usr/local/etc/blocked_ips_expanded.txt
rm /usr/local/etc/blocked_ips.txt
mv /usr/local/etc/blocked_ips_expanded.txt /usr/local/etc/blocked_ips.txt
# Sort the blocked IP address list and remove any double entries.
sort -u -o /usr/local/etc/blocked_ips.txt /usr/local/etc/blocked_ips.txt
# Set the blocked IP address list accessibility.
chmod 644 /usr/local/etc/blocked_ips.txt
# Display the number of blocked IP address ranges.
echo
echo "Number of blocked IP address ranges:\c"
wc -l /usr/local/etc/blocked_ips.txt
# Print a separator line.
echo
echo "================================================================================"