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

Add backup option

This commit is contained in:
Ycarus 2018-12-12 21:59:08 +01:00
parent cad1cb5a06
commit 6958ceba6f
2 changed files with 21 additions and 3 deletions

View file

@ -222,6 +222,7 @@ function wizard_add()
local servers = luci.http.formvaluetable("server") local servers = luci.http.formvaluetable("server")
for server, _ in pairs(servers) do for server, _ in pairs(servers) do
local server_ip = luci.http.formvalue("%s.server_ip" % server) or "" local server_ip = luci.http.formvalue("%s.server_ip" % server) or ""
local backup = luci.http.formvalue("%s.backup" % server) or "0"
-- OpenMPTCProuter VPS -- OpenMPTCProuter VPS
local openmptcprouter_vps_key = luci.http.formvalue("%s.openmptcprouter_vps_key" % server) or "" local openmptcprouter_vps_key = luci.http.formvalue("%s.openmptcprouter_vps_key" % server) or ""
@ -230,6 +231,7 @@ function wizard_add()
ucic:set("openmptcprouter",server,"password",openmptcprouter_vps_key) ucic:set("openmptcprouter",server,"password",openmptcprouter_vps_key)
ucic:set("openmptcprouter",server,"get_config","1") ucic:set("openmptcprouter",server,"get_config","1")
ucic:set("openmptcprouter",server,"ip",server_ip) ucic:set("openmptcprouter",server,"ip",server_ip)
ucic:set("openmptcprouter",server,"backup",backup)
ucic:save("openmptcprouter") ucic:save("openmptcprouter")
if server_ip ~= "" then if server_ip ~= "" then
serversnb = serversnb + 1 serversnb = serversnb + 1
@ -244,20 +246,21 @@ function wizard_add()
for server, _ in pairs(servers) do for server, _ in pairs(servers) do
local server_ip = luci.http.formvalue("%s.server_ip" % server) or "" local server_ip = luci.http.formvalue("%s.server_ip" % server) or ""
local backup = luci.http.formvalue("%s.backup" % server) or "0"
-- We have an IP, so set it everywhere -- We have an IP, so set it everywhere
if server_ip ~= "" then if server_ip ~= "" then
-- Check if we have more than one IP, in this case use Nginx HA -- Check if we have more than one IP, in this case use Nginx HA
if serversnb > 1 then if serversnb > 1 then
if k == 0 then if backup == "0" then
ss_ip=server_ip ss_ip=server_ip
table.insert(ss_servers_nginx,server_ip .. ":65101 max_fails=3 fail_timeout=30s") table.insert(ss_servers_nginx,server_ip .. ":65101 max_fails=3 fail_timeout=30s")
table.insert(ss_servers_ha,server_ip .. ":65101 weight 1 check") table.insert(ss_servers_ha,server_ip .. ":65101 check")
if vpn_port ~= "" then if vpn_port ~= "" then
table.insert(vpn_servers,server_ip .. ":" .. vpn_port .. " max_fails=3 fail_timeout=30s") table.insert(vpn_servers,server_ip .. ":" .. vpn_port .. " max_fails=3 fail_timeout=30s")
end end
else else
table.insert(ss_servers_nginx,server_ip .. ":65101 backup") table.insert(ss_servers_nginx,server_ip .. ":65101 backup")
table.insert(ss_servers_ha,server_ip .. ":65101 weight 2 check") table.insert(ss_servers_ha,server_ip .. ":65101 backup")
if vpn_port ~= "" then if vpn_port ~= "" then
table.insert(vpn_servers,server_ip .. ":" .. vpn_port .. " backup") table.insert(vpn_servers,server_ip .. ":" .. vpn_port .. " backup")
end end

View file

@ -50,6 +50,10 @@ end
<fieldset class="cbi-section" id="server"> <fieldset class="cbi-section" id="server">
<legend><%:Server settings%></legend> <legend><%:Server settings%></legend>
<% <%
nbserver=0
uci:foreach("openmptcprouter","server", function(s)
nbserver=nbserver+1
end)
uci:foreach("openmptcprouter","server", function(s) uci:foreach("openmptcprouter","server", function(s)
servername = s[".name"] servername = s[".name"]
%> %>
@ -79,7 +83,18 @@ end
</div> </div>
</div> </div>
</div> </div>
<%
if nbserver > 1 then
%>
<br />
<div class="cbi-value">
<label class="cbi-value-title"><%:Set server as backup%></label>
<div class="cbi-value-field">
<input class="cbi-input-checkbox" type="checkbox" name="<%=servername%>.backup" value="1" <% if uci:get("openmptcprouter",servername,"backup") == "1" then %>checked<% end %>/>
</div>
</div>
<% <%
end
end) end)
%> %>
<div class="cbi-section-create"> <div class="cbi-section-create">