1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00

Fix remove server and add redirect all ports from server to OMR for each server

This commit is contained in:
Ycarus 2018-12-21 16:20:20 +01:00
parent 9e4aaea7a2
commit 27421993e6
3 changed files with 44 additions and 14 deletions

View file

@ -45,8 +45,18 @@ function wizard_add()
local delete_server = luci.http.formvaluetable("deleteserver") or "" local delete_server = luci.http.formvaluetable("deleteserver") or ""
if delete_server ~= "" then if delete_server ~= "" then
for serverdel, _ in pairs(delete_server) do for serverdel, _ in pairs(delete_server) do
luci.sys.call("uci -q del openmptcprouter." .. serverdel) ucic:foreach("network", "interface", function(s)
gostatus = false local sectionname = s[".name"]
ucic:delete("network","server_" .. serverdel .. "_" .. sectionname .. "_route")
end)
ucic:delete("network","server_" .. serverdel .. "_default_route")
ucic:delete("openmptcprouter",serverdel)
ucic:save("openmptcprouter")
ucic:commit("openmptcprouter")
ucic:save("network")
ucic:commit("network")
luci.http.redirect(luci.dispatcher.build_url("admin/system/openmptcprouter/wizard"))
return
end end
end end
@ -439,8 +449,10 @@ end
function settings_add() function settings_add()
-- Redirects all ports from VPS to OpenMPTCProuter -- Redirects all ports from VPS to OpenMPTCProuter
local redirect_ports = luci.http.formvalue("redirect_ports") or "0" local redirect_ports = luci.http.formvaluetable("redirect_ports")
ucic:set("openmptcprouter","vps","redirect_ports",redirect_ports) for server, value in pairs(redirect_ports) do
ucic:set("openmptcprouter",server,"redirect_ports",value)
end
-- Set tcp_keepalive_time -- Set tcp_keepalive_time
local tcp_keepalive_time = luci.http.formvalue("tcp_keepalive_time") local tcp_keepalive_time = luci.http.formvalue("tcp_keepalive_time")
@ -506,7 +518,7 @@ function update_vps()
ucic:foreach("openmptcprouter", "server", function(s) ucic:foreach("openmptcprouter", "server", function(s)
local serverip = ucic:get("openmptcprouter",s[".name"],"ip") local serverip = ucic:get("openmptcprouter",s[".name"],"ip")
local adminport = ucic:get("openmptcprouter",s[".name"],"port") or "65500" local adminport = ucic:get("openmptcprouter",s[".name"],"port") or "65500"
local token = uci:get("openmptcprouter",s[".name"],"token") or "" local token = ucic:get("openmptcprouter",s[".name"],"token") or ""
if token ~= "" then if token ~= "" then
sys.exec('curl -4 --max-time 20 -s -k -H "Authorization: Bearer ' .. token .. '" https://' .. serverip .. ":" .. adminport .. "/update") sys.exec('curl -4 --max-time 20 -s -k -H "Authorization: Bearer ' .. token .. '" https://' .. serverip .. ":" .. adminport .. "/update")
luci.sys.call("/etc/init.d/openmptcprouter-vps restart >/dev/null 2>/dev/null") luci.sys.call("/etc/init.d/openmptcprouter-vps restart >/dev/null 2>/dev/null")

View file

@ -2,9 +2,16 @@
<% if stderr and #stderr > 0 then %><pre class="error"><%=pcdata(stderr)%></pre><% end %> <% if stderr and #stderr > 0 then %><pre class="error"><%=pcdata(stderr)%></pre><% end %>
<% <%
local omr_version=luci.model.uci.cursor():get("openmptcprouter","vps","omr_version")
local latest_omr_version=luci.model.uci.cursor():get("openmptcprouter","latest_versions","vps") local latest_omr_version=luci.model.uci.cursor():get("openmptcprouter","latest_versions","vps")
if omr_version ~= "" and latest_omr_version ~= "" and omr_version ~= latest_omr_version then omr_test = false
uci:foreach("openmptcprouter","server", function(s)
servername = s[".name"]
local omr_version=luci.model.uci.cursor():get("openmptcprouter",servername,"omr_version")
if omr_version ~= "" and latest_omr_version ~= "" and omr_version ~= latest_omr_version then
omr_test = true
end
end)
if omr_test == true then
%> %>
<form class="inline" method="post" action="<%=url('admin/system/openmptcprouter/update_vps')%>"> <form class="inline" method="post" action="<%=url('admin/system/openmptcprouter/update_vps')%>">
<div class="cbi-map"> <div class="cbi-map">
@ -15,6 +22,7 @@
<label class="cbi-value-title"><%:Update OpenMPTCProuter server%></label> <label class="cbi-value-title"><%:Update OpenMPTCProuter server%></label>
<div class="cbi-value-field"> <div class="cbi-value-field">
<input type="hidden" name="token" value="<%=token%>" /> <input type="hidden" name="token" value="<%=token%>" />
<input type="hidden" name="server" value="<%=servername%>" />
<input type="hidden" name="flash" value="1" /> <input type="hidden" name="flash" value="1" />
<input type="submit" name="update_vps" class="cbi-button cbi-button-apply" value="<%:Update%>"> <input type="submit" name="update_vps" class="cbi-button cbi-button-apply" value="<%:Update%>">
</div> </div>
@ -31,13 +39,23 @@
<h2 name="content"><%:Advanced Settings%></h2> <h2 name="content"><%:Advanced Settings%></h2>
<fieldset class="cbi-section" id="networks"> <fieldset class="cbi-section" id="networks">
<legend><%:VPS settings%></legend> <legend><%:VPS settings%></legend>
<div class="cbi-section-descr"></div> <%
<div class="cbi-value"> uci:foreach("openmptcprouter","server", function(s)
<label class="cbi-value-title"><%:Redirects all ports from VPS to OpenMPTCProuter%></label> servername = s[".name"]
<div class="cbi-value-field"> %>
<input type="checkbox" name="redirect_ports" class="cbi-input-checkbox" value="1" <% if luci.model.uci.cursor():get("openmptcprouter","vps","redirect_ports") == "1" then %>checked<% end %>> <h3><%=servername%></h3>
<div class="cbi-section-node">
<div class="cbi-section-descr"></div>
<div class="cbi-value">
<label class="cbi-value-title"><%:Redirects all ports from server to OpenMPTCProuter%></label>
<div class="cbi-value-field">
<input type="checkbox" name="redirect_ports.<%=servername%>" class="cbi-input-checkbox" value="1" <% if luci.model.uci.cursor():get("openmptcprouter",servername,"redirect_ports") == "1" then %>checked<% end %>>
</div>
</div> </div>
</div> </div>
<%
end)
%>
<div class="cbi-value"> <div class="cbi-value">
<label class="cbi-value-title"><%:Enable ShadowSocks OBFS%></label> <label class="cbi-value-title"><%:Enable ShadowSocks OBFS%></label>
<div class="cbi-value-field"> <div class="cbi-value-field">

View file

@ -302,7 +302,7 @@ end
<input type="text" name="cbid.sqm.<%=ifname%>.download" class="cbi-input-text" value="<%=download%>" data-type="uinteger"> <input type="text" name="cbid.sqm.<%=ifname%>.download" class="cbi-input-text" value="<%=download%>" data-type="uinteger">
<br /> <br />
<div class="cbi-value-description"> <div class="cbi-value-description">
<%:Set value between 80-95% of max download speed link. 0 to disable.%> <%:Set value between 80-95% of max download speed link. 0 to disable SQM/QoS.%>
</div> </div>
</div> </div>
</div> </div>
@ -312,7 +312,7 @@ end
<input type="text" name="cbid.sqm.<%=ifname%>.upload" class="cbi-input-text" value="<%=upload%>" data-type="uinteger"> <input type="text" name="cbid.sqm.<%=ifname%>.upload" class="cbi-input-text" value="<%=upload%>" data-type="uinteger">
<br /> <br />
<div class="cbi-value-description"> <div class="cbi-value-description">
<%:Set value between 80-95% of max upload speed link. 0 to disable.%> <%:Set value between 80-95% of max upload speed link. 0 to disable SQM/QoS.%>
</div> </div>
</div> </div>
</div> </div>