====== E) Ads Blocking without opnSense ====== You have already installed the DNS service to manage your home network DNS (and DHCP), so you can easily use it to filter ads as well. First of all you need a good, comprehensive and up-to-date **block list**. I suggest you using the official [[https://oisdl.nl|OISD]] blocklist, but there are tons out there for you to pick and choose. Just check out that your preferred supplier use the format you need (Unbound or DNSMasq). ==== Ad Blocking with Unbound ==== Download the block list for the first time by hand: wget 'https://big.oisd.nl/unbound' -O /etc/unbound/adservers.conf Just add a cron task to daily update your blocklist. Add the following line: 0 0 * * * wget 'https://big.oisd.nl/unbound' -O /etc/unbound/adservers.conf to root's crontab: crontab -e To add this block list to Unbound, you need a row in the unbound configuration file like: include: /etc/unbound/adservers.conf as i have already shown you in the [[networking:basic:dns|Unbound]] setup page, and you are all set. ==== Ad Blocking with DNSMasq ==== DNSMasq support two different ways to add blocklist. One is via custon **hosts** files, the other is via custom **configuration** files. OISD blocklists are in //configuration// files format. To use **hosts** format, just download your file and put it somewhere (i will assume **/etc/adblock.hosts**) and add the following line to your **/etc/dnsmasq.conf**: addn-hosts=/etc/adblock.hosts and reload dnsmasq. To use **configuration** format, create a folder called **/etc/dnsmaq.d** put your file inside and add the following to your **/etc/dnsmasq.conf**: conf-dir=/etc/dnsmasq.d,*.conf this will load any file with **.conf** extension in that folder. Now you need to download the OISD blocklist in that folder. mkdir /etc/dnsmasq.d wget 'https://big.oisd.nl/dnsmasq2' -O /etc/dnsmasq.d/oisd.conf /etc/init.d/dnsmasq reload This will work in addition to the AdGuard DNS you have already setup, but this will prevent any query going out to AdGuard for those domain. This is even more efficient. For automatic updates, just add a cron task to daily update your blocklist. Add the following line: 0 0 * * * wget 'https://big.oisd.nl/dnsmasq2' -O /etc/dnsmasq.d/oisd.conf to root's crontab: crontab -e and you are all set.