switch to advanced domain.json
This commit is contained in:
parent
1c848e6007
commit
a76b11b2b2
6 changed files with 280 additions and 161 deletions
|
@ -4,13 +4,13 @@ import (
|
|||
_ "embed"
|
||||
"encoding/json"
|
||||
"log"
|
||||
"sort"
|
||||
"slices"
|
||||
)
|
||||
|
||||
//go:embed domain.json
|
||||
var domainsFiles []byte
|
||||
|
||||
var Domains []string
|
||||
var Domains map[string][]string
|
||||
|
||||
func init() {
|
||||
err := json.Unmarshal(domainsFiles, &Domains)
|
||||
|
@ -19,22 +19,12 @@ func init() {
|
|||
}
|
||||
}
|
||||
|
||||
func AddDomain(domain string) {
|
||||
domains := append(Domains, domain)
|
||||
sort.SliceStable(domains, func(i, j int) bool {
|
||||
return domains[i] < domains[j]
|
||||
})
|
||||
Domains = removeDuplicate(domains)
|
||||
}
|
||||
|
||||
func removeDuplicate[T string](sliceList []T) []T {
|
||||
allKeys := make(map[T]bool)
|
||||
var list []T
|
||||
for _, item := range sliceList {
|
||||
if _, value := allKeys[item]; !value {
|
||||
allKeys[item] = true
|
||||
list = append(list, item)
|
||||
func AddDomain(domain, tld string) {
|
||||
if _, ok := Domains[domain]; ok {
|
||||
if !slices.Contains(Domains[domain], tld) {
|
||||
Domains[domain] = append(Domains[domain], tld)
|
||||
}
|
||||
} else {
|
||||
Domains[domain] = []string{tld}
|
||||
}
|
||||
return list
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue