cmd/cli: add nextdns mode

Adding --nextdns flag to "ctrld start" command for generating ctrld
config with nextdns resolver id, then use nextdns as an upstream.
This commit is contained in:
Cuong Manh Le
2023-10-13 23:39:37 +07:00
committed by Cuong Manh Le
parent ebd516855b
commit 6aafe445f5
5 changed files with 136 additions and 22 deletions
+31
View File
@@ -0,0 +1,31 @@
package cli
import (
"fmt"
"github.com/Control-D-Inc/ctrld"
)
const nextdnsURL = "https://dns.nextdns.io"
func generateNextDNSConfig() {
if nextdns == "" {
return
}
mainLog.Load().Info().Msg("generating ctrld config for NextDNS resolver")
cfg = ctrld.Config{
Listener: map[string]*ctrld.ListenerConfig{
"0": {
IP: "0.0.0.0",
Port: 53,
},
},
Upstream: map[string]*ctrld.UpstreamConfig{
"0": {
Type: ctrld.ResolverTypeDOH3,
Endpoint: fmt.Sprintf("%s/%s", nextdnsURL, nextdns),
Timeout: 5000,
},
},
}
}