cidr rule use ip of domain name.

This commit is contained in:
leicheng 2018-07-06 16:08:14 +08:00
parent 621e8ed018
commit 0941d8bbb8

13
rule.go
View File

@ -70,7 +70,18 @@ func (rd *RuleDialer) NextDialer(dstAddr string) proxy.Dialer {
}
// find ip
if ip := net.ParseIP(host); ip != nil {
ip := net.ParseIP(host)
if ip == nil {
ns, err := net.LookupHost(host)
if err == nil {
if (len(ns) > 0) {
ip = net.ParseIP(ns[0])
}
} else {
log.F("[rule] Invalid host: %s", host)
}
}
if ip != nil {
// check ip
if dialer, ok := rd.ipMap.Load(ip.String()); ok {
return dialer.(proxy.Dialer)