Welcome to DoTH-DNS’s documentation!¶
Your server doth DNS the safe way if you use DoTH-DNS.
Utilizes the power of the DNS sinkhole pi-hole and unbound to create a DNS server under your own authority but with the ability to connect via Do53 (default, unencrypted), DoH (DNS over HTTPS) and DoT (DNS over TLS).
Warning
This project was created for use in a local network. If you want to use it on a VPS or in an cloud environment be sure to properly secure your environment and know what you do.
Description¶
This project’s goal is setup a recursive DNS server inside docker with the option to also connect via DoH or DoT. Therefor pi-hole, unbound, traefik and a DoH-server are utilized.
You may ask ‘Why use DoH or DoT for an local DNS server?’. Good question! I set this up because firefox needs you to use DoH if you want to use ESNI. The DoT support was just some lines of code more so I did it also.
You could also run the stack in a cloud (not tested) and connect there via DoH/DoT.
Query forwarding:
Do53 query: port 53 -> pihole -> unbound
DoT query: port 853 -> traefik -> pihole -> unbound
DoH query: port 443 -> traefik -> DoH-server -> pihole -> unbound
Project name origin¶
Firstly the name DoTH-DNS
is a word construct resulting from the ability to
use DoT and DoH for DNS queries.
Secondly doth is an archaic word for third person singular present tense of do, which matches the name perfectly well, because it does DNS (see slogan at top).
Acknowledgements¶
Thanks to the creators, maintainers and developers of the software used in this project.
Special thanks to:
the dns-over-https project and its docker version as a base for my Dockerfile.
the docker-pihole-unbound project for the inspiration.
this blog post and this blog post being the first foundation of this project.
- Get Help
- DoTH-DNS Change Log
- Release 7.0.1
- Release 7.0.0
- Release 6.0.3
- Release 6.0.2
- Release 6.0.1
- Release 6.0.0
- Release 5.4.0
- Release 5.3.0
- Release 5.2.1
- Release 5.2.0
- Release 5.1.0
- Release 5.0.2
- Release 5.0.1
- Release 5.0.0
- Release 4.0.0
- Release 3.0.2
- Release 3.0.1
- Release 3.0.0
- Release 2.6.1
- Release 2.6.0
- Release 2.5.0
- Release 2.4.0
- Release 2.3.0
- Release 2.2.0
- Release 2.1.0
- Release 2.0.2
- Release 2.0.1
- Release 2.0.0
- Release 1.1.0
- Release 1.0.0
- License