From 157da95dc5591dc1b320894af6c9990d020ec297 Mon Sep 17 00:00:00 2001 From: nikk gitanes Date: Thu, 5 Nov 2020 01:40:04 +0300 Subject: [PATCH 1/2] fix info and shrink m3u --- src/server/settings/Info.go | 5 +++++ src/server/web/helpers/M3u.go | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/server/settings/Info.go b/src/server/settings/Info.go index ba27eb2..afd9280 100644 --- a/src/server/settings/Info.go +++ b/src/server/settings/Info.go @@ -12,6 +12,11 @@ func AddInfo(hash, info string) error { if err != nil { return err } + + infoe := GetInfo(hash) + if infoe != "{}" { + return nil // already filled + } hash = strings.ToUpper(hash) return db.Update(func(tx *bolt.Tx) error { diff --git a/src/server/web/helpers/M3u.go b/src/server/web/helpers/M3u.go index 1510d5e..d345907 100644 --- a/src/server/web/helpers/M3u.go +++ b/src/server/web/helpers/M3u.go @@ -19,7 +19,8 @@ func MakeM3ULists(torrents []*settings.Torrent, host string) string { magnet := t.Magnet mag, _, err := GetMagnet(magnet) if err == nil { - mag.Trackers = []string{} //Remove retrackers for small link size + mag.Trackers = []string{} // remove retrackers for small link size + mag.DisplayName = "" // clear dn from link - long query params may fail in QueryParam("link") magnet = mag.String() } m3u += host + "/torrent/play?link=" + url.QueryEscape(magnet) + "&m3u=true\n" From 4cfae7b7ccdda241fd64e0ea687c334ec3018be3 Mon Sep 17 00:00:00 2001 From: nikk gitanes Date: Fri, 6 Nov 2020 08:46:47 +0300 Subject: [PATCH 2/2] urlencode and shrink play / preload links --- src/server/web/Torrent.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/server/web/Torrent.go b/src/server/web/Torrent.go index d4afa4a..b757793 100644 --- a/src/server/web/Torrent.go +++ b/src/server/web/Torrent.go @@ -672,7 +672,8 @@ func getTorrentJS(tor *settings.Torrent) (*TorrentJsonResponse, error) { if err == nil && len(tor.Name) < len(mag.DisplayName) { js.Name = mag.DisplayName } - mag.Trackers = []string{} //Remove retrackers for small link size + mag.Trackers = []string{} // remove retrackers for small link size + mag.DisplayName = "" // clear dn from link - long query params may fail in QueryParam("link") js.Magnet = tor.Magnet js.Hash = tor.Hash js.AddTime = tor.Timestamp @@ -684,8 +685,8 @@ func getTorrentJS(tor *settings.Torrent) (*TorrentJsonResponse, error) { tf := TorFile{ Name: f.Name, Link: "/torrent/view/" + js.Hash + "/" + utils.CleanFName(f.Name), - Play: "/torrent/play/" + utils.CleanFName(f.Name) + "?link=" + mag.String() + "&file=" + fmt.Sprint(f.Id), - Preload: "/torrent/play/" + utils.CleanFName(f.Name) + "?link=" + mag.String() + "&file=" + fmt.Sprint(f.Id) + "&preload=true", + Play: "/torrent/play/" + utils.CleanFName(f.Name) + "?link=" + url.QueryEscape(mag.String()) + "&file=" + fmt.Sprint(f.Id), + Preload: "/torrent/play/" + utils.CleanFName(f.Name) + "?link=" + url.QueryEscape(mag.String()) + "&file=" + fmt.Sprint(f.Id) + "&preload=true", Size: f.Size, Viewed: settings.GetViewed(tor.Hash, f.Name), }