From 14d41ad807583576e467063b6288f8684f921750 Mon Sep 17 00:00:00 2001 From: ryan Date: Sun, 31 May 2026 21:00:18 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BC=98=E5=8C=96]=20=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/en/reference/configuration.md | 2 - docs/reference/configuration.md | 2 - openflare_server/common/constants.go | 13 --- openflare_server/controller/option.go | 4 +- openflare_server/model/option.go | 37 -------- .../settings/components/settings-page.tsx | 86 ------------------- 6 files changed, 2 insertions(+), 142 deletions(-) diff --git a/docs/en/reference/configuration.md b/docs/en/reference/configuration.md index 1f1887b5..cacff9f0 100644 --- a/docs/en/reference/configuration.md +++ b/docs/en/reference/configuration.md @@ -80,8 +80,6 @@ The following options are maintained on the settings page of the management cons | `DatabaseAutoCleanupRetentionDays` | In-database retention days, at least 1 day | `30` | | `GlobalApiRateLimitNum` / `GlobalApiRateLimitDuration` | Global API rate limit count / window | `300` / `180` | | `GlobalWebRateLimitNum` / `GlobalWebRateLimitDuration` | Global Web rate limit count / window | `300` / `180` | -| `UploadRateLimitNum` / `UploadRateLimitDuration` | Upload API rate limit count / window | `50` / `60` | -| `DownloadRateLimitNum` / `DownloadRateLimitDuration` | Download API rate limit count / window | `50` / `60` | | `CriticalRateLimitNum` / `CriticalRateLimitDuration` | Sensitive API rate limit count / window | `100` / `1200` | Description: diff --git a/docs/reference/configuration.md b/docs/reference/configuration.md index 0100a817..0934f432 100644 --- a/docs/reference/configuration.md +++ b/docs/reference/configuration.md @@ -80,8 +80,6 @@ go run . --port 3000 --log-dir ./logs | `DatabaseAutoCleanupRetentionDays` | 自动清理保留天数,至少 1 天 | `30` | | `GlobalApiRateLimitNum` / `GlobalApiRateLimitDuration` | 全局 API 限流次数 / 时间窗口 | `300` / `180` | | `GlobalWebRateLimitNum` / `GlobalWebRateLimitDuration` | 全局 Web 限流次数 / 时间窗口 | `300` / `180` | -| `UploadRateLimitNum` / `UploadRateLimitDuration` | 上传接口限流次数 / 时间窗口 | `50` / `60` | -| `DownloadRateLimitNum` / `DownloadRateLimitDuration` | 下载接口限流次数 / 时间窗口 | `50` / `60` | | `CriticalRateLimitNum` / `CriticalRateLimitDuration` | 敏感接口限流次数 / 时间窗口 | `100` / `1200` | 说明: diff --git a/openflare_server/common/constants.go b/openflare_server/common/constants.go index 103f3854..ee7e90db 100644 --- a/openflare_server/common/constants.go +++ b/openflare_server/common/constants.go @@ -139,13 +139,6 @@ const ( RoleRootUser = 100 ) -var ( - FileUploadPermission = RoleGuestUser - FileDownloadPermission = RoleGuestUser - ImageUploadPermission = RoleGuestUser - ImageDownloadPermission = RoleGuestUser -) - // All duration's unit is seconds // Shouldn't larger then RateLimitKeyExpirationDuration var ( @@ -155,12 +148,6 @@ var ( GlobalWebRateLimitNum = 300 GlobalWebRateLimitDuration int64 = 3 * 60 - UploadRateLimitNum = 50 - UploadRateLimitDuration int64 = 60 - - DownloadRateLimitNum = 50 - DownloadRateLimitDuration int64 = 60 - CriticalRateLimitNum = 100 CriticalRateLimitDuration int64 = 20 * 60 ) diff --git a/openflare_server/controller/option.go b/openflare_server/controller/option.go index ac55c7d1..aa500427 100644 --- a/openflare_server/controller/option.go +++ b/openflare_server/controller/option.go @@ -29,13 +29,13 @@ func validateRateLimitOption(key string, value string) error { maxDurationSeconds := int(common.RateLimitKeyExpirationDuration.Seconds()) switch key { - case "GlobalApiRateLimitNum", "GlobalWebRateLimitNum", "UploadRateLimitNum", "DownloadRateLimitNum", "CriticalRateLimitNum": + case "GlobalApiRateLimitNum", "GlobalWebRateLimitNum", "CriticalRateLimitNum": intValue, err := strconv.Atoi(value) if err != nil || intValue <= 0 { return fmt.Errorf("%s 必须为大于 0 的整数", key) } return nil - case "GlobalApiRateLimitDuration", "GlobalWebRateLimitDuration", "UploadRateLimitDuration", "DownloadRateLimitDuration", "CriticalRateLimitDuration": + case "GlobalApiRateLimitDuration", "GlobalWebRateLimitDuration", "CriticalRateLimitDuration": intValue, err := strconv.Atoi(value) if err != nil || intValue <= 0 { return fmt.Errorf("%s 必须为大于 0 的整数秒", key) diff --git a/openflare_server/model/option.go b/openflare_server/model/option.go index 9fa59608..2a99c6df 100644 --- a/openflare_server/model/option.go +++ b/openflare_server/model/option.go @@ -25,10 +25,6 @@ func AllOption() ([]*Option, error) { func InitOptionMap() { common.OptionMapRWMutex.Lock() common.OptionMap = make(map[string]string) - common.OptionMap["FileUploadPermission"] = strconv.Itoa(common.FileUploadPermission) - common.OptionMap["FileDownloadPermission"] = strconv.Itoa(common.FileDownloadPermission) - common.OptionMap["ImageUploadPermission"] = strconv.Itoa(common.ImageUploadPermission) - common.OptionMap["ImageDownloadPermission"] = strconv.Itoa(common.ImageDownloadPermission) common.OptionMap["PasswordLoginEnabled"] = strconv.FormatBool(common.PasswordLoginEnabled) common.OptionMap["PasswordRegisterEnabled"] = strconv.FormatBool(common.PasswordRegisterEnabled) common.OptionMap["EmailVerificationEnabled"] = strconv.FormatBool(common.EmailVerificationEnabled) @@ -95,10 +91,6 @@ func InitOptionMap() { common.OptionMap["GlobalApiRateLimitDuration"] = strconv.FormatInt(common.GlobalApiRateLimitDuration, 10) common.OptionMap["GlobalWebRateLimitNum"] = strconv.Itoa(common.GlobalWebRateLimitNum) common.OptionMap["GlobalWebRateLimitDuration"] = strconv.FormatInt(common.GlobalWebRateLimitDuration, 10) - common.OptionMap["UploadRateLimitNum"] = strconv.Itoa(common.UploadRateLimitNum) - common.OptionMap["UploadRateLimitDuration"] = strconv.FormatInt(common.UploadRateLimitDuration, 10) - common.OptionMap["DownloadRateLimitNum"] = strconv.Itoa(common.DownloadRateLimitNum) - common.OptionMap["DownloadRateLimitDuration"] = strconv.FormatInt(common.DownloadRateLimitDuration, 10) common.OptionMap["CriticalRateLimitNum"] = strconv.Itoa(common.CriticalRateLimitNum) common.OptionMap["CriticalRateLimitDuration"] = strconv.FormatInt(common.CriticalRateLimitDuration, 10) common.OptionMapRWMutex.Unlock() @@ -151,19 +143,6 @@ func updateOptionMap(key string, value string) { common.OptionMap = make(map[string]string) } common.OptionMap[key] = value - if strings.HasSuffix(key, "Permission") { - intValue, _ := strconv.Atoi(value) - switch key { - case "FileUploadPermission": - common.FileUploadPermission = intValue - case "FileDownloadPermission": - common.FileDownloadPermission = intValue - case "ImageUploadPermission": - common.ImageUploadPermission = intValue - case "ImageDownloadPermission": - common.ImageDownloadPermission = intValue - } - } if strings.HasSuffix(key, "Enabled") { boolValue := value == "true" switch key { @@ -370,22 +349,6 @@ func updateOptionMap(key string, value string) { if v, err := strconv.ParseInt(value, 10, 64); err == nil && v > 0 { common.GlobalWebRateLimitDuration = v } - case "UploadRateLimitNum": - if v, err := strconv.Atoi(value); err == nil && v > 0 { - common.UploadRateLimitNum = v - } - case "UploadRateLimitDuration": - if v, err := strconv.ParseInt(value, 10, 64); err == nil && v > 0 { - common.UploadRateLimitDuration = v - } - case "DownloadRateLimitNum": - if v, err := strconv.Atoi(value); err == nil && v > 0 { - common.DownloadRateLimitNum = v - } - case "DownloadRateLimitDuration": - if v, err := strconv.ParseInt(value, 10, 64); err == nil && v > 0 { - common.DownloadRateLimitDuration = v - } case "CriticalRateLimitNum": if v, err := strconv.Atoi(value); err == nil && v > 0 { common.CriticalRateLimitNum = v diff --git a/openflare_server/web/features/settings/components/settings-page.tsx b/openflare_server/web/features/settings/components/settings-page.tsx index b1f6979e..eaeea23b 100644 --- a/openflare_server/web/features/settings/components/settings-page.tsx +++ b/openflare_server/web/features/settings/components/settings-page.tsx @@ -121,10 +121,6 @@ const defaultOperationFields = { GlobalApiRateLimitDuration: '180', GlobalWebRateLimitNum: '300', GlobalWebRateLimitDuration: '180', - UploadRateLimitNum: '50', - UploadRateLimitDuration: '60', - DownloadRateLimitNum: '50', - DownloadRateLimitDuration: '60', CriticalRateLimitNum: '100', CriticalRateLimitDuration: '1200', ServerAddress: '', @@ -428,10 +424,6 @@ export function SettingsPage() { GlobalApiRateLimitDuration: optionMap.GlobalApiRateLimitDuration ?? '180', GlobalWebRateLimitNum: optionMap.GlobalWebRateLimitNum ?? '300', GlobalWebRateLimitDuration: optionMap.GlobalWebRateLimitDuration ?? '180', - UploadRateLimitNum: optionMap.UploadRateLimitNum ?? '50', - UploadRateLimitDuration: optionMap.UploadRateLimitDuration ?? '60', - DownloadRateLimitNum: optionMap.DownloadRateLimitNum ?? '50', - DownloadRateLimitDuration: optionMap.DownloadRateLimitDuration ?? '60', CriticalRateLimitNum: optionMap.CriticalRateLimitNum ?? '100', CriticalRateLimitDuration: optionMap.CriticalRateLimitDuration ?? '1200', ServerAddress: resolvedServerAddress, @@ -1728,22 +1720,6 @@ export function SettingsPage() { 'GlobalWebRateLimitDuration', operationFields.GlobalWebRateLimitDuration, ], - [ - 'UploadRateLimitNum', - operationFields.UploadRateLimitNum, - ], - [ - 'UploadRateLimitDuration', - operationFields.UploadRateLimitDuration, - ], - [ - 'DownloadRateLimitNum', - operationFields.DownloadRateLimitNum, - ], - [ - 'DownloadRateLimitDuration', - operationFields.DownloadRateLimitDuration, - ], [ 'CriticalRateLimitNum', operationFields.CriticalRateLimitNum, @@ -1856,68 +1832,6 @@ export function SettingsPage() { -
-

- 上传 / 下载限流 -

-

- 用于文件上传与下载接口,建议保留相对严格的阈值。 -

-
- - - setOperationFields((previous) => ({ - ...previous, - UploadRateLimitNum: event.target.value, - })) - } - /> - - - - setOperationFields((previous) => ({ - ...previous, - UploadRateLimitDuration: event.target.value, - })) - } - /> - - - - setOperationFields((previous) => ({ - ...previous, - DownloadRateLimitNum: event.target.value, - })) - } - /> - - - - setOperationFields((previous) => ({ - ...previous, - DownloadRateLimitDuration: event.target.value, - })) - } - /> - -
-