diff --git a/src/server/torr/State.go b/src/server/torr/State.go
index 530644d..9b9022d 100644
--- a/src/server/torr/State.go
+++ b/src/server/torr/State.go
@@ -1,14 +1,14 @@
package torr
import (
- "github.com/anacrolix/dht"
+ "github.com/anacrolix/torrent"
)
type BTState struct {
LocalPort int
PeerID string
BannedIPs int
- DHTs []*dht.Server
+ DHTs []torrent.DhtServer
Torrents []*Torrent
}
diff --git a/src/server/web/Info.go b/src/server/web/Info.go
index 3db7b1e..1b3d913 100644
--- a/src/server/web/Info.go
+++ b/src/server/web/Info.go
@@ -7,6 +7,8 @@ import (
"server/utils"
+ dht2 "github.com/anacrolix/dht"
+
"github.com/anacrolix/torrent/metainfo"
"github.com/labstack/echo"
"github.com/labstack/gommon/bytes"
@@ -39,10 +41,12 @@ func statePage(c echo.Context) error {
for _, dht := range state.DHTs {
msg += fmt.Sprintf("%s DHT server at %s:
\n", dht.Addr().Network(), dht.Addr().String())
dhtStats := dht.Stats()
- msg += fmt.Sprintf("\t # Nodes: %d (%d good, %d banned)
\n", dhtStats.Nodes, dhtStats.GoodNodes, dhtStats.BadNodes)
- msg += fmt.Sprintf("\t Server ID: %x
\n", dht.ID())
- msg += fmt.Sprintf("\t Announces: %d
\n", dhtStats.SuccessfulOutboundAnnouncePeerQueries)
- msg += fmt.Sprintf("\t Outstanding transactions: %d
\n", dhtStats.OutstandingTransactions)
+ if ds, ok := dhtStats.(dht2.ServerStats); ok {
+ msg += fmt.Sprintf("\t # Nodes: %d (%d good, %d banned)
\n", ds.Nodes, ds.GoodNodes, ds.BadNodes)
+ msg += fmt.Sprintf("\t Server ID: %x
\n", dht.ID())
+ msg += fmt.Sprintf("\t Announces: %d
\n", ds.SuccessfulOutboundAnnouncePeerQueries)
+ msg += fmt.Sprintf("\t Outstanding transactions: %d
\n", ds.OutstandingTransactions)
+ }
}
sort.Slice(state.Torrents, func(i, j int) bool {