iplist/cmd/iplist/main.go | 32 ++++++++++++++++++++++++++++++++ diff --git a/iplist/cmd/iplist/main.go b/iplist/cmd/iplist/main.go new file mode 100644 index 0000000000000000000000000000000000000000..b46ce215e7d71c0282385e1351052721d503836e --- /dev/null +++ b/iplist/cmd/iplist/main.go @@ -0,0 +1,32 @@ +package main + +import ( + "fmt" + "log" + "net" + "os" + + "github.com/anacrolix/tagflag" + "github.com/anacrolix/torrent/iplist" +) + +func main() { + var flags = struct { + tagflag.StartPos + Ips []net.IP + }{} + tagflag.Parse(&flags) + il, err := iplist.NewFromReader(os.Stdin) + if err != nil { + log.Fatalf("error loading ip list: %s", err) + } + log.Printf("loaded %d ranges", il.NumRanges()) + for _, ip := range flags.Ips { + r, ok := il.Lookup(ip) + if ok { + fmt.Printf("%s is in %v\n", ip, r) + } else { + fmt.Printf("%s not found\n", ip) + } + } +}