40 lines
735 B
Go
40 lines
735 B
Go
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)
|
|
}
|
|
}
|
|
}
|