Adblock feature für freetz ?

feedzapper

Neuer User
Mitglied seit
28 Jan 2008
Beiträge
110
Punkte für Reaktionen
13
Punkte
18
Der README.MD unter :

https://github.com/notracking/hosts-blocklists

macht ja zu der Verwendung beider Files eindeutige Aussagen.

Zitat:
The optimizer makes full use of dnsmasqs capability to block entire domains such as *.doubleclick.net (domains.txt). This reduces the chance of missing any new subdomains and significantly reduces the size of the blocklists. Hostnames that cannot be blocked on a domain level will still be listed in a regular hostname based blocklist (hostnames.txt).

It's important to use both domains.txt and hostnames.txt simultaniously in dnsmasq to get full coverage!


Insofern glaube ich, dass die Range der geblockten Sites bei der Verwendung von nur einem File (hostnames.txt) doch mehr als
gering ist.
Zum Tunen der DNS Anfragen kann man auch noch die cache-size von dnsmasq erhöhen. Sie liegt
default bei 150 Einträgen die im cache gehalten werden.
Tomato verwendet 4096 Einträge als cache-size.
Ich habe es bei mir nun auch mal auf 4096 erhöht. Man sollte bei solchen Änderungen aber immer den
Speicher der FritzBox im Auge behalten.
dnsmasq -> Extra würde dann im Freetz-WebIF so aussehen :
Code:
conf-file=/var/media/ftp/Dokumente/domains.txt
addn-hosts=/var/media/ftp/Dokumente/hostnames.txt
cache-size=4096
Eine weitere Ergänzung hier mit dem Eintrag log-queris aktiviert noch das logging der DNS Anfragen im Syslog.
Geblockte Seiten erscheinen dann im Syslog so :
Code:
Mar 22 20:18:46 fritz daemon.info dnsmasq[19726]: query[A] fls-eu.amazon.de from 192.168.178.2
Mar 22 20:18:46 fritz daemon.info dnsmasq[19726]: /var/media/ftp/Dokumente/hostnames.txt fls-eu.amazon.de is 0.0.0.0
Mar 22 20:18:46 fritz daemon.info dnsmasq[19726]: query[A] fls-eu.amazon.de from 192.168.178.2
Mar 22 20:18:46 fritz daemon.info dnsmasq[19726]: /var/media/ftp/Dokumente/hostnames.txt fls-eu.amazon.de is 0.0.0.0
Mar 22 20:18:46 fritz daemon.info dnsmasq[19726]: query[A] aax-eu.amazon-adsystem.com from 192.168.178.2
Mar 22 20:18:47 fritz daemon.info dnsmasq[19726]: config aax-eu.amazon-adsystem.com is 0.0.0.0
Mar 22 20:18:47 fritz daemon.info dnsmasq[19726]: query[A] fls-eu.amazon.de from 192.168.178.2
Mar 22 20:18:47 fritz daemon.info dnsmasq[19726]: /var/media/ftp/Dokumente/hostnames.txt fls-eu.amazon.de is 0.0.0.0
Mar 22 20:18:50 fritz daemon.info dnsmasq[19726]: query[A] fls-eu.amazon.de from 192.168.178.2
Mar 22 20:18:50 fritz daemon.info dnsmasq[19726]: /var/media/ftp/Dokumente/hostnames.txt fls-eu.amazon.de is 0.0.0.0
Mar 22 20:18:51 fritz daemon.info dnsmasq[19726]: query[A] fls-eu.amazon.de from 192.168.178.2
Mar 22 20:18:51 fritz daemon.info dnsmasq[19726]: /var/media/ftp/Dokumente/hostnames.txt fls-eu.amazon.de is 0.0.0.0
Mar 22 20:18:54 fritz daemon.info dnsmasq[19726]: query[A] fls-eu.amazon.de from 192.168.178.2
Mar 22 20:18:54 fritz daemon.info dnsmasq[19726]: /var/media/ftp/Dokumente/hostnames.txt fls-eu.amazon.de is 0.0.0.0
Mar 22 20:18:55 fritz daemon.info dnsmasq[19726]: query[A] sstats.adobe.com from 192.168.178.2
Mar 22 20:18:55 fritz daemon.info dnsmasq[19726]: /var/media/ftp/Dokumente/hostnames.txt sstats.adobe.com is 0.0.0.0
 
Zuletzt bearbeitet:

feedzapper

