mirror of
https://gitee.com/samwaf/SamWaf.git
synced 2025-12-06 06:58:54 +08:00
Merge pull request #559 from samwafgo/feat_update_test_switch
feat:add update beta switch
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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禁用(默认检测最新版本)
|
||||
|
||||
)
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user