优化域名检测

This commit is contained in:
arraykeys@gmail.com
2018-09-14 11:56:11 +08:00
parent 1e259b5c6f
commit 0fffedebd7

View File

@ -176,17 +176,9 @@ func (c *Checker) domainIsInMap(address string, blockedMap bool) bool {
} }
domainSlice := strings.Split(u.Hostname(), ".") domainSlice := strings.Split(u.Hostname(), ".")
if len(domainSlice) > 1 { if len(domainSlice) > 1 {
subSlice := domainSlice[:len(domainSlice)-1] checkDomain := ""
topDomain := domainSlice[len(domainSlice)-1:][0] for i := len(domainSlice) - 1; i >= 0; i-- {
checkDomain := topDomain checkDomain = strings.Join(domainSlice[i:], ".")
if !blockedMap && c.directMap.Has(checkDomain) {
return true
}
if blockedMap && c.blockedMap.Has(checkDomain) {
return true
}
for i := len(subSlice) - 1; i >= 0; i-- {
checkDomain = subSlice[i] + "." + checkDomain
if !blockedMap && c.directMap.Has(checkDomain) { if !blockedMap && c.directMap.Has(checkDomain) {
return true return true
} }