8 "github.com/davecgh/go-spew/spew"
10 "github.com/anacrolix/torrent"
11 "github.com/anacrolix/torrent/tracker/udp"
14 type scrapeCfg struct {
15 Tracker string `arg:"positional"`
16 InfoHashes []torrent.InfoHash `arity:"+" arg:"positional"`
19 func scrape(flags scrapeCfg) 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)