9 "github.com/anacrolix/torrent"
10 "github.com/anacrolix/torrent/metainfo"
14 if err := dlTorrents("."); err != nil {
15 fmt.Fprintln(os.Stderr, err)
19 func dlTorrents(dir string) error {
20 conf := torrent.NewDefaultClientConfig()
22 cl, err := torrent.NewClient(conf)
27 "urlteam_2021-02-03-21-17-02",
28 "urlteam_2021-02-02-11-17-02",
29 "urlteam_2021-01-31-11-17-02",
30 "urlteam_2021-01-30-21-17-01",
31 "urlteam_2021-01-29-21-17-01",
32 "urlteam_2021-01-28-11-17-01",
33 "urlteam_2021-01-27-11-17-02",
34 "urlteam_2021-01-26-11-17-02",
35 "urlteam_2021-01-25-03-17-02",
36 "urlteam_2021-01-24-03-17-02",
38 for _, id := range ids {
39 t, err := addTorrentFromURL(cl, fmt.Sprintf("https://archive.org/download/%s/%s_archive.torrent", id, id))
46 return errors.New("client stopped early")
51 func addTorrentFromURL(cl *torrent.Client, url string) (*torrent.Torrent, error) {
52 fmt.Printf("Adding torrent: %s\n", url)
53 resp, err := http.Get(url)
57 if resp.StatusCode != http.StatusOK {
58 return nil, fmt.Errorf("status %s", resp.Status)
60 defer resp.Body.Close()
61 meta, err := metainfo.Load(resp.Body)
65 return cl.AddTorrent(meta)