dnscontrol/providers/doh/api.go

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

37 lines
721 B
Go
Raw Normal View History

package doh
import (
"fmt"
"sort"
"github.com/babolivier/go-doh-client"
)
type dohProvider struct {
host string
}
func (c *dohProvider) getNameservers(domain string) ([]string, error) {
resolver := doh.Resolver{
Host: c.host,
Class: doh.IN,
}
// Perform a NS lookup
nss, _, err := resolver.LookupNS(domain)
if err != nil {
2025-01-10 23:43:16 +08:00
return nil, fmt.Errorf("failed fetching nameservers list (DNS-over-HTTPS): %w", err)
}
ns := []string{}
for _, res := range nss {
ns = append(ns, res.Host)
}
sort.Strings(ns)
return ns, nil
}
2024-03-04 23:25:55 +08:00
func (c *dohProvider) updateNameservers(domain string) error {
return fmt.Errorf("DNS-over-HTTPS 'Registrar' is read only, changes must be applied to %s manually", domain)
}