Neuer User
Mitglied seit
28 Jan 2008
Beiträge
110
Punkte für Reaktionen
13
Punkte
18
Zum Thema "Whitelist" (Domains die nicht geblockt werden sollen) möchte ich beispielhaft noch folgenden Link Posten :

https://www.linksysinfo.org/index.php?threads/tips-blocking-ads-and-tracker-using-hosts-adblock-with-combination-of-domains.74338/

Diese herangehensweise an eine whitelist lässt sich leicht auch auf der Fritzbox umsetzen.
Ich möchte bei mir z.b. "geoip.hidemyass.com" weiter nutzen können . Die Domain "hidemyass.com" steht aber leider im File
"domains.txt"
Die Lösung dafür sieht bei mir folgendermaßen aus :

crontab :
Code:
10 3 * * */2 wget -q --no-check-certificate https://raw.github.com/notracking/hosts-blocklists/master/hostnames.txt -O /var/media/ftp/Dokumente/hostnames.txt && wget -q --no-check-certificate https://raw.github.com/notracking/hosts-blocklists/master/domains.txt -O /var/media/ftp/Dokumente/domains.txt
12 3 * * */2 fgrep -ve hidemyass.com /var/media/ftp/Dokumente/domains.txt > /var/media/ftp/Dokumente/domain_new.txt
15 3 * * */2 sh -x /etc/init.d/rc.dnsmasq restart
Für all diejenigen die sich mit der richtigen Zeiteinstellung im crontab schwer tun und diese Site eventuell noch nicht kennen :

https://crontab.guru/

Beispiele :
https://crontab.guru/examples.html

dnsmasq -> extra (entsprechend abgeändert)
Code:
conf-file=/var/media/ftp/Dokumente/domain_new.txt
addn-hosts=/var/media/ftp/Dokumente/hostnames.txt
cache-size=4096
voila ! und geoip.hidemyass.com läuft wieder !
 
Zuletzt bearbeitet:

feedzapper

Neuer User
Mitglied seit
28 Jan 2008
Beiträge
110
Punkte für Reaktionen
13
Punkte
18
Ich habe dies nun auch mal mit einem whitelist.txt probiert.
Dieser enthält nur den Eintrag "hidemyass.com" (Editiert mit NANO)
Leider funktioniert dies nicht mit "fgrep" bei mir. Es wird immer nur ein 0 Byte langer File generiert ...
Code:
fgrep -vf /var/media/ftp/Dokumente/whitelist.txt /var/media/ftp/Dokumente/domains.txt > /var/media/ftp/Dokumente/domain_new.txt
Hat jemand eine Idee warum nicht ?
 

feedzapper

Neuer User
Mitglied seit
28 Jan 2008
Beiträge
110
Punkte für Reaktionen
13
Punkte
18
Nach langem testen habe ich nun die Lösung gefunden. Der patternfile (whitelist.txt) muss einen bestimmten Aufbau haben.
Das mit dem 0x0a Linefeed am Ende jedes Suchmuster Eintrages im patternfile ist soweit korrekt.
Man kann den File auch ganz normal z.b. mit NANO editieren :

domain1.com
domain2.com
domain3.com
e.t.c

Wichtig ist allerdings :
Der letzte EIntrag (domain3.com) im patternfile darf nicht mit ENTER im Texteditor abgeschlossen werden.
Nach dem Speichern steht sonst zweimal 0x0a 0x0a am ende des Files !
Das war die ganze Ursache warum der whitelist.txt nicht richtig gelesen wurde ...
 
Zuletzt bearbeitet:

feedzapper

Neuer User
Mitglied seit
28 Jan 2008
Beiträge
110
Punkte für Reaktionen
13
Punkte
18
@feedzapper :

