diff --git a/internal/utils/numberutils/utils.go b/internal/utils/numberutils/utils.go index d2588969..9650ebfc 100644 --- a/internal/utils/numberutils/utils.go +++ b/internal/utils/numberutils/utils.go @@ -30,17 +30,17 @@ func FormatBytes(bytes int64) string { if bytes < Pow1024(1) { return FormatInt64(bytes) + "B" } else if bytes < Pow1024(2) { - return TrimZeroSuffix(fmt.Sprintf("%.2fKB", float64(bytes)/float64(Pow1024(1)))) + return TrimZeroSuffix(fmt.Sprintf("%.2fKiB", float64(bytes)/float64(Pow1024(1)))) } else if bytes < Pow1024(3) { - return TrimZeroSuffix(fmt.Sprintf("%.2fMB", float64(bytes)/float64(Pow1024(2)))) + return TrimZeroSuffix(fmt.Sprintf("%.2fMiB", float64(bytes)/float64(Pow1024(2)))) } else if bytes < Pow1024(4) { - return TrimZeroSuffix(fmt.Sprintf("%.2fGB", float64(bytes)/float64(Pow1024(3)))) + return TrimZeroSuffix(fmt.Sprintf("%.2fGiB", float64(bytes)/float64(Pow1024(3)))) } else if bytes < Pow1024(5) { - return TrimZeroSuffix(fmt.Sprintf("%.2fTB", float64(bytes)/float64(Pow1024(4)))) + return TrimZeroSuffix(fmt.Sprintf("%.2fTiB", float64(bytes)/float64(Pow1024(4)))) } else if bytes < Pow1024(6) { - return TrimZeroSuffix(fmt.Sprintf("%.2fPB", float64(bytes)/float64(Pow1024(5)))) + return TrimZeroSuffix(fmt.Sprintf("%.2fPiB", float64(bytes)/float64(Pow1024(5)))) } else { - return TrimZeroSuffix(fmt.Sprintf("%.2fEB", float64(bytes)/float64(Pow1024(6)))) + return TrimZeroSuffix(fmt.Sprintf("%.2fEiB", float64(bytes)/float64(Pow1024(6)))) } } diff --git a/web/public/js/components.js b/web/public/js/components.js index 60d94cc6..b1803129 100644 --- a/web/public/js/components.js +++ b/web/public/js/components.js @@ -1044,7 +1044,7 @@ Vue.component("traffic-map-box",{props:["v-stats","v-is-attack"],mounted:functio 按{{plan.bandwidthPrice.percentile}}th带宽计费
按在计时时间段内(5分钟)最高带宽峰值计算,比如5分钟内最高的某个时间点带宽为100Mbps,那么就认为此时间段内的峰值带宽为100Mbps。修改此选项会同时影响到用量统计图表。
-按在计时时间段内(5分钟)平均带宽计算,即此时间段内的总流量除以时间段的秒数,比如5分钟(300秒)内总流量600MB,那么带宽即为
按在计时时间段内(5分钟)平均带宽计算,即此时间段内的总流量除以时间段的秒数,比如5分钟(300秒)内总流量600MiB,那么带宽即为
|
使用系统默认的设置。 {{captchaType.description}} @@ -2546,43 +2546,117 @@ Vue.component("traffic-map-box",{props:["v-stats","v-is-attack"],mounted:functio -`}),Vue.component("http-optimization-config-box",{props:["v-optimization-config","v-is-location","v-is-group"],data:function(){return{config:this.vOptimizationConfig,moreOptionsVisible:!1}},methods:{isOn:function(){return(!this.vIsLocation&&!this.vIsGroup||this.config.isPrior)&&this.config.isOn}},template:`
+ `}),Vue.component("http-optimization-config-box",{props:["v-optimization-config","v-is-location","v-is-group"],data:function(){return{config:this.vOptimizationConfig,htmlMoreOptions:!1,javascriptMoreOptions:!1,cssMoreOptions:!1}},methods:{isOn:function(){return(!this.vIsLocation&&!this.vIsGroup||this.config.isPrior)&&this.config.isOn}},template:`
- `}),Vue.component("http-firewall-captcha-options",{props:["v-captcha-options"],mounted:function(){this.updateSummary()},data:function(){let e=this.vCaptchaOptions;return(e=null==e?{captchaType:"default",countLetters:0,life:0,maxFails:0,failBlockTimeout:0,failBlockScopeAll:!1,uiIsOn:!1,uiTitle:"",uiPrompt:"",uiButtonTitle:"",uiShowRequestId:!0,uiCss:"",uiFooter:"",uiBody:"",cookieId:"",lang:""}:e).countLetters<=0&&(e.countLetters=6),null!=e.captchaType&&0!=e.captchaType.length||(e.captchaType="default"),{options:e,isEditing:!1,summary:"",uiBodyWarning:"",captchaTypes:window.WAF_CAPTCHA_TYPES}},watch:{"options.countLetters":function(e){let t=parseInt(e,10);isNaN(t)||t<0?t=0:10
@@ -5419,7 +5493,6 @@ example2.com
定制UI |
|
-
|
| 允许用户使用极验 | +选中后,表示允许用户在WAF设置中选择极验。 + |
+
| 极验-验证ID * | +
+
+ 在极验控制台--业务管理中获取。 + |
+
| 极验-验证Key * | +
+
+ 在极验控制台--业务管理中获取。 + |
+
按在计时时间段内(5分钟)最高带宽峰值计算,比如5分钟内最高的某个时间点带宽为100Mbps,那么就认为此时间段内的峰值带宽为100Mbps。修改此选项会同时影响到用量统计图表。
-按在计时时间段内(5分钟)平均带宽计算,即此时间段内的总流量除以时间段的秒数,比如5分钟(300秒)内总流量600MB,那么带宽即为
按在计时时间段内(5分钟)平均带宽计算,即此时间段内的总流量除以时间段的秒数,比如5分钟(300秒)内总流量600MiB,那么带宽即为
使用系统默认的设置。
{{captchaType.description}}
@@ -7412,7 +7426,9 @@ Vue.component("http-optimization-config-box", { return { config: config, - moreOptionsVisible: false + htmlMoreOptions: false, + javascriptMoreOptions: false, + cssMoreOptions: false } }, methods: { @@ -7422,41 +7438,115 @@ Vue.component("http-optimization-config-box", { }, template: `| HTML优化 | -
-
-
-
-
- 可以自动优化HTML中包含的空白、注释、空标签等。只有文件可以缓存时才会被优化。 - |
-
| Javascript优化 | -
-
-
-
-
- 可以自动缩短Javascript中变量、函数名称等。只有文件可以缓存时才会被优化。 - |
-
| CSS优化 | -
-
-
-
-
- 可以自动去除CSS中包含的空白。只有文件可以缓存时才会被优化。 - |
-
| HTML优化 | +
+
+
+
+
+ 可以自动优化HTML中包含的空白、注释、空标签等。只有文件可以缓存时才会被优化。 + |
+
| HTML例外URL | +
+ 如果填写了例外URL,表示这些URL跳过CC防护不做处理。 + |
+
| HTML限制URL | +
+ 如果填写了限制URL,表示只对这些URL进行CC防护处理;如果不填则表示支持所有的URL。 + |
+
| Javascript优化 | +
+
+
+
+
+ 可以自动缩短Javascript中变量、函数名称等。只有文件可以缓存时才会被优化。 + |
+
| Javascript例外URL | +
+ 如果填写了例外URL,表示这些URL跳过CC防护不做处理。 + |
+
| Javascript限制URL | +
+ 如果填写了限制URL,表示只对这些URL进行CC防护处理;如果不填则表示支持所有的URL。 + |
+
| CSS优化 | +
+
+
+
+
+ 可以自动去除CSS中包含的空白。只有文件可以缓存时才会被优化。 + |
+
| CSS例外URL | +
+ 如果填写了例外URL,表示这些URL跳过CC防护不做处理。 + |
+
| CSS限制URL | +
+ 如果填写了限制URL,表示只对这些URL进行CC防护处理;如果不填则表示支持所有的URL。 + |
+
在基础信息之外要存储的信息。 - 记录"请求Body"将会显著消耗更多的系统资源,建议仅在调试时启用,最大记录尺寸为2MB。 + 记录"请求Body"将会显著消耗更多的系统资源,建议仅在调试时启用,最大记录尺寸为2MiB。
@@ -12121,6 +12221,11 @@ Vue.component("http-firewall-captcha-options-viewer", { summaryList.push("定制UI") } } + + if (this.options.geeTestConfig.isOn) { + summaryList.push("已配置极验") + } + if (summaryList.length == 0) { this.summary = "默认配置" } else { @@ -15155,7 +15260,12 @@ Vue.component("http-firewall-captcha-options", { uiFooter: "", uiBody: "", cookieId: "", - lang: "" + lang: "", + geeTestConfig: { + isOn: false, + captchaId: "", + captchaKey: "" + } } } if (options.countLetters <= 0) { @@ -15166,6 +15276,7 @@ Vue.component("http-firewall-captcha-options", { options.captchaType = "default" } + return { options: options, isEditing: false, @@ -15225,6 +15336,9 @@ Vue.component("http-firewall-captcha-options", { } else { this.uiBodyWarning = "" } + }, + "options.geeTestConfig.isOn": function (v) { + this.updateSummary() } }, methods: { @@ -15260,6 +15374,10 @@ Vue.component("http-firewall-captcha-options", { } } + if (this.options.geeTestConfig.isOn) { + summaryList.push("已配置极验") + } + if (summaryList.length == 0) { this.summary = "默认配置" } else { @@ -15335,7 +15453,6 @@ Vue.component("http-firewall-captcha-options", {| 允许用户使用极验 | +选中后,表示允许用户在WAF设置中选择极验。 + |
+
| 极验-验证ID * | +
+
+ 在极验控制台--业务管理中获取。 + |
+
| 极验-验证Key * | +
+
+ 在极验控制台--业务管理中获取。 + |
+
在基础信息之外要存储的信息。 - 记录"请求Body"将会显著消耗更多的系统资源,建议仅在调试时启用,最大记录尺寸为2MB。 + 记录"请求Body"将会显著消耗更多的系统资源,建议仅在调试时启用,最大记录尺寸为2MiB。
缓存磁盘保留的最小空余空间,如果为0表示自动限制(目前默认保留5GB)。
+缓存磁盘保留的最小空余空间,如果为0表示自动限制(目前默认保留5GiB)。
缓存磁盘保留的最小空余空间,如果为0表示使用默认(目前默认保留5GB)。
+缓存磁盘保留的最小空余空间,如果为0表示使用默认(目前默认保留5GiB)。
按在计时时间段内(5分钟)最高带宽峰值计算,比如5分钟内最高的某个时间点带宽为100Mbps,那么就认为此时间段内的峰值带宽为100Mbps。
-按在计时时间段内(5分钟)平均带宽计算,即此时间段内的总流量除以时间段的秒数,比如5分钟(300秒)内总流量600MB,那么带宽即为
按在计时时间段内(5分钟)平均带宽计算,即此时间段内的总流量除以时间段的秒数,比如5分钟(300秒)内总流量600MiB,那么带宽即为