mirror of
https://github.com/tobychui/zoraxy.git
synced 2025-06-06 23:57:21 +02:00
implemented update ratelimit
This commit is contained in:
parent
fa11422748
commit
49babbd60f
@ -457,6 +457,26 @@ func ReverseProxyHandleEditEndpoint(w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
requireBasicAuth := (rba == "true")
|
requireBasicAuth := (rba == "true")
|
||||||
|
|
||||||
|
// Rate Limiting?
|
||||||
|
rl, _ := utils.PostPara(r, "rate")
|
||||||
|
if rl == "" {
|
||||||
|
rl = "false"
|
||||||
|
}
|
||||||
|
requireRateLimit := (rl == "true")
|
||||||
|
rlnum, _ := utils.PostPara(r, "ratenum")
|
||||||
|
if rlnum == "" {
|
||||||
|
rlnum = "0"
|
||||||
|
}
|
||||||
|
proxyRateLimit, err := strconv.ParseInt(rlnum, 10, 64)
|
||||||
|
if err != nil {
|
||||||
|
utils.SendErrorResponse(w, "invalid rate limit number")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if proxyRateLimit <= 0 {
|
||||||
|
utils.SendErrorResponse(w, "rate limit number must be greater than 0")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// Bypass WebSocket Origin Check
|
// Bypass WebSocket Origin Check
|
||||||
strbpwsorg, _ := utils.PostPara(r, "bpwsorg")
|
strbpwsorg, _ := utils.PostPara(r, "bpwsorg")
|
||||||
if strbpwsorg == "" {
|
if strbpwsorg == "" {
|
||||||
@ -478,6 +498,8 @@ func ReverseProxyHandleEditEndpoint(w http.ResponseWriter, r *http.Request) {
|
|||||||
newProxyEndpoint.BypassGlobalTLS = bypassGlobalTLS
|
newProxyEndpoint.BypassGlobalTLS = bypassGlobalTLS
|
||||||
newProxyEndpoint.SkipCertValidations = skipTlsValidation
|
newProxyEndpoint.SkipCertValidations = skipTlsValidation
|
||||||
newProxyEndpoint.RequireBasicAuth = requireBasicAuth
|
newProxyEndpoint.RequireBasicAuth = requireBasicAuth
|
||||||
|
newProxyEndpoint.RequireRateLimit = requireRateLimit
|
||||||
|
newProxyEndpoint.RateLimit = proxyRateLimit
|
||||||
newProxyEndpoint.SkipWebSocketOriginCheck = bypassWebsocketOriginCheck
|
newProxyEndpoint.SkipWebSocketOriginCheck = bypassWebsocketOriginCheck
|
||||||
|
|
||||||
//Prepare to replace the current routing rule
|
//Prepare to replace the current routing rule
|
||||||
|
@ -305,6 +305,23 @@
|
|||||||
<div>
|
<div>
|
||||||
`);
|
`);
|
||||||
|
|
||||||
|
} else if (datatype == "ratelimit"){
|
||||||
|
let requireRateLimit = payload.RequireRateLimit;
|
||||||
|
let checkstate = "";
|
||||||
|
if (requireRateLimit){
|
||||||
|
checkstate = "checked";
|
||||||
|
}
|
||||||
|
let rateLimit = payload.RateLimit;
|
||||||
|
|
||||||
|
column.empty().append(`<div class="ui checkbox" style="margin-top: 0.4em;">
|
||||||
|
<input type="checkbox" class="RequireRateLimit" ${checkstate}>
|
||||||
|
<label>Require Rate Limit</label>
|
||||||
|
</div>
|
||||||
|
<div class="ui mini fluid input">
|
||||||
|
<input type="number" class="RateLimit" value="${rateLimit}" placeholder="100" min="1" max="1000" >
|
||||||
|
</div>
|
||||||
|
`);
|
||||||
|
|
||||||
}else if (datatype == 'action'){
|
}else if (datatype == 'action'){
|
||||||
column.empty().append(`
|
column.empty().append(`
|
||||||
<button title="Save" onclick="saveProxyInlineEdit('${uuid.hexEncode()}');" class="ui basic small icon circular button inlineEditActionBtn"><i class="ui green save icon"></i></button>
|
<button title="Save" onclick="saveProxyInlineEdit('${uuid.hexEncode()}');" class="ui basic small icon circular button inlineEditActionBtn"><i class="ui green save icon"></i></button>
|
||||||
@ -352,6 +369,8 @@
|
|||||||
let requireTLS = $(row).find(".RequireTLS")[0].checked;
|
let requireTLS = $(row).find(".RequireTLS")[0].checked;
|
||||||
let skipCertValidations = $(row).find(".SkipCertValidations")[0].checked;
|
let skipCertValidations = $(row).find(".SkipCertValidations")[0].checked;
|
||||||
let requireBasicAuth = $(row).find(".RequireBasicAuth")[0].checked;
|
let requireBasicAuth = $(row).find(".RequireBasicAuth")[0].checked;
|
||||||
|
let requireRateLimit = $(row).find(".RequireRateLimit")[0].checked;
|
||||||
|
let rateLimit = $(row).find(".RateLimit").val();
|
||||||
let bypassGlobalTLS = $(row).find(".BypassGlobalTLS")[0].checked;
|
let bypassGlobalTLS = $(row).find(".BypassGlobalTLS")[0].checked;
|
||||||
let bypassWebsocketOrigin = $(row).find(".SkipWebSocketOriginCheck")[0].checked;
|
let bypassWebsocketOrigin = $(row).find(".SkipWebSocketOriginCheck")[0].checked;
|
||||||
console.log(newDomain, requireTLS, skipCertValidations, requireBasicAuth)
|
console.log(newDomain, requireTLS, skipCertValidations, requireBasicAuth)
|
||||||
@ -368,6 +387,8 @@
|
|||||||
"tlsval": skipCertValidations,
|
"tlsval": skipCertValidations,
|
||||||
"bpwsorg" : bypassWebsocketOrigin,
|
"bpwsorg" : bypassWebsocketOrigin,
|
||||||
"bauth" :requireBasicAuth,
|
"bauth" :requireBasicAuth,
|
||||||
|
"rate" :requireRateLimit,
|
||||||
|
"ratenum" :rateLimit,
|
||||||
},
|
},
|
||||||
success: function(data){
|
success: function(data){
|
||||||
if (data.error !== undefined){
|
if (data.error !== undefined){
|
||||||
|
Loading…
x
Reference in New Issue
Block a user