From e5e98f7fc87495b208d737d80d06386be34bd6af Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Sun, 9 Jun 2024 16:42:56 +0200 Subject: [PATCH] Cleanup safe path setting location --- transcoder/src/settings.go | 2 ++ transcoder/utils.go | 4 +--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/transcoder/src/settings.go b/transcoder/src/settings.go index 8039759b..77415351 100644 --- a/transcoder/src/settings.go +++ b/transcoder/src/settings.go @@ -14,6 +14,7 @@ type SettingsT struct { Outpath string Metadata string RoutePrefix string + SafePath string HwAccel HwAccelT } @@ -28,5 +29,6 @@ var Settings = SettingsT{ Outpath: GetEnvOr("GOCODER_CACHE_ROOT", "/cache"), Metadata: GetEnvOr("GOCODER_METADATA_ROOT", "/metadata"), RoutePrefix: GetEnvOr("GOCODER_PREFIX", ""), + SafePath: GetEnvOr("GOCODER_SAFE_PATH", "/video"), HwAccel: DetectHardwareAccel(), } diff --git a/transcoder/utils.go b/transcoder/utils.go index fc355174..9feaee4f 100644 --- a/transcoder/utils.go +++ b/transcoder/utils.go @@ -14,8 +14,6 @@ import ( "github.com/zoriya/kyoo/transcoder/src" ) -var safe_path = src.GetEnvOr("GOCODER_SAFE_PATH", "/video") - // Encode the version in the hash path to update cached values. // Older versions won't be deleted (needed to allow multiples versions of the transcoder to run at the same time) // If the version changes a lot, we might want to automatically delete older versions. @@ -34,7 +32,7 @@ func GetPath(c echo.Context) (string, string, error) { if !filepath.IsAbs(path) { return "", "", echo.NewHTTPError(http.StatusBadRequest, "Absolute path required.") } - if !strings.HasPrefix(path, safe_path) { + if !strings.HasPrefix(path, src.Settings.SafePath) { return "", "", echo.NewHTTPError(http.StatusBadRequest, "Selected path is not marked as safe.") } hash, err := getHash(path)