chore (refactoring): pkg migration for config

This commit is contained in:
mickael-kerjean
2026-08-21 12:06:30 +10:00
parent b3782ae5d8
commit 4e4f42c7c0
17 changed files with 114 additions and 169 deletions
+19 -89
View File
@@ -1,97 +1,27 @@
package common
import (
"os"
_ "unsafe"
"github.com/mickael-kerjean/filestash/server/pkg/env"
)
//go:linkname APP_VERSION github.com/mickael-kerjean/filestash/server/pkg/env.APP_VERSION
var APP_VERSION string
//go:linkname COOKIE_NAME_PROOF github.com/mickael-kerjean/filestash/server/pkg/env.COOKIE_NAME_PROOF
var COOKIE_NAME_PROOF string
//go:linkname COOKIE_NAME_ADMIN github.com/mickael-kerjean/filestash/server/pkg/env.COOKIE_NAME_ADMIN
var COOKIE_NAME_ADMIN string
//go:linkname COOKIE_PATH_ADMIN github.com/mickael-kerjean/filestash/server/pkg/env.COOKIE_PATH_ADMIN
var COOKIE_PATH_ADMIN string
//go:linkname COOKIE_PATH github.com/mickael-kerjean/filestash/server/pkg/env.COOKIE_PATH
var COOKIE_PATH string
//go:linkname URL_SETUP github.com/mickael-kerjean/filestash/server/pkg/env.URL_SETUP
var URL_SETUP string
//go:linkname CONFIG_PATH github.com/mickael-kerjean/filestash/server/pkg/env.CONFIG_PATH
var CONFIG_PATH string
//go:linkname CERT_PATH github.com/mickael-kerjean/filestash/server/pkg/env.CERT_PATH
var CERT_PATH string
//go:linkname PLUGIN_PATH github.com/mickael-kerjean/filestash/server/pkg/env.PLUGIN_PATH
var PLUGIN_PATH string
//go:linkname DB_PATH github.com/mickael-kerjean/filestash/server/pkg/env.DB_PATH
var DB_PATH string
//go:linkname FTS_PATH github.com/mickael-kerjean/filestash/server/pkg/env.FTS_PATH
var FTS_PATH string
//go:linkname LOG_PATH github.com/mickael-kerjean/filestash/server/pkg/env.LOG_PATH
var LOG_PATH string
//go:linkname TMP_PATH github.com/mickael-kerjean/filestash/server/pkg/env.TMP_PATH
var TMP_PATH string
//go:linkname APPNAME github.com/mickael-kerjean/filestash/server/pkg/env.APPNAME
var APPNAME string
//go:linkname BASE github.com/mickael-kerjean/filestash/server/pkg/env.BASE
var BASE string
//go:linkname BUILD_REF github.com/mickael-kerjean/filestash/server/pkg/env.BUILD_REF
var BUILD_REF string
//go:linkname BUILD_DATE github.com/mickael-kerjean/filestash/server/pkg/env.BUILD_DATE
var BUILD_DATE string
//go:linkname LICENSE github.com/mickael-kerjean/filestash/server/pkg/env.LICENSE
var LICENSE string
//go:linkname SECRET_KEY github.com/mickael-kerjean/filestash/server/pkg/env.SECRET_KEY
var SECRET_KEY string
//go:linkname SECRET_KEY_DERIVATE_FOR_PROOF github.com/mickael-kerjean/filestash/server/pkg/env.SECRET_KEY_DERIVATE_FOR_PROOF
var SECRET_KEY_DERIVATE_FOR_PROOF string
//go:linkname SECRET_KEY_DERIVATE_FOR_ADMIN github.com/mickael-kerjean/filestash/server/pkg/env.SECRET_KEY_DERIVATE_FOR_ADMIN
var SECRET_KEY_DERIVATE_FOR_ADMIN string
//go:linkname SECRET_KEY_DERIVATE_FOR_USER github.com/mickael-kerjean/filestash/server/pkg/env.SECRET_KEY_DERIVATE_FOR_USER
var SECRET_KEY_DERIVATE_FOR_USER string
//go:linkname SECRET_KEY_DERIVATE_FOR_HASH github.com/mickael-kerjean/filestash/server/pkg/env.SECRET_KEY_DERIVATE_FOR_HASH
var SECRET_KEY_DERIVATE_FOR_HASH string
//go:linkname SECRET_KEY_DERIVATE_FOR_SIGNATURE github.com/mickael-kerjean/filestash/server/pkg/env.SECRET_KEY_DERIVATE_FOR_SIGNATURE
var SECRET_KEY_DERIVATE_FOR_SIGNATURE string
var (
WithBase = env.WithBase
TrimBase = env.TrimBase
IsWhiteLabel = env.IsWhiteLabel
WhiteLabelText = env.WhiteLabelText
)
APP_VERSION = env.APP_VERSION
BUILD_REF = env.BUILD_REF
BUILD_DATE = env.BUILD_DATE
LICENSE = env.LICENSE
APPNAME = env.APPNAME
func init() {
os.MkdirAll(GetAbsolutePath(CERT_PATH), os.ModePerm)
os.MkdirAll(GetAbsolutePath(DB_PATH), os.ModePerm)
os.MkdirAll(GetAbsolutePath(FTS_PATH), os.ModePerm)
os.MkdirAll(GetAbsolutePath(LOG_PATH), os.ModePerm)
os.MkdirAll(GetAbsolutePath(PLUGIN_PATH), os.ModePerm)
os.RemoveAll(GetAbsolutePath(TMP_PATH))
os.MkdirAll(GetAbsolutePath(TMP_PATH), os.ModePerm)
}
BASE = env.BASE
URL_SETUP = env.URL_SETUP
CONFIG_PATH = env.CONFIG_PATH
CERT_PATH = env.CERT_PATH
PLUGIN_PATH = env.PLUGIN_PATH
DB_PATH = env.DB_PATH
FTS_PATH = env.FTS_PATH
LOG_PATH = env.LOG_PATH
TMP_PATH = env.TMP_PATH
COOKIE_NAME_PROOF = env.COOKIE_NAME_PROOF
COOKIE_NAME_ADMIN = env.COOKIE_NAME_ADMIN
COOKIE_PATH_ADMIN = env.COOKIE_PATH_ADMIN
COOKIE_PATH = env.COOKIE_PATH
)
+11 -4
View File
@@ -1,11 +1,10 @@
package common
import (
_ "unsafe"
"github.com/mickael-kerjean/filestash/server/pkg/admin"
"github.com/mickael-kerjean/filestash/server/pkg/config"
"github.com/mickael-kerjean/filestash/server/pkg/core"
"github.com/mickael-kerjean/filestash/server/pkg/env"
"github.com/mickael-kerjean/filestash/server/pkg/kernel"
"github.com/mickael-kerjean/filestash/server/pkg/mime"
"github.com/mickael-kerjean/filestash/server/pkg/utils"
@@ -169,6 +168,15 @@ var (
TmplParams = kernel.TmplParams
)
// env
var (
WithBase = env.WithBase
TrimBase = env.TrimBase
IsWhiteLabel = env.IsWhiteLabel
WhiteLabelText = env.WhiteLabelText
)
// admin.go
var NewAdminToken = admin.NewAdminToken
@@ -176,5 +184,4 @@ func InitLogger() error {
return utils.InitLogger(GetAbsolutePath(LOG_PATH, "access.log"))
}
//go:linkname Config github.com/mickael-kerjean/filestash/server/pkg/config.Config
var Config config.Configuration
var Config = config.Config
+3 -5
View File
@@ -32,7 +32,6 @@ type ConfigElement struct {
}
func InitConfig() error {
Config = NewConfiguration()
if err := Config.Load(); err != nil {
return err
}
@@ -40,8 +39,8 @@ func InitConfig() error {
return nil
}
func NewConfiguration() Configuration {
c := Configuration{}
func NewConfiguration() *Configuration {
c := &Configuration{}
c.state.Store(&configState{
conn: []map[string]any{},
forms: []Form{
@@ -202,8 +201,7 @@ func (this *Configuration) Initialise() {
}
if this.Get("general.secret_key").String() == "" {
shouldSave = true
key := RandomString(16)
this.Get("general.secret_key").Set(key)
this.Get("general.secret_key").Set(RandomString(16))
}
if shouldSave {
this.Save()
-9
View File
@@ -30,15 +30,6 @@ var configKeysToEncrypt []string = []string{
"middleware.attribute_mapping.params",
}
func InitSecretDerivate(secret string) {
SECRET_KEY = secret
SECRET_KEY_DERIVATE_FOR_PROOF = Hash("PROOF_"+SECRET_KEY, len(SECRET_KEY))
SECRET_KEY_DERIVATE_FOR_ADMIN = Hash("ADMIN_"+SECRET_KEY, len(SECRET_KEY))
SECRET_KEY_DERIVATE_FOR_USER = Hash("USER_"+SECRET_KEY, len(SECRET_KEY))
SECRET_KEY_DERIVATE_FOR_HASH = Hash("HASH_"+SECRET_KEY, len(SECRET_KEY))
SECRET_KEY_DERIVATE_FOR_SIGNATURE = Hash("SGN_"+SECRET_KEY, len(SECRET_KEY))
}
func LoadConfig() ([]byte, error) {
file, err := os.OpenFile(GetAbsolutePath(CONFIG_PATH, "config.json"), os.O_RDONLY, os.ModePerm)
if err != nil {
+27
View File
@@ -0,0 +1,27 @@
package config
import (
"os"
"github.com/mickael-kerjean/filestash/server/pkg/env"
. "github.com/mickael-kerjean/filestash/server/pkg/utils"
)
func InitSecretDerivate(secret string) {
env.SECRET_KEY = secret
env.SECRET_KEY_DERIVATE_FOR_PROOF = Hash("PROOF_"+env.SECRET_KEY, len(env.SECRET_KEY))
env.SECRET_KEY_DERIVATE_FOR_ADMIN = Hash("ADMIN_"+env.SECRET_KEY, len(env.SECRET_KEY))
env.SECRET_KEY_DERIVATE_FOR_USER = Hash("USER_"+env.SECRET_KEY, len(env.SECRET_KEY))
env.SECRET_KEY_DERIVATE_FOR_HASH = Hash("HASH_"+env.SECRET_KEY, len(env.SECRET_KEY))
env.SECRET_KEY_DERIVATE_FOR_SIGNATURE = Hash("SGN_"+env.SECRET_KEY, len(env.SECRET_KEY))
}
func init() {
os.MkdirAll(GetAbsolutePath(env.CERT_PATH), os.ModePerm)
os.MkdirAll(GetAbsolutePath(env.DB_PATH), os.ModePerm)
os.MkdirAll(GetAbsolutePath(env.FTS_PATH), os.ModePerm)
os.MkdirAll(GetAbsolutePath(env.LOG_PATH), os.ModePerm)
os.MkdirAll(GetAbsolutePath(env.PLUGIN_PATH), os.ModePerm)
os.RemoveAll(GetAbsolutePath(env.TMP_PATH))
os.MkdirAll(GetAbsolutePath(env.TMP_PATH), os.ModePerm)
}
+21 -38
View File
@@ -1,3 +1,4 @@
//go:generate go run generator.go
package env
import (
@@ -6,14 +7,25 @@ import (
"strings"
)
//go:generate go run generator.go
var (
APP_VERSION string = "v0.6"
APPNAME string = "Filestash"
BASE string
BUILD_REF string
BUILD_DATE string
LICENSE string = "agpl"
APP_VERSION = "v0.6"
APPNAME = "Filestash"
BASE = strings.TrimSuffix(os.Getenv("FILESTASH_BASE"), "/")
LICENSE = "agpl"
CONFIG_PATH = fromPath("state/config/")
CERT_PATH = fromPath("state/certs/")
PLUGIN_PATH = fromPath("state/plugins/")
DB_PATH = fromPath("state/db/")
FTS_PATH = fromPath("state/search/")
LOG_PATH = fromPath("state/log/")
TMP_PATH = fromPath("cache/")
COOKIE_NAME_PROOF = "proof"
COOKIE_NAME_ADMIN = "admin"
COOKIE_PATH_ADMIN = WithBase("/admin/api/")
COOKIE_PATH = WithBase("/api/")
URL_SETUP = WithBase("/admin/setup")
)
var (
@@ -25,39 +37,10 @@ var (
SECRET_KEY_DERIVATE_FOR_SIGNATURE string
)
var (
CONFIG_PATH = "state/config/"
CERT_PATH = "state/certs/"
PLUGIN_PATH = "state/plugins/"
DB_PATH = "state/db/"
FTS_PATH = "state/search/"
LOG_PATH = "state/log/"
TMP_PATH = "cache/"
)
var (
COOKIE_NAME_PROOF = "proof"
COOKIE_NAME_ADMIN = "admin"
COOKIE_PATH_ADMIN = "/admin/api/"
COOKIE_PATH = "/api/"
URL_SETUP = "/admin/setup"
)
func init() {
// STEP1: setup app
func fromPath(p string) string {
rootPath := "data/"
if p := os.Getenv("FILESTASH_PATH"); p != "" {
rootPath = p
}
LOG_PATH = filepath.Join(rootPath, LOG_PATH)
CONFIG_PATH = filepath.Join(rootPath, CONFIG_PATH)
DB_PATH = filepath.Join(rootPath, DB_PATH)
FTS_PATH = filepath.Join(rootPath, FTS_PATH)
CERT_PATH = filepath.Join(rootPath, CERT_PATH)
TMP_PATH = filepath.Join(rootPath, TMP_PATH)
PLUGIN_PATH = filepath.Join(rootPath, PLUGIN_PATH)
BASE = strings.TrimSuffix(os.Getenv("FILESTASH_BASE"), "/")
COOKIE_PATH_ADMIN = WithBase(COOKIE_PATH_ADMIN)
COOKIE_PATH = WithBase(COOKIE_PATH)
URL_SETUP = WithBase(URL_SETUP)
return filepath.Join(rootPath, p)
}
+3 -4
View File
@@ -21,13 +21,12 @@ func main() {
os.Exit(1)
return
}
defer f.Close()
f.Write([]byte(fmt.Sprintf(`
package env
func init() {
var (
BUILD_REF = "%s"
BUILD_DATE = "%s"
}
`, strings.TrimSpace(b.String()), time.Now().Format("20060102"))))
f.Close()
)`, strings.TrimSpace(b.String()), time.Now().Format("20060102"))))
}
+4 -3
View File
@@ -13,6 +13,7 @@ import (
"github.com/mickael-kerjean/filestash/server/model"
"github.com/mickael-kerjean/filestash/server/pkg/share"
"github.com/mickael-kerjean/filestash/server/pkg/token"
"github.com/mickael-kerjean/filestash/server/pkg/env"
"github.com/gorilla/mux"
)
@@ -112,7 +113,7 @@ func _extractShare(req *http.Request) (Share, error) {
if len(usr) != 3 {
return "", p
}
if Hash(usr[1]+SECRET_KEY_DERIVATE_FOR_HASH, 10) != usr[2] {
if Hash(usr[1]+env.SECRET_KEY_DERIVATE_FOR_HASH, 10) != usr[2] {
return "", p
}
return usr[1], p
@@ -140,7 +141,7 @@ func _extractSession(req *http.Request, ctx *App) (map[string]string, error) {
session map[string]string = make(map[string]string)
)
if ctx.Share.Id != "" {
str, err = DecryptString(SECRET_KEY_DERIVATE_FOR_USER, ctx.Share.Auth)
str, err = DecryptString(env.SECRET_KEY_DERIVATE_FOR_USER, ctx.Share.Auth)
if err != nil {
// This typically happen when changing the secret key
return session, ErrNotAuthorized
@@ -152,7 +153,7 @@ func _extractSession(req *http.Request, ctx *App) (map[string]string, error) {
if ctx.Authorization == "" {
return session, nil
}
str, err = DecryptString(SECRET_KEY_DERIVATE_FOR_USER, ctx.Authorization)
str, err = DecryptString(env.SECRET_KEY_DERIVATE_FOR_USER, ctx.Authorization)
if err != nil {
// This typically happen when changing the secret key
Log.Debug("middleware::session decrypt error '%s'", err.Error())
+3 -2
View File
@@ -6,6 +6,7 @@ import (
"encoding/json"
. "github.com/mickael-kerjean/filestash/server/common"
"github.com/mickael-kerjean/filestash/server/pkg/env"
)
func FromRequest(req *http.Request, ctx *App) (map[string]string, error) {
@@ -16,7 +17,7 @@ func FromRequest(req *http.Request, ctx *App) (map[string]string, error) {
)
if ctx.Share.Id != "" {
str, err = DecryptString(SECRET_KEY_DERIVATE_FOR_USER, ctx.Share.Auth)
str, err = DecryptString(env.SECRET_KEY_DERIVATE_FOR_USER, ctx.Share.Auth)
if err != nil {
// This typically happen when changing the secret key
return session, ErrNotAuthorized
@@ -29,7 +30,7 @@ func FromRequest(req *http.Request, ctx *App) (map[string]string, error) {
if ctx.Authorization == "" {
return session, nil
}
str, err = DecryptString(SECRET_KEY_DERIVATE_FOR_USER, ctx.Authorization)
str, err = DecryptString(env.SECRET_KEY_DERIVATE_FOR_USER, ctx.Authorization)
if err != nil {
// This typically happen when changing the secret key
Log.Debug("middleware::session decrypt error '%s'", err.Error())
+5 -4
View File
@@ -15,6 +15,7 @@ import (
"github.com/mickael-kerjean/filestash/server/pkg/cookie"
"github.com/mickael-kerjean/filestash/server/pkg/files"
"github.com/mickael-kerjean/filestash/server/pkg/env"
"github.com/mickael-kerjean/filestash/server/pkg/token"
"github.com/gorilla/mux"
@@ -95,7 +96,7 @@ func SessionAuthenticate(ctx *App, res http.ResponseWriter, req *http.Request) {
SendErrorResult(res, NewError(err.Error(), 500))
return
}
obfuscate, err := EncryptString(SECRET_KEY_DERIVATE_FOR_USER, string(s))
obfuscate, err := EncryptString(env.SECRET_KEY_DERIVATE_FOR_USER, string(s))
if err != nil {
Log.Debug("[auth] action=authenticate::encrypt err=%s", ferror(err))
SendErrorResult(res, NewError(err.Error(), 500))
@@ -342,9 +343,9 @@ func SessionAuthMiddleware(ctx *App, res http.ResponseWriter, req *http.Request)
}
}
if attributes = strings.TrimSpace(attributes); attributes != "" {
v, err := DecryptString(SECRET_KEY_DERIVATE_FOR_SIGNATURE, signature)
v, err := DecryptString(env.SECRET_KEY_DERIVATE_FOR_SIGNATURE, signature)
if err != nil || attributes != v {
v, _ = EncryptString(SECRET_KEY_DERIVATE_FOR_SIGNATURE, attributes)
v, _ = EncryptString(env.SECRET_KEY_DERIVATE_FOR_SIGNATURE, attributes)
Log.Debug("callback signature is required, signature=%s", v)
http.Redirect(
res, req,
@@ -426,7 +427,7 @@ func SessionAuthMiddleware(ctx *App, res http.ResponseWriter, req *http.Request)
SendErrorResult(res, ErrNotValid)
return
}
obfuscate, err := EncryptString(SECRET_KEY_DERIVATE_FOR_USER, string(s))
obfuscate, err := EncryptString(env.SECRET_KEY_DERIVATE_FOR_USER, string(s))
if err != nil {
Log.Debug("session::authMiddleware 'encryption error - %s", err.Error())
SendErrorResult(res, ErrNotValid)
+2 -1
View File
@@ -8,6 +8,7 @@ import (
"regexp"
. "github.com/mickael-kerjean/filestash/server/common"
"github.com/mickael-kerjean/filestash/server/pkg/env"
"github.com/gorilla/mux"
)
@@ -48,7 +49,7 @@ func FromRequest(req *http.Request) (Share, error) {
if len(usr) != 3 {
return "", p
}
if Hash(usr[1]+SECRET_KEY_DERIVATE_FOR_HASH, 10) != usr[2] {
if Hash(usr[1]+env.SECRET_KEY_DERIVATE_FOR_HASH, 10) != usr[2] {
return "", p
}
return usr[1], p
+3 -2
View File
@@ -8,6 +8,7 @@ import (
. "github.com/mickael-kerjean/filestash/server/common"
"github.com/mickael-kerjean/filestash/server/pkg/token"
"github.com/mickael-kerjean/filestash/server/pkg/env"
"github.com/gorilla/mux"
)
@@ -121,7 +122,7 @@ func ShareVerifyProofHandler(ctx *App, res http.ResponseWriter, req *http.Reques
// 2) validate the current context
if len(verifiedProof) > 20 || len(requiredProof) > 20 {
http.SetCookie(res, &http.Cookie{
Name: COOKIE_NAME_PROOF,
Name: env.COOKIE_NAME_PROOF,
Value: "",
MaxAge: -1,
Path: COOKIE_PATH,
@@ -173,7 +174,7 @@ func ShareVerifyProofHandler(ctx *App, res http.ResponseWriter, req *http.Reques
Name: COOKIE_NAME_PROOF,
Value: func(p []Proof) string {
j, _ := json.Marshal(p)
str, _ := EncryptString(SECRET_KEY_DERIVATE_FOR_PROOF, string(j))
str, _ := EncryptString(env.SECRET_KEY_DERIVATE_FOR_PROOF, string(j))
return str
}(verifiedProof),
Path: COOKIE_PATH,
+4 -3
View File
@@ -15,6 +15,7 @@ import (
. "github.com/mickael-kerjean/filestash/server/common"
"github.com/mickael-kerjean/filestash/server/pkg/sqlite"
"github.com/mickael-kerjean/filestash/server/pkg/utils"
"github.com/mickael-kerjean/filestash/server/pkg/env"
"golang.org/x/crypto/bcrypt"
"gopkg.in/gomail.v2"
@@ -192,7 +193,7 @@ func Verify(s Share, proof Proof) (Proof, error) {
Username string
}{
code,
user + "[" + Hash(user+SECRET_KEY_DERIVATE_FOR_HASH, 10) + "]",
user + "[" + Hash(user+env.SECRET_KEY_DERIVATE_FOR_HASH, 10) + "]",
})
p.Key = "code"
@@ -294,7 +295,7 @@ func Verified(req *http.Request) []Proof {
var p []Proof
var cookieValue string
c, _ := req.Cookie(COOKIE_NAME_PROOF)
c, _ := req.Cookie(env.COOKIE_NAME_PROOF)
if c == nil {
return p
}
@@ -302,7 +303,7 @@ func Verified(req *http.Request) []Proof {
if len(cookieValue) > 500 {
return p
}
j, err := DecryptString(SECRET_KEY_DERIVATE_FOR_PROOF, cookieValue)
j, err := DecryptString(env.SECRET_KEY_DERIVATE_FOR_PROOF, cookieValue)
if err != nil {
return p
}
+2 -1
View File
@@ -9,6 +9,7 @@ import (
. "github.com/mickael-kerjean/filestash/server/common"
"github.com/mickael-kerjean/filestash/server/model"
"github.com/mickael-kerjean/filestash/server/pkg/env"
. "github.com/mickael-kerjean/filestash/server/pkg/workflow/model"
)
@@ -108,7 +109,7 @@ func filewatchCallback(workflow Workflow) (map[string]string, bool) {
func createBackend(token string) (IBackend, map[string]string, error) {
session := map[string]string{}
str, err := DecryptString(SECRET_KEY_DERIVATE_FOR_USER, token)
str, err := DecryptString(env.SECRET_KEY_DERIVATE_FOR_USER, token)
if err != nil {
return nil, session, err
}
+3 -2
View File
@@ -11,6 +11,7 @@ import (
"text/template"
. "github.com/mickael-kerjean/filestash/server/common"
"github.com/mickael-kerjean/filestash/server/pkg/env"
"github.com/pquerna/otp/totp"
"golang.org/x/crypto/bcrypt"
@@ -241,7 +242,7 @@ func withMFA(user User, session string) User {
if session == "" {
return user
}
data, err := DecryptString(SECRET_KEY_DERIVATE_FOR_USER, session)
data, err := DecryptString(env.SECRET_KEY_DERIVATE_FOR_USER, session)
if err != nil {
return User{}
}
@@ -259,7 +260,7 @@ func (user User) EncryptedString() string {
if err != nil {
return ""
}
d, err := EncryptString(SECRET_KEY_DERIVATE_FOR_USER, string(b))
d, err := EncryptString(env.SECRET_KEY_DERIVATE_FOR_USER, string(b))
if err != nil {
return ""
}
+2 -1
View File
@@ -8,6 +8,7 @@ import (
"time"
. "github.com/mickael-kerjean/filestash/server/common"
"github.com/mickael-kerjean/filestash/server/pkg/env"
"github.com/mickael-kerjean/filestash/server/model"
. "github.com/mickael-kerjean/filestash/server/plugin/plg_handler_mcp/impl"
. "github.com/mickael-kerjean/filestash/server/plugin/plg_handler_mcp/types"
@@ -225,7 +226,7 @@ func (this *Server) sseHandler(_ *App, w http.ResponseWriter, r *http.Request) {
}
func getBackend(token string) (IBackend, error) {
str, err := DecryptString(SECRET_KEY_DERIVATE_FOR_USER, token)
str, err := DecryptString(env.SECRET_KEY_DERIVATE_FOR_USER, token)
if err != nil {
return nil, ErrNotAuthorized
}
@@ -9,6 +9,7 @@ import (
"time"
. "github.com/mickael-kerjean/filestash/server/common"
"github.com/mickael-kerjean/filestash/server/pkg/env"
)
const (
@@ -20,7 +21,7 @@ var KEY_FOR_CODE string
func init() {
Hooks.Register.Onload(func() {
KEY_FOR_CODE = Hash("MCP_CODE_"+SECRET_KEY, len(SECRET_KEY))
KEY_FOR_CODE = Hash("MCP_CODE_"+env.SECRET_KEY, len(env.SECRET_KEY))
})
}