diff --git a/cmd/scrape/main.go b/cmd/scrape/main.go new file mode 100644 index 00000000..d0ee043e --- /dev/null +++ b/cmd/scrape/main.go @@ -0,0 +1,39 @@ +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) + } + } +}