internal/cmd/issue-906/main.go | 39 +++++++++++++++++++++++++++++++++++++++ diff --git a/internal/cmd/issue-906/main.go b/internal/cmd/issue-906/main.go new file mode 100644 index 0000000000000000000000000000000000000000..7c3bdc1780337bbb7765292e1c2c476d93cae23b --- /dev/null +++ b/internal/cmd/issue-906/main.go @@ -0,0 +1,39 @@ +package main + +import ( + "log" + "net/http" + "os" + + _ "github.com/anacrolix/envpprof" + "github.com/anacrolix/torrent" +) + +func main() { + cfg := torrent.NewDefaultClientConfig() + cfg.Debug = true + cfg.DisablePEX = true + cfg.DisableTrackers = true + cfg.NoDHT = true + cfg.NoDefaultPortForwarding = true + + c, _ := torrent.NewClient(cfg) + defer c.Close() + http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { + c.WriteStatus(w) + }) + torrentFile := os.Args[1] + peerAddr := os.Args[2] + t, _ := c.AddTorrentFromFile(torrentFile) + println(t.AddPeers([]torrent.PeerInfo{{Addr: addr(peerAddr)}})) + <-t.GotInfo() + t.DownloadAll() + c.WaitAll() + log.Print("ermahgerd, torrent downloaded") +} + +type addr string + +func (a addr) String() string { + return string(a) +}