mirror of
https://github.com/cloudreve/cloudreve.git
synced 2025-12-15 10:04:01 +08:00
feat: file blob encryption
This commit is contained in:
@@ -2,6 +2,7 @@ package setting
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/base64"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/url"
|
||||
@@ -10,7 +11,6 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/cloudreve/Cloudreve/v4/inventory/types"
|
||||
|
||||
"github.com/cloudreve/Cloudreve/v4/pkg/auth/requestinfo"
|
||||
"github.com/cloudreve/Cloudreve/v4/pkg/boolset"
|
||||
)
|
||||
@@ -208,6 +208,8 @@ type (
|
||||
CustomHTML(ctx context.Context) *CustomHTML
|
||||
// FFMpegExtraArgs returns the extra arguments of ffmpeg thumb generator.
|
||||
FFMpegExtraArgs(ctx context.Context) string
|
||||
// MasterEncryptKey returns the master encrypt key.
|
||||
MasterEncryptKey(ctx context.Context) []byte
|
||||
}
|
||||
UseFirstSiteUrlCtxKey = struct{}
|
||||
)
|
||||
@@ -235,6 +237,15 @@ type (
|
||||
}
|
||||
)
|
||||
|
||||
func (s *settingProvider) MasterEncryptKey(ctx context.Context) []byte {
|
||||
encoded := s.getString(ctx, "encrypt_master_key", "")
|
||||
key, err := base64.StdEncoding.DecodeString(encoded)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
return key
|
||||
}
|
||||
|
||||
func (s *settingProvider) CustomHTML(ctx context.Context) *CustomHTML {
|
||||
return &CustomHTML{
|
||||
HeadlessFooter: s.getString(ctx, "headless_footer_html", ""),
|
||||
|
||||
Reference in New Issue
Block a user