]> Sergey Matveev's repositories - btrtrc.git/blob - cmd/torrent/main.go
Begin implementing the adding of peers, and initiating of connections
[btrtrc.git] / cmd / torrent / main.go
1 package main
2
3 import (
4         "bitbucket.org/anacrolix/go.torrent"
5         "flag"
6         metainfo "github.com/nsf/libtorgo/torrent"
7         "log"
8         "net"
9 )
10
11 var (
12         downloadDir = flag.String("downloadDir", "", "directory to store download torrent data")
13 )
14
15 func init() {
16         flag.Parse()
17 }
18
19 func main() {
20         client := torrent.NewClient(*downloadDir)
21         for _, arg := range flag.Args() {
22                 metaInfo, err := metainfo.LoadFromFile(arg)
23                 if err != nil {
24                         log.Fatal(err)
25                 }
26                 err = client.AddTorrent(metaInfo)
27                 if err != nil {
28                         log.Fatal(err)
29                 }
30                 err = client.AddPeers(torrent.BytesInfoHash(metaInfo.InfoHash), []torrent.Peer{{
31                         IP:   net.IPv4(127, 0, 0, 1),
32                         Port: 63983,
33                 }})
34                 if err != nil {
35                         log.Fatal(err)
36                 }
37         }
38         client.WaitAll()
39         client.Close()
40 }