aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-06-21 16:11:55 +0200
committerDimitri Sokolyuk <demon@dim13.org>2016-06-21 16:11:55 +0200
commit7f474211bf54b66fe51dd9ce2d3e3f2c94b6d81e (patch)
tree634876512bda900a4da7a283442c38f01013f624
parent55e9ebaf5e5af6caa43551ea64d669c67669c46e (diff)
wip
-rw-r--r--btshow/main.go2
-rw-r--r--meta/tracker.go19
2 files changed, 8 insertions, 13 deletions
diff --git a/btshow/main.go b/btshow/main.go
index 9d204bb..f335729 100644
--- a/btshow/main.go
+++ b/btshow/main.go
@@ -4,6 +4,7 @@ import (
"fmt"
"io/ioutil"
"log"
+ "net/url"
"os"
"dim13.org/btget/bencode"
@@ -24,4 +25,5 @@ func main() {
log.Fatal(err)
}
fmt.Println(tor)
+ fmt.Println(url.QueryEscape(string(tor.InfoHash)))
}
diff --git a/meta/tracker.go b/meta/tracker.go
index b56fe92..111f4b7 100644
--- a/meta/tracker.go
+++ b/meta/tracker.go
@@ -18,7 +18,7 @@ type TrackerRequest struct {
Uploaded int
Downloaded int
Left int
- Compact bool
+ Compact bool // always true
NoPeerID bool
Event Event
IP net.IPAddr
@@ -27,21 +27,14 @@ type TrackerRequest struct {
TrackerID []byte
}
+// we support only compact mode
type TrackerResponse struct {
+ Complete int `bencode:"complete"`
FalureReason string `bencode:"failure reason"`
- WarningMessage string `bencode:"warning message"`
+ Incomplete int `bencode:"incomplete"`
Interval int `bencode:"interval"`
MinInterval int `bencode:"min interval"`
+ Peers []byte `bencode:"peers"`
TrackerId string `bencode:"tracker id"`
- Complete int `bencode:"complete"`
- Incomplete int `bencode:"incomplete"`
- Peers Peer `bencode:"peers"`
-}
-
-type Peer struct {
- PeerId string `bencode:"peer id"`
- IP string `bencode:"ip"`
- Port string `bencode:"ports"`
+ WarningMessage string `bencode:"warning message"`
}
-
-// Peer (compact) []byte