Merge pull request #559 from samwafgo/feat_update_test_switch

feat:add update beta switch
This commit is contained in:
samwafgo
2025-11-24 14:33:08 +08:00
committed by GitHub
3 changed files with 28 additions and 13 deletions

View File

@@ -11,10 +11,11 @@ import (
"SamWaf/wafupdate"
"errors"
"fmt"
"github.com/gin-gonic/gin"
"io"
"net/http"
"time"
"github.com/gin-gonic/gin"
)
type WafSysInfoApi struct {
@@ -133,18 +134,24 @@ func (w *WafSysInfoApi) CheckVersionApi(c *gin.Context) {
VersionDesc: desc,
}, "有新版本", c)
} else {
available, newVer, desc, _ = updater.UpdateAvailableWithChannel("github")
if available {
global.GWAF_RUNTIME_NEW_VERSION = newVer
global.GWAF_RUNTIME_NEW_VERSION_DESC = desc
response.OkWithDetailed(model.VersionInfo{
Version: global.GWAF_RELEASE_VERSION,
VersionName: global.GWAF_RELEASE_VERSION_NAME,
VersionRelease: global.GWAF_RELEASE,
NeedUpdate: true,
VersionNew: newVer,
VersionDesc: desc,
}, "有新版本(测试版)", c)
// 检查是否启用beta版本检测
if global.GCONFIG_CHECK_BETA_VERSION == 1 {
available, newVer, desc, _ = updater.UpdateAvailableWithChannel("github")
if available {
global.GWAF_RUNTIME_NEW_VERSION = newVer
global.GWAF_RUNTIME_NEW_VERSION_DESC = desc
response.OkWithDetailed(model.VersionInfo{
Version: global.GWAF_RELEASE_VERSION,
VersionName: global.GWAF_RELEASE_VERSION_NAME,
VersionRelease: global.GWAF_RELEASE,
NeedUpdate: true,
VersionNew: newVer,
VersionDesc: desc,
}, "有新版本(测试版)", c)
} else {
response.FailWithMessage("没有最新版本", c)
return
}
} else {
response.FailWithMessage("没有最新版本", c)
return

View File

@@ -59,4 +59,6 @@ var (
GCONFIG_IP_FAILURE_BAN_ENABLED int64 = 0 //是否启用IP失败封禁 1启用 0禁用
GCONFIG_IP_FAILURE_BAN_LOCK_TIME int64 = 10 //IP失败封禁锁定时间分钟默认10分钟
GCONFIG_CHECK_BETA_VERSION int64 = 1 //是否检测beta版本更新 1启用 0禁用默认检测最新版本
)

View File

@@ -120,6 +120,9 @@ func setConfigIntValue(name string, value int64, change int) {
case "ip_failure_ban_lock_time":
global.GCONFIG_IP_FAILURE_BAN_LOCK_TIME = value
break
case "check_beta_version":
global.GCONFIG_CHECK_BETA_VERSION = value
break
default:
zlog.Warn("Unknown config item:", name)
}
@@ -296,4 +299,7 @@ func TaskLoadSetting(initLoad bool) {
updateConfigStringItem(initLoad, "security", "ip_failure_status_codes", global.GCONFIG_IP_FAILURE_STATUS_CODES, "失败状态码配置,支持多个用|分隔也支持正则表达式例如401|403|404|444|429|503 或 ^4[0-9]{2}$", "string", "", configMap)
updateConfigIntItem(initLoad, "security", "ip_failure_ban_enabled", global.GCONFIG_IP_FAILURE_BAN_ENABLED, "是否启用IP失败封禁1启用 0禁用", "options", "0|禁用,1|启用", configMap)
updateConfigIntItem(initLoad, "security", "ip_failure_ban_lock_time", global.GCONFIG_IP_FAILURE_BAN_LOCK_TIME, "IP失败封禁锁定时间单位分钟默认10分钟", "int", "", configMap)
// 版本更新相关配置
updateConfigIntItem(initLoad, "system", "check_beta_version", global.GCONFIG_CHECK_BETA_VERSION, "是否检测beta版本更新1启用 0禁用", "options", "0|禁用,1|启用", configMap)
}