]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Add iplist/cmd/iplist
authorMatt Joiner <anacrolix@gmail.com>
Sun, 22 Jul 2018 09:51:30 +0000 (19:51 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Sun, 22 Jul 2018 09:51:30 +0000 (19:51 +1000)
iplist/cmd/iplist/main.go [new file with mode: 0644]

diff --git a/iplist/cmd/iplist/main.go b/iplist/cmd/iplist/main.go
new file mode 100644 (file)
index 0000000..b46ce21
--- /dev/null
@@ -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)
+               }
+       }
+}