8 "github.com/anacrolix/torrent/tracker/udp"
9 "github.com/davecgh/go-spew/spew"
11 "github.com/anacrolix/torrent"
14 type ScrapeCmd struct {
15 Tracker string `arg:"positional"`
16 InfoHashes []torrent.InfoHash
19 func scrape(flags ScrapeCmd) error {
20 trackerUrl, err := url.Parse(flags.Tracker)
22 return fmt.Errorf("parsing tracker url: %w", err)
24 cc, err := udp.NewConnClient(udp.NewConnClientOpts{
25 Network: trackerUrl.Scheme,
26 Host: trackerUrl.Host,
28 //Logger: log.Logger{},
31 return fmt.Errorf("creating new udp tracker conn client: %w", err)
34 var ihs []udp.InfoHash
35 for _, ih := range flags.InfoHashes {
38 scrapeOut, err := cc.Client.Scrape(context.TODO(), ihs)
40 return fmt.Errorf("scraping: %w", err)