doq-go

DoQ client library written in Golang

MIT License

Stars
4

doq-go

DNS over QUIC (=DoQ, as defined in RFC9250) client library written in Golang and built on top quic-go and dns libraries.

Usage in your project

add dependency

go get github.com/tantalor93/doq-go

Examples

// create client with default settings resolving via AdGuard DoQ Server
client := doq.NewClient("dns.adguard-dns.com:853")

// prepare payload
q := dns.Msg{}
q.SetQuestion("www.google.com.", dns.TypeA)

// send DNS query
r, err := client.Send(context.Background(), &q)
if err != nil {
    panic(err)
}
// do something with response
fmt.Println(dns.RcodeToString[r.Rcode])