mirror of
https://github.com/wgh136/nysoure.git
synced 2025-09-27 04:17:23 +00:00
feat: small file is unrequired to verity to download.
This commit is contained in:
@@ -20,8 +20,9 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
blockSize = 4 * 1024 * 1024 // 4MB
|
||||
storageKeyUnavailable = "storage_key_unavailable" // Placeholder for unavailable storage key
|
||||
blockSize = 4 * 1024 * 1024 // 4MB
|
||||
storageKeyUnavailable = "storage_key_unavailable" // Placeholder for unavailable storage key
|
||||
MinUnrequireVerifyFileSize = 10 * 1024 * 1024 // 10MB
|
||||
)
|
||||
|
||||
func getUploadingSize() int64 {
|
||||
@@ -387,15 +388,6 @@ func GetFile(fid string) (*model.FileView, error) {
|
||||
|
||||
// DownloadFile handles the file download request. Return a presigned URL or a direct file path.
|
||||
func DownloadFile(fid, cfToken string) (string, string, error) {
|
||||
passed, err := verifyCfToken(cfToken)
|
||||
if err != nil {
|
||||
log.Error("failed to verify cf token: ", err)
|
||||
return "", "", model.NewRequestError("failed to verify cf token")
|
||||
}
|
||||
if !passed {
|
||||
log.Info("cf token verification failed")
|
||||
return "", "", model.NewRequestError("cf token verification failed")
|
||||
}
|
||||
file, err := dao.GetFile(fid)
|
||||
if err != nil {
|
||||
log.Error("failed to get file: ", err)
|
||||
@@ -405,6 +397,16 @@ func DownloadFile(fid, cfToken string) (string, string, error) {
|
||||
return "", "", model.NewRequestError("file is not available, please try again later")
|
||||
}
|
||||
|
||||
passed, err := verifyCfToken(cfToken)
|
||||
if err != nil {
|
||||
log.Error("failed to verify cf token: ", err)
|
||||
return "", "", model.NewRequestError("failed to verify cf token")
|
||||
}
|
||||
if !passed && file.Size > MinUnrequireVerifyFileSize {
|
||||
log.Info("cf token verification failed")
|
||||
return "", "", model.NewRequestError("cf token verification failed")
|
||||
}
|
||||
|
||||
if file.StorageID == nil {
|
||||
if file.RedirectUrl != "" {
|
||||
err := dao.AddResourceDownloadCount(file.ResourceID)
|
||||
|
@@ -28,6 +28,9 @@ func verifyCfToken(cfToken string) (bool, error) {
|
||||
if config.CloudflareTurnstileSecretKey() == "" {
|
||||
return true, nil
|
||||
}
|
||||
if cfToken == "" {
|
||||
return false, nil
|
||||
}
|
||||
client := &http.Client{}
|
||||
data, _ := json.Marshal(map[string]string{
|
||||
"secret": config.CloudflareTurnstileSecretKey(),
|
||||
|
Reference in New Issue
Block a user