Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/st3fan/tinydoh
Minimal DNS-Over-HTTPS Server
https://github.com/st3fan/tinydoh
Last synced: 3 months ago
JSON representation
Minimal DNS-Over-HTTPS Server
- Host: GitHub
- URL: https://github.com/st3fan/tinydoh
- Owner: st3fan
- License: mpl-2.0
- Created: 2018-03-31T01:46:15.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-04-02T16:45:37.000Z (over 6 years ago)
- Last Synced: 2024-06-20T15:56:41.767Z (5 months ago)
- Language: Go
- Size: 20.5 KB
- Stars: 131
- Watchers: 8
- Forks: 6
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-repositories - st3fan/tinydoh - Minimal DNS-Over-HTTPS Server (Go)
README
# Minimal DNS-Over-HTTPS Server
*Stefan Arentz, April 2018*
This is a tiny and minimal implementation of [draft-ietf-doh-dns-over-https](https://datatracker.ietf.org/doc/draft-ietf-doh-dns-over-https).
By default it forwards incoming DNS requests to `127.0.0.1:53`. 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 `-upstream` argument to use a different dns server and for example use the brand new [CloudFare/APNIC global DNS service](https://1.1.1.1) with `-upstream 1.1.1.1:53`.
To use this in Firefox, you will have to deploy this to a HTTPS server. I use Caddy, with a config like this:```
my.server.com {
root /var/www
gzip
tls [email protected]proxy /dns-query 127.0.0.1:9091 {
transparent
}
}
```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 `network.trr.url` to your `https://my.server.com/dns-query`
* Set `network.trr.mode` to something higher than 1 (See [TRR Preferences](https://gist.github.com/bagder/5e29101079e9ac78920ba2fc718aceec))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)
```Enjoy.