From 21d98d0e2edfbb8c5907ca94752648213195da96 Mon Sep 17 00:00:00 2001 From: YouROK <8yourok8@mail.ru> Date: Mon, 31 May 2021 09:34:24 +0300 Subject: [PATCH] add magnet export --- server/web/pages/route.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/server/web/pages/route.go b/server/web/pages/route.go index c99828c..b8a66d2 100644 --- a/server/web/pages/route.go +++ b/server/web/pages/route.go @@ -1,7 +1,10 @@ package pages import ( + "github.com/anacrolix/torrent/metainfo" "github.com/gin-gonic/gin" + + "server/settings" "server/torr" "server/web/pages/template" ) @@ -9,6 +12,7 @@ import ( func SetupRoute(route *gin.RouterGroup) { route.GET("/", mainPage) route.GET("/stat", statPage) + route.GET("/magnets", getTorrents) } func mainPage(c *gin.Context) { @@ -19,3 +23,18 @@ func statPage(c *gin.Context) { torr.WriteStatus(c.Writer) c.Status(200) } + +func getTorrents(c *gin.Context) { + list := settings.ListTorrent() + http := "
" + for _, db := range list { + ts := db.TorrentSpec + mi := metainfo.MetaInfo{ + AnnounceList: ts.Trackers, + } + mag := mi.Magnet(ts.DisplayName, ts.InfoHash) + http += "

magnet:?xt=urn:btih:" + mag.InfoHash.HexString() + "

" + } + http += "
" + c.Data(200, "text/html; charset=utf-8", []byte(http)) +}