diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua index c32da267f..16e7c075d 100644 --- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua +++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua @@ -344,6 +344,7 @@ function wizard_add() -- Retrieve all server settings local serversnb = 0 + local disablednb = 0 local servers = luci.http.formvaluetable("server") for server, _ in pairs(servers) do local server_ip = luci.http.formvalue("%s.server_ip" % server) or "" @@ -352,9 +353,14 @@ function wizard_add() -- OpenMPTCProuter VPS local openmptcprouter_vps_key = luci.http.formvalue("%s.openmptcprouter_vps_key" % server) or "" local openmptcprouter_vps_username = luci.http.formvalue("%s.openmptcprouter_vps_username" % server) or "" + local openmptcprouter_vps_disabled = luci.http.formvalue("%s.openmptcprouter_vps_disabled" % server) or "" + if openmptcprouter_vps_disabled == "1" then + disablednb = disablednb + 1 + end ucic:set("openmptcprouter",server,"server") ucic:set("openmptcprouter",server,"username",openmptcprouter_vps_username) ucic:set("openmptcprouter",server,"password",openmptcprouter_vps_key) + ucic:set("openmptcprouter",server,"disabled",openmptcprouter_vps_disabled) if master == server or (master == "" and serversnb == 0) then ucic:set("openmptcprouter",server,"get_config","1") ucic:set("openmptcprouter",server,"master","1") @@ -465,6 +471,9 @@ function wizard_add() -- Set ShadowSocks settings local shadowsocks_key = luci.http.formvalue("shadowsocks_key") local shadowsocks_disable = luci.http.formvalue("disableshadowsocks") or "0" + if disablednb == serversnb then + shadowsocks_disable = 1 + end if shadowsocks_key ~= "" then ucic:set("shadowsocks-libev","sss0","key",shadowsocks_key) --ucic:set("shadowsocks-libev","sss0","method","chacha20-ietf-poly1305") @@ -489,7 +498,7 @@ function wizard_add() end -- Set Glorytun settings - if default_vpn:match("^glorytun.*") then + if default_vpn:match("^glorytun.*") and disablednb ~= serversnb then ucic:set("glorytun","vpn","enable",1) else ucic:set("glorytun","vpn","enable",0) @@ -523,7 +532,7 @@ function wizard_add() ucic:commit("glorytun") -- Set A Dead Simple VPN settings - if default_vpn == "dsvpn" then + if default_vpn == "dsvpn" and disablednb ~= serversnb then ucic:set("dsvpn","vpn","enable",1) else ucic:set("dsvpn","vpn","enable",0) @@ -546,7 +555,7 @@ function wizard_add() ucic:commit("dsvpn") -- Set MLVPN settings - if default_vpn == "mlvpn" then + if default_vpn == "mlvpn" and disablednb ~= serversnb then ucic:set("mlvpn","general","enable",1) ucic:set("network","omrvpn","proto","dhcp") else @@ -566,7 +575,7 @@ function wizard_add() ucic:commit("mlvpn") -- Set UBOND settings - if default_vpn == "ubond" then + if default_vpn == "ubond" and disablednb ~= serversnb then ucic:set("ubond","general","enable",1) ucic:set("network","omrvpn","proto","dhcp") else @@ -585,7 +594,7 @@ function wizard_add() ucic:save("ubond") ucic:commit("ubond") - if default_vpn == "openvpn" then + if default_vpn == "openvpn" and disablednb ~= serversnb then ucic:set("openvpn","omr","enabled",1) ucic:set("network","omrvpn","proto","none") else diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm index 49870ca19..cf410db78 100644 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm @@ -110,6 +110,15 @@ end <% end + %> +
+
+ +
+ checked<% end %>/> +
+
+ <% end) %>