From: Matt Joiner Date: Tue, 4 Aug 2015 16:38:02 +0000 (+1000) Subject: cmd/dht-secure-id X-Git-Tag: v1.0.0~1080 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=4fb7d8f4d46f297170960d147be0dfbad6466990;p=btrtrc.git cmd/dht-secure-id --- diff --git a/cmd/dht-secure-id/main.go b/cmd/dht-secure-id/main.go new file mode 100644 index 00000000..cf6c3a08 --- /dev/null +++ b/cmd/dht-secure-id/main.go @@ -0,0 +1,34 @@ +package main + +import ( + "encoding/hex" + "fmt" + "net" + "os" + + "github.com/docopt/docopt-go" + + "github.com/anacrolix/torrent/dht" +) + +func main() { + args, _ := docopt.Parse(`dht-secure-id outputs the node ID secured with the IP. + +Usage: dht-secure-id `, nil, true, "", false) + id, err := hex.DecodeString(args[""].(string)) + if err != nil { + fmt.Fprintf(os.Stderr, "bad id: %s\n", err) + os.Exit(2) + } + if len(id) != 20 { + fmt.Fprintf(os.Stderr, "bad id: wrong length\n") + os.Exit(2) + } + ip := net.ParseIP(args[""].(string)) + if ip == nil { + fmt.Fprintf(os.Stderr, "bad ip\n") + os.Exit(2) + } + dht.SecureNodeId(id, ip) + fmt.Printf("%x\n", id) +}