another attempt at speeding this thing up.
This commit is contained in:
@ -38,24 +38,28 @@ func cleanBadDomains(domains []string) []string {
|
||||
// remove allow-listed matches
|
||||
total = len(domains)
|
||||
|
||||
for i, allowedItem := range config.Config.AllowLists {
|
||||
log.Printf("[DEBUG] Processing %d of %d\n", i+1, len(config.Config.AllowLists))
|
||||
// filter out bad regex
|
||||
goodAllowedItemList := []string{}
|
||||
for _, allowedItem := range config.Config.AllowLists {
|
||||
_, err := regexp.Compile(allowedItem)
|
||||
if err != nil {
|
||||
log.Printf("[ERROR] Allow list item (%s) is not valid regex: %v\n", allowedItem, err)
|
||||
break
|
||||
}
|
||||
goodAllowedItemList = append(goodAllowedItemList, allowedItem)
|
||||
}
|
||||
|
||||
list = []string{}
|
||||
for _, v := range domains {
|
||||
r, err := regexp.Compile(allowedItem)
|
||||
if err != nil {
|
||||
log.Printf("[ERROR] Allow list item (%s) is not valid regex: %v\n", allowedItem, err)
|
||||
break
|
||||
}
|
||||
if r.MatchString(v) {
|
||||
list = []string{}
|
||||
for _, v := range domains {
|
||||
for _, allowedItem := range goodAllowedItemList {
|
||||
if regexp.MustCompile(allowedItem).MatchString(v) {
|
||||
log.Printf("[DEBUG] Removing allowed matching item: %s\n", v)
|
||||
} else {
|
||||
list = append(list, v)
|
||||
}
|
||||
}
|
||||
domains = list
|
||||
}
|
||||
domains = list
|
||||
log.Printf("[INFO] Allowed hosts removed: %d\n", total-len(domains))
|
||||
|
||||
log.Printf("[INFO] Total domains in list at end: %d.\n", len(domains))
|
||||
|
Reference in New Issue
Block a user