coredns-override/setup.go

41 lines
688 B
Go
Raw Normal View History

2022-03-31 19:46:56 +00:00
package overide
import (
"net"
"github.com/coredns/caddy"
"github.com/coredns/coredns/core/dnsserver"
"github.com/coredns/coredns/plugin"
)
func init() {
plugin.Register("override", setup)
}
func setup(c *caddy.Controller) error {
c.Next()
rules, err := parseRules(c)
if err != nil {
return plugin.Error("override", err)
}
dnsserver.GetConfig(c).AddPlugin(func(next plugin.Handler) plugin.Handler {
return Override{Next: next, Rules: rules}
})
return nil
}
func parseRules(c *caddy.Controller) ([]Rule, error) {
var rules []Rule
rules = append(rules, Rule{
Search: net.ParseIP("45.9.63.244"),
Override: net.ParseIP("10.0.0.1"),
})
return rules, nil
}