Need help with tinydoh?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

128 Stars 6 Forks Mozilla Public License 2.0 15 Commits 3 Opened issues


Minimal DNS-Over-HTTPS Server

Services available


Need anything else?

Contributors list

# 10,987
13 commits
# 12,536
2 commits

Minimal DNS-Over-HTTPS Server

Stefan Arentz, April 2018

This is a tiny and minimal implementation of draft-ietf-doh-dns-over-https.

By default it forwards incoming DNS requests to
. This means you need to have a DNS server running on the machine where you run this service. Personally I like
apt-get install pdns-recursor
. You can also use the
argument to use a different dns server and for example use the brand new CloudFare/APNIC global DNS service with

To use this in Firefox, you will have to deploy this to a HTTPS server. I use Caddy, with a config like this: {
    root /var/www
    tls [email protected]

proxy /dns-query {


I then run the server in a tmux session simply with

go run main.go -verbose
. This is obviously not production ready, it is an experiment / exploration.

To get this going in Firefox, you need the following:

  • Firefox Nightly (Or possibly Firefox 60 Beta or later, not sure)
  • Set
    to your
  • Set
    to something higher than 1 (See TRR Preferences)

I had to restart Firefox before it picked up these settings. You should see something like this appear:

2018/03/31 13:47:31 POST Request for  (592.183µs)
2018/03/31 13:47:31 POST Request for  (2.513745ms)
2018/03/31 13:47:31 POST Request for  (812.055µs)
2018/03/31 13:47:31 POST Request for  (787.912µs)
2018/03/31 13:47:48 POST Request for  (206.335515ms)
2018/03/31 13:47:49 POST Request for  (237.966346ms)


We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.