Feature: process condition for rules

This commit is contained in:
yaling888
2022-02-23 14:01:53 +08:00
parent d876d6e74c
commit 2f234cf6bc
6 changed files with 55 additions and 12 deletions

View File

@ -24,9 +24,14 @@ func (g *GEOIP) Match(metadata *C.Metadata) bool {
return false
}
if strings.EqualFold(g.country, "LAN") || C.TunBroadcastAddr.Equal(ip) {
return ip.IsPrivate()
if strings.EqualFold(g.country, "LAN") {
return ip.IsPrivate() ||
ip.IsUnspecified() ||
ip.IsLoopback() ||
ip.IsMulticast() ||
C.TunBroadcastAddr.Equal(ip)
}
record, _ := mmdb.Instance().Country(ip)
return strings.EqualFold(record.Country.IsoCode, g.country)
}