--- /dev/null
+package main
+
+import (
+ "bitbucket.org/anacrolix/go.torrent"
+ "bitbucket.org/anacrolix/go.torrent/tracker"
+ _ "bitbucket.org/anacrolix/go.torrent/tracker/udp"
+ "flag"
+ metainfo "github.com/nsf/libtorgo/torrent"
+ "log"
+ "os"
+)
+
+func main() {
+ flag.Parse()
+ mi, err := metainfo.Load(os.Stdin)
+ if err != nil {
+ log.Fatal(err)
+ }
+ for _, tier := range mi.AnnounceList {
+ for _, url := range tier {
+ tr, err := tracker.New(url)
+ if err != nil {
+ log.Fatal(err)
+ }
+ err = tr.Connect()
+ if err != nil {
+ log.Fatal(err)
+ }
+ resp, err := tr.Announce(&tracker.AnnounceRequest{
+ NumWant: -1,
+ InfoHash: torrent.BytesInfoHash(mi.InfoHash),
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+ log.Print(resp)
+ }
+ }
+}