mirror of
https://github.com/mickael-kerjean/filestash.git
synced 2025-10-28 04:05:21 +08:00
53 lines
1.5 KiB
Go
53 lines
1.5 KiB
Go
package common
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
)
|
|
|
|
const (
|
|
APP_VERSION = "v0.4"
|
|
PLUGIN_PATH = "data/plugin/"
|
|
LOG_PATH = "data/state/log/"
|
|
CONFIG_PATH = "data/state/config/"
|
|
DB_PATH = "data/state/db/"
|
|
FTS_PATH = "data/state/db/search/"
|
|
TMP_PATH = "data/cache/tmp/"
|
|
COOKIE_NAME_AUTH = "auth"
|
|
COOKIE_NAME_PROOF = "proof"
|
|
COOKIE_NAME_ADMIN = "admin"
|
|
COOKIE_PATH_ADMIN = "/admin/api/"
|
|
COOKIE_PATH = "/api/"
|
|
FILE_INDEX = "./data/public/index.html"
|
|
FILE_ASSETS = "./data/public/"
|
|
URL_SETUP = "/admin/setup"
|
|
)
|
|
|
|
func init(){
|
|
os.MkdirAll(filepath.Join(GetCurrentDir(), LOG_PATH), os.ModePerm)
|
|
os.MkdirAll(filepath.Join(GetCurrentDir(), FTS_PATH), os.ModePerm)
|
|
os.MkdirAll(filepath.Join(GetCurrentDir(), CONFIG_PATH), os.ModePerm)
|
|
os.RemoveAll(filepath.Join(GetCurrentDir(), TMP_PATH))
|
|
os.MkdirAll(filepath.Join(GetCurrentDir(), TMP_PATH), os.ModePerm)
|
|
}
|
|
|
|
|
|
var (
|
|
BUILD_NUMBER string
|
|
SECRET_KEY string
|
|
SECRET_KEY_DERIVATE_FOR_PROOF string
|
|
SECRET_KEY_DERIVATE_FOR_ADMIN string
|
|
SECRET_KEY_DERIVATE_FOR_USER string
|
|
)
|
|
|
|
/*
|
|
* Improve security by calculating derivative of the secret key to restrict the attack surface
|
|
* in the worst case scenario with one compromise secret key
|
|
*/
|
|
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))
|
|
}
|