Compare commits
2 Commits
c11523c0d5
...
9bb840d611
Author | SHA1 | Date | |
---|---|---|---|
9bb840d611 | |||
96191cac83 |
6
main.go
6
main.go
@ -28,7 +28,6 @@ func main() {
|
||||
}
|
||||
blockListName := os.Args[1]
|
||||
jsonListFile := os.Args[2]
|
||||
fmt.Printf("generating blocklist %s\n", blockListName)
|
||||
|
||||
// Load blocklist config file
|
||||
countries, err := readJsonListFile(jsonListFile)
|
||||
@ -38,6 +37,7 @@ func main() {
|
||||
|
||||
// Download up to date geoip CIDR data
|
||||
for i := range countries {
|
||||
fmt.Println("downloading cidr list for country: ", countries[i].Name)
|
||||
countries[i].v4Addresses, err = downloadAddressList(countries[i].Url)
|
||||
if err != nil {
|
||||
log.Fatalf("failed to download address list for county'%s': %v", countries[i].Name, err)
|
||||
@ -45,10 +45,12 @@ func main() {
|
||||
}
|
||||
|
||||
// Generate mikrotik block list
|
||||
fmt.Printf("generating blocklist %s.rsc\n", blockListName)
|
||||
err = generateOutput(countries, blockListName)
|
||||
if err != nil {
|
||||
log.Fatalf("failed to generate output file: %v", err)
|
||||
}
|
||||
fmt.Printf("\n\nCopy the file the router, then import the address list\n\n\t/import %s.rsc\n", blockListName)
|
||||
}
|
||||
|
||||
func generateOutput(countries []Country, blockListName string) error {
|
||||
@ -81,7 +83,7 @@ func downloadAddressList(url string) ([]string, error) {
|
||||
line := scanner.Text()
|
||||
_, ipnet, err := net.ParseCIDR(line)
|
||||
if err != nil {
|
||||
log.Printf("skippine line: failed to parse line '%s' to cidr: %v", line, err)
|
||||
log.Printf("skipping line: failed to parse line '%s' to cidr: %v", line, err)
|
||||
continue
|
||||
}
|
||||
v4Addresses = append(v4Addresses, ipnet.String())
|
||||
|
Loading…
x
Reference in New Issue
Block a user