cmd/dht-secure-id/main.go | 34 ++++++++++++++++++++++++++++++++++ diff --git a/cmd/dht-secure-id/main.go b/cmd/dht-secure-id/main.go new file mode 100644 index 0000000000000000000000000000000000000000..cf6c3a0851039c6f2bcd766e27c01d15f1663031 --- /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) +}