cloudflare / odoh-client-go

Oblivious DoH client
MIT License
80 stars 19 forks source link

odoh-client-go

odoh-client is a command line interface as a client for making Oblivious DNS-over-HTTPS queries. The implementation is based on chris-wood/odoh-client.

It currently supports the following functionalities:

Usage

To build the executable, do:

go build -o odoh-client ./cmd/...

DoH query to target

./odoh-client doh --domain www.cloudflare.com. --target odoh.cloudflare-dns.com --dnstype AAAA

ODoH query to target

./odoh-client odoh --domain www.cloudflare.com. --dnstype AAAA --target odoh.cloudflare-dns.com

ODoH query to target via a proxy

./odoh-client odoh --domain www.cloudflare.com. --dnstype AAAA --target odoh.cloudflare-dns.com --proxy odoh1.surfdomeinen.nl

Fetch ODoH configuration

./odoh-client odohconfig-fetch --target odoh.cloudflare-dns.com --pretty

Note

This tool includes a sub command for benchmarking various protocols and has been used for performing measurements presented in this arxiv paper. There are also traces of telemetry which are used for the same purpose in an effort to reproduce the results of the paper.