diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua index 05a2a34fa..db2ff0922 100644 --- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua +++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua @@ -17,6 +17,7 @@ function index() entry({"admin", "system", "openmptcprouter", "interfaces_status"}, call("interfaces_status")).leaf = true entry({"admin", "system", "openmptcprouter", "settings"}, template("openmptcprouter/settings"), _("Advanced Settings"), 3).leaf = true entry({"admin", "system", "openmptcprouter", "settings_add"}, post("settings_add")).leaf = true + entry({"admin", "system", "openmptcprouter", "update_vps"}, post("update_vps")).leaf = true end function interface_from_device(dev) @@ -448,6 +449,20 @@ function settings_add() return end +function update_vps() + -- Update VPS + local update_vps = luci.http.formvalue("flash") or "" + if update_vps ~= "" then + local token = uci:get("openmptcprouter","vps","token") or "" + if token ~= "" then + sys.exec('curl -4 --max-time 20 -s -k -H "Authorization: Bearer ' .. token .. '" https://' .. mArray.openmptcprouter["service_addr"] .. ":65500/update") + luci.sys.call("/etc/init.d/openmptcprouter-vps restart >/dev/null 2>/dev/null") + luci.http.redirect(luci.dispatcher.build_url("admin/system/openmptcprouter/status")) + return + end + end +end + function get_ip(interface) local dump = require("luci.util").ubus("network.interface.%s" % interface, "status", {}) local ip = "" @@ -589,6 +604,7 @@ function interfaces_status() if vpsinfo.vps ~= nil then mArray.openmptcprouter["vps_loadavg"] = vpsinfo.vps.loadavg or "" mArray.openmptcprouter["vps_uptime"] = vpsinfo.vps.uptime or "" + mArray.openmptcprouter["vps_mptcp"] = vpsinfo.vps.mptcp or "" end end end diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm index 98da2d13f..93593b6ac 100644 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm @@ -1,6 +1,31 @@ <%+header%> <% if stderr and #stderr > 0 then %>
<%=pcdata(stderr)%>
<% 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") + if omr_version ~= "" and latest_omr_version ~= "" and omr_version ~= latest_omr_version then +%> +
+
+

<%:Update VPSs%>

+
+
<%:Update remotly OpenMPTCProuter server to latest version when needed.%> <%:Beta%>
+
+ +
+ + + +
+
+
+
+<% + end +%> + +

<%:Advanced Settings%>

diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm index 8a2b3bf71..287a18448 100644 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wanstatus.htm @@ -211,6 +211,10 @@ } else if (mArray.openmptcprouter.socks_service_enabled == true && mArray.openmptcprouter.ss_addr == "") { statusMessage += 'Can\'t get public IP address from ShadowSocks
'; + } + if (mArray.openmptcprouter.vps_mptcp == "0") + { + statusMessage += 'MPTCP is not enabled on the server
'; } if (statusMessage !== "") {