From 45b9be52f250ca69b702dc27598006359f727280 Mon Sep 17 00:00:00 2001 From: vyzo Date: Mon, 12 Apr 2021 14:01:27 +0300 Subject: [PATCH] create custom resolvers from config --- core/node/dns.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/core/node/dns.go b/core/node/dns.go index 72c89903c426..75eaac0d65ed 100644 --- a/core/node/dns.go +++ b/core/node/dns.go @@ -2,10 +2,17 @@ package node import ( config "github.com/ipfs/go-ipfs-config" + doh "github.com/libp2p/go-doh-resolver" madns "github.com/multiformats/go-multiaddr-dns" ) func DNSResolver(cfg *config.Config) (*madns.Resolver, error) { - // TODO custom resolvers from config - return madns.DefaultResolver, nil + var opts []madns.Option + if cfg.DNS.DefaultResolver != "" { + opts = append(opts, madns.WithDefaultResolver(doh.NewResolver(cfg.DNS.DefaultResolver))) + } + for domain, url := range cfg.DNS.CustomResolvers { + opts = append(opts, madns.WithDomainResolver(domain, doh.NewResolver(url))) + } + return madns.NewResolver(opts...) }