优化域名检测
This commit is contained in:
@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user