Personal DNS container replacing provider / public DNS servers with included Ad- and Tracker blocking
Find a file
Knut Ahlers 025e2e5c2b
Force proxy bypass and install of latest
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2022-05-27 16:06:50 +02:00
.gitignore Replace Coredns magic with bind response-policy 2019-08-25 16:40:40 +02:00
blacklist-config.yaml Remove dead lists 2021-04-10 22:32:35 +02:00
blacklist.local Break Facebook graph API 2019-09-26 13:22:18 +02:00
build.sh Switch to Github API for release query 2020-12-17 11:51:26 +01:00
docker-entrypoint.sh Add metrics 2020-01-25 20:18:05 +01:00
Dockerfile Ensure readonly-modules when installing tools 2020-04-18 13:26:19 +02:00
gotools.sh Force proxy bypass and install of latest 2022-05-27 16:06:50 +02:00
LICENSE Create LICENSE 2018-05-09 23:12:20 +02:00
Makefile Move from shell-script to named-blacklist 2019-08-25 21:27:02 +02:00
named.conf Enable querylog 2019-09-03 10:32:17 +02:00
README.md Unify info entry, make blacklist-file diffable 2020-02-15 14:32:46 +01:00
whitelist.local Upstream ticket was resolved, remove whitelist entry 2020-02-15 14:27:19 +01:00

Luzifer / personal-dns

personal-dns is a Bind9 DNS server in a container.

The purpose is to be fully independent from provider and third-party DNS servers and have a neat list of additional features:

  • No DNS query is sent to your providers DNS servers
  • You decide which domains are available to you, no third party company
  • On every build a current list of IANA and OpenNIC registered TLDs is loaded together with their authorative nameservers
  • The container includes a blacklist generated from the blacklist-config.yaml using named-blacklist blocking quite a lot of crap

As soon as you build and roll this DNS container and set your system to use it you should notice a lot of ad- and tracking requests to be gone even for example on your Android device where adblockers does not work that well. Also all connected devices can access any domain registered within the OpenNIC TLDs.

Usage

Build and run the container

This is quite easy:

$ docker build -t personal-dns .
$ docker run --rm -ti -p 53:53 -p 53:53/udp personal-dns
$ dig +short @<ip of your container> TXT info.pdns.luzifer.io
"Entries: 128676"
"Build: 689a5e8 @ 2020-02-15 13:24:32 +00:00"

Connect your computer to the container

  • On Mac OS go into the System Preferences, Network, edit your LAN / WiFi connection, enter the IP your container is reachable into DNS settings
  • On Android I'm using the DNS Changer App
  • On Android 8+ there is a neat option called "Private DNS" in your "Wi-Fi & Internet" settings