use backported metainfo package

This commit is contained in:
nikk gitanes
2023-11-14 11:41:02 +03:00
parent 487c39074f
commit 8d23c1e651
10 changed files with 25 additions and 25 deletions

View File

@@ -2,9 +2,10 @@ package api
import (
"net/http"
"time"
sets "server/settings"
"server/torr"
"time"
"github.com/gin-gonic/gin"
)

View File

@@ -24,8 +24,8 @@ func ParseFile(file multipart.File) (*torrent.TorrentSpec, error) {
return nil, err
}
mag := minfo.Magnet(info.Name, minfo.HashInfoBytes())
// mag := minfo.Magnet(nil, &info)
// mag := minfo.Magnet(info.Name, minfo.HashInfoBytes())
mag := minfo.Magnet(nil, &info)
return &torrent.TorrentSpec{
InfoBytes: minfo.InfoBytes,
Trackers: [][]string{mag.Trackers},
@@ -106,8 +106,8 @@ func fromHttp(link string) (*torrent.TorrentSpec, error) {
if err != nil {
return nil, err
}
mag := minfo.Magnet(info.Name, minfo.HashInfoBytes())
// mag := minfo.Magnet(nil, &info)
// mag := minfo.Magnet(info.Name, minfo.HashInfoBytes())
mag := minfo.Magnet(nil, &info)
return &torrent.TorrentSpec{
InfoBytes: minfo.InfoBytes,
@@ -130,8 +130,8 @@ func fromFile(path string) (*torrent.TorrentSpec, error) {
return nil, err
}
mag := minfo.Magnet(info.Name, minfo.HashInfoBytes())
// mag := minfo.Magnet(nil, &info)
// mag := minfo.Magnet(info.Name, minfo.HashInfoBytes())
mag := minfo.Magnet(nil, &info)
return &torrent.TorrentSpec{
InfoBytes: minfo.InfoBytes,
Trackers: [][]string{mag.Trackers},

View File

@@ -48,8 +48,8 @@ func getTorrents(c *gin.Context) {
mi := metainfo.MetaInfo{
AnnounceList: ts.Trackers,
}
mag := mi.Magnet(ts.DisplayName, ts.InfoHash)
// mag := mi.Magnet(&ts.InfoHash, &metainfo.Info{Name: ts.DisplayName})
// mag := mi.Magnet(ts.DisplayName, ts.InfoHash)
mag := mi.Magnet(&ts.InfoHash, &metainfo.Info{Name: ts.DisplayName})
http += "<p><a href='" + mag.String() + "'>magnet:?xt=urn:btih:" + mag.InfoHash.HexString() + "</a></p>"
}
http += "</div>"

View File

@@ -87,20 +87,20 @@ func Start() {
if settings.BTsets.EnableDLNA {
dlna.Start()
}
route.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
//check if https enabled
// check if https enabled
if settings.Ssl {
//if no cert and key files set in db/settings, generate new self-signed cert and key files
// if no cert and key files set in db/settings, generate new self-signed cert and key files
if settings.BTsets.SslCert == "" || settings.BTsets.SslKey == "" {
settings.BTsets.SslCert, settings.BTsets.SslKey = sslcerts.MakeCertKeyFiles(ips)
log.TLogln("Saving path to ssl cert and key in db", settings.BTsets.SslCert, settings.BTsets.SslKey)
settings.SetBTSets(settings.BTsets)
}
//verify if cert and key files are valid
// verify if cert and key files are valid
err = sslcerts.VerifyCertKeyFiles(settings.BTsets.SslCert, settings.BTsets.SslKey, settings.SslPort)
//if not valid, generate new self-signed cert and key files
// if not valid, generate new self-signed cert and key files
if err != nil {
log.TLogln("Error checking certificate and private key files:", err)
settings.BTsets.SslCert, settings.BTsets.SslKey = sslcerts.MakeCertKeyFiles(ips)
@@ -117,7 +117,6 @@ func Start() {
log.TLogln("Start http server at port", settings.Port)
waitChan <- route.Run(":" + settings.Port)
}()
}
func Wait() error {

View File

@@ -13,9 +13,10 @@ import (
"net"
"os"
"path/filepath"
"time"
"server/log"
"server/settings"
"time"
)
func generateSelfSignedCert(ips []string) ([]byte, []byte, error) {