diff --git a/server/dlna/dlna.go b/server/dlna/dlna.go index af73b01..6c45aea 100644 --- a/server/dlna/dlna.go +++ b/server/dlna/dlna.go @@ -28,7 +28,7 @@ func Start() { var err error ifaces, err := net.Interfaces() if err != nil { - logger.Print(err) + logger.Levelf(log.Error, "%v", err) os.Exit(1) } for _, i := range ifaces { @@ -43,7 +43,7 @@ func Start() { HTTPConn: func() net.Listener { port := 9080 for { - logger.Printf("Check dlna port %d", port) + logger.Levelf(log.Info, "Check dlna port %d", port) m, err := net.Listen("tcp", ":"+strconv.Itoa(port)) if m != nil { m.Close() @@ -53,10 +53,10 @@ func Start() { } port++ } - logger.Printf("Set dlna port %d", port) + logger.Levelf(log.Info, "Set dlna port %d", port) conn, err := net.Listen("tcp", ":"+strconv.Itoa(port)) if err != nil { - logger.Print(err) + logger.Levelf(log.Error, "%v", err) os.Exit(1) } return conn @@ -96,12 +96,12 @@ func Start() { } if err := dmsServer.Init(); err != nil { - logger.Printf("error initing dms server: %v", err) + logger.Levelf(log.Error, "error initing dms server: %v", err) os.Exit(1) } go func() { if err := dmsServer.Run(); err != nil { - logger.Print(err) + logger.Levelf(log.Error, "%v", err) os.Exit(1) } }() diff --git a/server/log/log.go b/server/log/log.go index 3de78c1..b92343d 100644 --- a/server/log/log.go +++ b/server/log/log.go @@ -48,9 +48,15 @@ func Init(path, webpath string) { logFile = ff os.Stdout = ff os.Stderr = ff - t := time.Now().Format("2006-01-02T15:04:05-0700") + var timeFmt string + var ok bool + timeFmt, ok = os.LookupEnv("GO_LOG_TIME_FMT") + if !ok { + timeFmt = "2006-01-02T15:04:05-0700" + } + t := time.Now().Format(timeFmt) log.SetFlags(log.Lmsgprefix) - log.SetPrefix(t + " SRV ") + log.SetPrefix(t + " TSM ") log.SetOutput(ff) } } diff --git a/server/torr/stream.go b/server/torr/stream.go index 1bfebb3..3d35cd0 100644 --- a/server/torr/stream.go +++ b/server/torr/stream.go @@ -1,6 +1,7 @@ package torr import ( + "encoding/hex" "errors" "fmt" "log" @@ -61,7 +62,7 @@ func (t *Torrent) Stream(fileID int, req *http.Request, resp http.ResponseWriter sets.SetViewed(&sets.Viewed{t.Hash().HexString(), fileID}) resp.Header().Set("Connection", "close") - resp.Header().Set("ETag", httptoo.EncodeQuotedString(fmt.Sprintf("%s/%s", t.Hash().HexString(), file.Path()))) + resp.Header().Set("ETag", httptoo.EncodeQuotedString(fmt.Sprintf("%s/%s", t.Hash().HexString(), hex.EncodeToString([]byte(file.Path()))))) // DLNA headers resp.Header().Set("transferMode.dlna.org", "Streaming") mime, err := mt.MimeTypeByPath(file.Path()) diff --git a/server/web/api/m3u.go b/server/web/api/m3u.go index 3252151..7dd6b57 100644 --- a/server/web/api/m3u.go +++ b/server/web/api/m3u.go @@ -2,6 +2,7 @@ package api import ( "bytes" + "encoding/hex" "fmt" "net/http" "net/url" @@ -72,7 +73,7 @@ func sendM3U(c *gin.Context, name, hash string, m3u string) { c.Header("Content-Type", "audio/x-mpegurl") c.Header("Connection", "close") if hash != "" { - c.Header("ETag", httptoo.EncodeQuotedString(fmt.Sprintf("%s/%s", hash, name))) + c.Header("ETag", httptoo.EncodeQuotedString(fmt.Sprintf("%s/%s", hash, hex.EncodeToString([]byte(name))))) } if name == "" { name = "playlist.m3u"