Anstatt dnsmasq eu zu starten ist das senden von 'SIGHUP' mittels 'killall -HUP dnsmasq'.
Damit erreicht man das dnsmasq seinen Cache leert, die Hosts neu laedt und das No-Timecheck-Flag zuruecksetzt. Dies ist fuer die Leute mit DNSSEQ (welche mit der Option --dnssec-no-timecheck verwenden) wichtig.
Die Sache mit DNSSEC habe ich nun mal ausprobiert. Ok, das der Cache nach einem "restart" geleert wird ist nun nicht zu verhindern.
Wie ich aus der DNSMASQ Doku entnehme, muss nun in den neuen dnsmasq Versionen SIGINT "killall -INT dnsmasq" gesendet werden um dnsmasq zu sagen das die Uhr gestellt ist und dnssec timecheck aktiviert werden soll.
Da aber nun niemand bei einem Router Neustart genau weiß wann die Uhr denn nun richtig läuft, ist das immer so eine Sache.
Ich benutze daher die alternative Methode mit dnssec-timestamp=
Hierbei wird eine leere Datei mit Zeitstempel an einem Ort erzeugt (NAS) die auch einen Neustart der Box überlebt.
Nach einem Neustart der Box wird der Zeitstempel wiederum abgefragt. Sobald dieser älter ist (will heißen die Uhr wurde gestellt) wird Timecheck in dnsmasq für dnssec automatisch aktiviert.
Da mir die ganze config in Freetz zu unübersichtlich war, benutze ich nun eine eigene dnsmasq.conf, die man komplett in
DNSMASQ->EXTRA kopieren kann.

Dazu sind aber die Hinweise von hier zu beachten :
https://freetz.github.io/wiki/packages/dnsmasq.html#KompletteigeneKonfiguration

Verwendete freie unzensierte DNS Server incl. DNSSEC Support: DNSWATCH / CCC + Cloudflare (kommerziell als Backup)
CCC + Cloudflare wird nur verwendet, wenn DNSWATCH nicht funktioniert -> strict-order

Meine dnsmasq.conf :

Code:
domain-needed
log-async=20
no-resolv
server=1.1.1.1
server=194.150.168.168
server=84.200.70.40
bogus-priv
dhcp-range=192.168.178.10,192.168.178.20,12h
domain=fritz.box
expand-hosts
read-ethers
cache-size=8192
strict-order
conf-file=/mod/etc/default.dnsmasq/trust-anchors.conf
dnssec
conf-file=/var/media/ftp/Dokumente/domain_new.txt
addn-hosts=/var/media/ftp/Dokumente/hostnames.txt
# Nicht erforderlich wenn dnssec-timestamp benutzt wird
# dnssec-no-timecheck
dnssec-timestamp=/var/media/ftp/Dokumente/mtime
user=root
Wenn dann alles soweit läuft sieht der SYSLOG nach einem reboot dann ungefähr so aus :

Code:
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: started, version 2.80 cachesize 8192
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth DNSSEC loop-detect no-inotify dumpfile
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: DNSSEC validation enabled
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: DNSSEC signature timestamps not checked until system time valid
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: configured with trust anchor for <root> keytag 20326
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: configured with trust anchor for <root> keytag 19036
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: asynchronous logging enabled, queue limit is 20 messages
Jan  1 01:00:36 fritz daemon.info dnsmasq-dhcp[1996]: DHCP, IP range 192.168.178.10 -- 192.168.178.20, lease time 12h
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: using nameserver 84.200.70.40#53
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: using nameserver 194.150.168.168#53
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: using nameserver 1.1.1.1#53
Jan  1 01:00:36 fritz daemon.info dnsmasq[1996]: read /etc/hosts - 2 addresses
Jan  1 01:00:39 fritz daemon.info dnsmasq[1996]: read /var/media/ftp/Dokumente/hostnames.txt - 74414 addresses
Jan  1 01:00:39 fritz daemon.info dnsmasq-dhcp[1996]: read /etc/ethers - 0 addresses
Apr 22 12:36:51 fritz daemon.warn dnsmasq[1996]: reducing DNS packet size for nameserver 194.150.168.168 to 1280
Apr 22 12:36:52 fritz user.err telefon[2259]: set initial telefon time from linux time to 12:36:52 22.04 2019!
Apr 22 12:36:52 fritz daemon.info dnsmasq[1996]: system time considered valid, now checking DNSSEC signature timestamps.
Apr 22 12:36:52 fritz daemon.info dnsmasq[1996]: read /etc/hosts - 2 addresses
Apr 22 12:36:55 fritz daemon.info dnsmasq[1996]: read /var/media/ftp/Dokumente/hostnames.txt - 74414 addresses
Apr 22 12:36:55 fritz daemon.info dnsmasq-dhcp[1996]: read /etc/ethers - 0 addresses
 
Zuletzt bearbeitet:
3CX

Neueste Beiträge

Statistik des Forums

Themen
234,939
Beiträge
2,053,551
Mitglieder
355,275
Neuestes Mitglied
odoakar