diff options
Diffstat (limited to 'applications')
10 files changed, 351 insertions, 298 deletions
diff --git a/applications/luci-app-simple-adblock/Makefile b/applications/luci-app-simple-adblock/Makefile index ce8ded98a..75fb2c56c 100644 --- a/applications/luci-app-simple-adblock/Makefile +++ b/applications/luci-app-simple-adblock/Makefile @@ -10,7 +10,7 @@ LUCI_TITLE:=Simple Adblock Web UI LUCI_DESCRIPTION:=Provides Web UI for simple-adblock service. LUCI_DEPENDS:=+luci-compat +luci-mod-admin-full +simple-adblock LUCI_PKGARCH:=all -PKG_RELEASE:=42 +PKG_RELEASE:=43 include ../../luci.mk diff --git a/applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua b/applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua index ce5626f8e..15e757cf4 100644 --- a/applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua +++ b/applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua @@ -49,13 +49,12 @@ elseif targetDNS == "unbound.adb_list" then outputGzip="/etc/" .. packageName .. ".unbound.gz" end -local tmpfs +local tmpfs, tmpfsMessage, tmpfsError, tmpfsStats +local tmpfsVersion, tmpfsStatus = "", "Stopped" if fs.access("/var/run/" .. packageName .. ".json") then tmpfs = jsonc.parse(util.trim(sys.exec("cat /var/run/" .. packageName .. ".json"))) end -local tmpfsVersion, tmpfsStatus = "", "Stopped" -local tmpfsMessage, tmpfsError, tmpfsStats if tmpfs and tmpfs['data'] then if tmpfs['data']['status'] and tmpfs['data']['status'] ~= "" then tmpfsStatus = tmpfs['data']['status'] @@ -109,7 +108,7 @@ errorTable["errorParsingList"] = translate("failed to parse") m = Map("simple-adblock", translate("Simple AdBlock Settings")) m.apply_on_parse = true m.on_after_apply = function(self) - sys.call("/etc/init.d/simple-adblock restart") + sys.call("/etc/init.d/simple-adblock restart") end h = m:section(NamedSection, "config", "simple-adblock", translate("Service Status") .. " [" .. tmpfsVersion .. "]") @@ -144,7 +143,6 @@ else ss = h:option(DummyValue, "_dummy", translate("Service Status")) ss.template = "simple-adblock/status" if tmpfsStatus == "statusSuccess" then --- ss.value = tmpfsStats ss.value = tmpfsVersion .. " " .. translate("is blocking") .. " " .. util.trim(sys.exec("wc -l < " .. outputFile)) .. " " .. translate("domains") .. " (" .. translate("with") .. @@ -172,8 +170,10 @@ else end end end - buttons = h:option(DummyValue, "_dummy") - buttons.template = "simple-adblock/buttons" + if tmpfsVersion ~= "" then + buttons = h:option(DummyValue, "_dummy") + buttons.template = packageName .. "/buttons" + end end s = m:section(NamedSection, "config", "simple-adblock", translate("Configuration")) diff --git a/applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm b/applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm index 08b725cf7..0651ce459 100644 --- a/applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm +++ b/applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm @@ -1,69 +1,88 @@ -<%# - Copyright 2019 Stan Grishin <stangri@melmac.net> --%> +<%# Copyright 2020 Stan Grishin <stangri@melmac.net> -%> + +<%+simple-adblock/css%> +<%+simple-adblock/js%> <%- local packageName = "simple-adblock" - local enabledFlag = luci.model.uci.cursor():get(packageName, "config", "enabled") + local serviceRunning, serviceEnabled = false, false; + local tmpfs, tmpfsStatus; if nixio.fs.access("/var/run/" .. packageName .. ".json") then tmpfs = luci.jsonc.parse(luci.util.trim(luci.sys.exec("cat /var/run/" .. packageName .. ".json"))) - end - local tmpfsVersion, tmpfsStatus, tmpfsMessage, tmpfsError, tmpfsStats = "", "Stopped" - if tmpfs and tmpfs['data'] then - if tmpfs['data']['status'] and tmpfs['data']['status'] ~= "" then + if tmpfs and tmpfs['data'] and tmpfs['data']['status'] then tmpfsStatus = tmpfs['data']['status'] end - if tmpfs['data']['message'] and tmpfs['data']['message'] ~= "" then - tmpfsMessage = tmpfs['data']['message'] - end - if tmpfs['data']['error'] and tmpfs['data']['error'] ~= "" then - tmpfsError = tmpfs['data']['error'] - end - if tmpfs['data']['stats'] and tmpfs['data']['stats'] ~= "" then - tmpfsStats = tmpfs['data']['stats'] - end - if tmpfs['data']['version'] and tmpfs['data']['version'] ~= "" then - tmpfsVersion = " (" .. packageName .. " " .. tmpfs['data']['version'] .. ")" - end end - if tmpfsStatus == "Stopped" then - btn_start_style = "cbi-button cbi-button-apply important" - btn_action_style = "cbi-button cbi-button-apply important" - btn_stop_style = "cbi-button cbi-button-reset -disabled" + if tmpfsStatus == "statusStarting" or tmpfsStatus == "statusRestarting" or + tmpfsStatus == "statusForceReloading" or tmpfsStatus == "statusDownloading" or + tmpfsStatus == "statusError" or tmpfsStatus == "statusWarning" + or tmpfsStatus == "statusSuccess" then + serviceRunning = true + end + + if luci.model.uci.cursor():get(packageName, "config", "enabled") == "1" then + serviceEnabled = true + end + + if serviceEnabled then + btn_start_status = true + btn_action_status = true + btn_stop_status = true + btn_enable_status = false + btn_disable_status = true else - btn_start_style = "cbi-button cbi-button-apply -disabled" - btn_action_style = "cbi-button cbi-button-apply important" - btn_stop_style = "cbi-button cbi-button-reset important" + btn_start_status = false + btn_action_status = false + btn_stop_status = false + btn_enable_status = true + btn_disable_status = false end - if enabledFlag ~= "1" then - btn_start_style = "cbi-button cbi-button-apply -disabled" - btn_action_style = "cbi-button cbi-button-apply -disabled" - btn_enable_style = "cbi-button cbi-button-apply important" - btn_disable_style = "cbi-button cbi-button-reset -disabled" + if serviceRunning then + btn_start_status = false + btn_action_status = true + btn_stop_status = true else - btn_enable_style = "cbi-button cbi-button-apply -disabled" - btn_disable_style = "cbi-button cbi-button-reset important" + btn_action_status = false + btn_stop_status = false end -%> -<%+simple-adblock/css%> -<%+simple-adblock/js%> - <div class="cbi-value"><label class="cbi-value-title">Service Control</label> <div class="cbi-value-field"> - <input type="button" class="<%=btn_start_style%>" id="btn_start" name="start" value="<%:Start%>" onclick="button_action(this)" /> + <input type="button" class="cbi-button cbi-button-apply" id="btn_start" name="start" value="<%:Start%>" + onclick="button_action(this)" /> <span id="btn_start_spinner" class="btn_spinner"></span> - <input type="button" class="<%=btn_action_style%>" id="btn_action" name="action" value="<%:Force Re-Download%>" onclick="button_action(this)" /> + <input type="button" class="cbi-button cbi-button-apply" id="btn_action" name="action" value="<%:Force Re-Download%>" + onclick="button_action(this)" /> <span id="btn_action_spinner" class="btn_spinner"></span> - <input type="button" class="<%=btn_stop_style%>" id="btn_stop" name="stop" value="<%:Stop%>" onclick="button_action(this)" /> + <input type="button" class="cbi-button cbi-button-reset" id="btn_stop" name="stop" value="<%:Stop%>" + onclick="button_action(this)" /> <span id="btn_stop_spinner" class="btn_spinner"></span> - <input type="button" class="<%=btn_enable_style%>" id="btn_enable" name="enable" value="<%:Enable%>" onclick="button_action(this)" /> + <input type="button" class="cbi-button cbi-button-apply" id="btn_enable" name="enable" value="<%:Enable%>" + onclick="button_action(this)" /> <span id="btn_enable_spinner" class="btn_spinner"></span> - <input type="button" class="<%=btn_disable_style%>" id="btn_disable" name="disable" value="<%:Disable%>" onclick="button_action(this)" /> + <input type="button" class="cbi-button cbi-button-reset" id="btn_disable" name="disable" value="<%:Disable%>" + onclick="button_action(this)" /> <span id="btn_disable_spinner" class="btn_spinner"></span> </div> </div> + +<%-if not btn_start_status then%> +<script type="text/javascript">document.getElementById("btn_start").disabled = true;</script> +<%-end%> +<%-if not btn_action_status then%> +<script type="text/javascript">document.getElementById("btn_action").disabled = true;</script> +<%-end%> +<%-if not btn_stop_status then%> +<script type="text/javascript">document.getElementById("btn_stop").disabled = true;</script> +<%-end%> +<%-if not btn_enable_status then%> +<script type="text/javascript">document.getElementById("btn_enable").disabled = true;</script> +<%-end%> +<%-if not btn_disable_status then%> +<script type="text/javascript">document.getElementById("btn_disable").disabled = true;</script> +<%-end%>
\ No newline at end of file diff --git a/applications/luci-app-simple-adblock/po/templates/simple-adblock.pot b/applications/luci-app-simple-adblock/po/templates/simple-adblock.pot index 0afaa2f79..b3d74edf5 100644 --- a/applications/luci-app-simple-adblock/po/templates/simple-adblock.pot +++ b/applications/luci-app-simple-adblock/po/templates/simple-adblock.pot @@ -34,15 +34,15 @@ msgstr "" msgid "Blacklisted Hosts URLs" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:137 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:136 msgid "Cache file containing" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:161 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:159 msgid "Collected Errors" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:141 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:140 msgid "Compressed cache file found" msgstr "" @@ -82,7 +82,7 @@ msgstr "" msgid "Delay (in seconds) for on-boot start" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm:66 +#: applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm:68 msgid "Disable" msgstr "" @@ -106,11 +106,11 @@ msgstr "" msgid "Download time-out (in seconds)" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:86 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:85 msgid "Downloading" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm:64 +#: applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm:65 msgid "Enable" msgstr "" @@ -123,21 +123,21 @@ msgstr "" msgid "Enables debug output to /tmp/simple-adblock.log." msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:87 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:86 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:166 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:168 -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:170 msgid "Error" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:89 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:88 msgid "Fail" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm:56 +#: applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm:55 msgid "Force Re-Download" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:85 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:84 msgid "Force Reloading" msgstr "" @@ -171,8 +171,8 @@ msgstr "" msgid "Individual domains to be whitelisted." msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:135 -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:139 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:134 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:138 msgid "Info" msgstr "" @@ -194,7 +194,7 @@ msgstr "" msgid "Loading" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:156 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:154 msgid "Message" msgstr "" @@ -223,7 +223,7 @@ msgstr "" msgid "README" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:84 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:83 msgid "Restarting" msgstr "" @@ -231,19 +231,18 @@ msgstr "" msgid "Run service after set delay on boot." msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:115 -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:121 -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:131 -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:144 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:114 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:120 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:130 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:143 msgid "Service Status" msgstr "" #: applications/luci-app-simple-adblock/luasrc/controller/simple-adblock.lua:4 -#: applications/luci-app-simple-adblock/root/usr/share/luci/menu.d/luci-app-simple-adblock.json:3 msgid "Simple AdBlock" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:109 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:108 msgid "Simple AdBlock Settings" msgstr "" @@ -255,11 +254,11 @@ msgstr "" msgid "Some output" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm:54 +#: applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm:52 msgid "Start" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:83 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:82 msgid "Starting" msgstr "" @@ -271,7 +270,7 @@ msgstr "" msgid "Stop the download if it is stalled for set number of seconds." msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:82 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:81 msgid "Stopped" msgstr "" @@ -283,7 +282,7 @@ msgstr "" msgid "Store compressed cache file on router" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:90 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:89 msgid "Success" msgstr "" @@ -295,7 +294,7 @@ msgstr "" msgid "System LED Configuration" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:125 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:124 msgid "Task" msgstr "" @@ -323,7 +322,7 @@ msgstr "" msgid "Verbose output" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:88 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:87 msgid "Warning" msgstr "" @@ -339,83 +338,83 @@ msgstr "" msgid "Whitelisted Domains" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:150 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:148 msgid "domains" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:137 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:136 msgid "domains found" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:93 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:92 msgid "failed to access shared memory" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:91 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:90 msgid "failed to create" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:103 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:102 msgid "failed to create blocklist or restart DNS resolver" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:99 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:98 msgid "failed to create compressed cache" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:106 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:105 msgid "failed to download" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:97 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:96 msgid "failed to format data file" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:102 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:101 msgid "failed to move" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:98 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:97 msgid "failed to move temporary data file to" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:95 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:94 msgid "failed to optimize data file" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:107 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:106 msgid "failed to parse" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:96 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:95 msgid "failed to process whitelist" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:105 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:104 msgid "failed to reload/restart DNS resolver" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:100 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:99 msgid "failed to remove temporary files" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:92 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:91 msgid "failed to restart/reload DNS resolver" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:94 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:93 msgid "failed to sort data file" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:104 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:103 msgid "failed to stop" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:101 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:100 msgid "failed to unpack compressed cache" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:91 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:90 msgid "file" msgstr "" @@ -423,11 +422,11 @@ msgstr "" msgid "for details." msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:148 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:146 msgid "is blocking" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:81 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:80 msgid "is not installed or not found" msgstr "" @@ -444,10 +443,10 @@ msgstr "" msgid "none" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:102 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:101 msgid "to" msgstr "" -#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:150 +#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:148 msgid "with" msgstr "" diff --git a/applications/luci-app-vpn-policy-routing/Makefile b/applications/luci-app-vpn-policy-routing/Makefile index c2af86cf2..5b51fcc14 100644 --- a/applications/luci-app-vpn-policy-routing/Makefile +++ b/applications/luci-app-vpn-policy-routing/Makefile @@ -10,7 +10,7 @@ LUCI_TITLE:=VPN Policy-Based Routing Service Web UI LUCI_DESCRIPTION:=Provides Web UI for vpn-policy-routing service. LUCI_DEPENDS:=+luci-compat +luci-mod-admin-full +vpn-policy-routing LUCI_PKGARCH:=all -PKG_RELEASE:=69 +PKG_RELEASE:=70 include ../../luci.mk diff --git a/applications/luci-app-vpn-policy-routing/luasrc/controller/vpn-policy-routing.lua b/applications/luci-app-vpn-policy-routing/luasrc/controller/vpn-policy-routing.lua index 0c8c31e7b..f4af659aa 100644 --- a/applications/luci-app-vpn-policy-routing/luasrc/controller/vpn-policy-routing.lua +++ b/applications/luci-app-vpn-policy-routing/luasrc/controller/vpn-policy-routing.lua @@ -12,7 +12,7 @@ function vpn_policy_routing_action(name) if name == "start" then luci.sys.init.start(packageName) elseif name == "action" then - luci.util.exec("/etc/init.d/" .. packageName .. " reload >/dev/null 2>&1") + luci.util.exec("/etc/init.d/" .. packageName .. " restart >/dev/null 2>&1") elseif name == "stop" then luci.sys.init.stop(packageName) elseif name == "enable" then diff --git a/applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua b/applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua index 95d42945e..6259e8291 100644 --- a/applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua +++ b/applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua @@ -20,30 +20,36 @@ if ubusStatus and ubusStatus[packageName] and ubusStatus[packageName]["instances"]["main"]["data"] and ubusStatus[packageName]["instances"]["main"]["data"]["status"] and ubusStatus[packageName]["instances"]["main"]["data"]["status"][1] then - pkgGateways = ubusStatus[packageName]["instances"]["main"]["data"]["status"][1]["gateway"] - pkgGateways = pkgGateways and pkgGateways:gsub('\\n', '\n') - pkgGateways = pkgGateways and pkgGateways:gsub('\\033%[0;32m%[\\xe2\\x9c\\x93%]\\033%[0m', '✓') - pkgErrors = ubusStatus[packageName]["instances"]["main"]["data"]["status"][1]["error"] - pkgErrors = pkgErrors and pkgErrors:gsub('\\n', '\n') - pkgErrors = pkgErrors and pkgErrors:gsub('\\033%[0;31mERROR\\033%[0m: ', '') - pkgWarnings = ubusStatus[packageName]["instances"]["main"]["data"]["status"][1]["warning"] - pkgWarnings = pkgWarnings and pkgWarnings:gsub('\\n', '\n') - pkgWarnings = pkgWarnings and pkgWarnings:gsub('\\033%[0;33mWARNING\\033%[0m: ', '') - pkgMode = ubusStatus[packageName]["instances"]["main"]["data"]["status"][1]["mode"] + serviceGateways = ubusStatus[packageName]["instances"]["main"]["data"]["status"][1]["gateway"] + serviceGateways = serviceGateways and serviceGateways:gsub('\\n', '\n') + serviceGateways = serviceGateways and serviceGateways:gsub('\\033%[0;32m%[\\xe2\\x9c\\x93%]\\033%[0m', '✓') + serviceErrors = ubusStatus[packageName]["instances"]["main"]["data"]["status"][1]["error"] + serviceErrors = serviceErrors and serviceErrors:gsub('\\n', '\n') + serviceErrors = serviceErrors and serviceErrors:gsub('\\033%[0;31mERROR\\033%[0m: ', '') + serviceWarnings = ubusStatus[packageName]["instances"]["main"]["data"]["status"][1]["warning"] + serviceWarnings = serviceWarnings and serviceWarnings:gsub('\\n', '\n') + serviceWarnings = serviceWarnings and serviceWarnings:gsub('\\033%[0;33mWARNING\\033%[0m: ', '') + serviceMode = ubusStatus[packageName]["instances"]["main"]["data"]["status"][1]["mode"] end -local pkgVersion = tostring(util.trim(sys.exec("opkg list-installed " .. packageName .. " | awk '{print $3}'"))) -if not pkgVersion or pkgVersion == "" then - pkgVersion = "" - pkgStatus, pkgStatusLabel = "NotFound", packageName .. " " .. translate("is not installed or not found") +local serviceRunning, statusText = false, nil +local packageVersion = tostring(util.trim(sys.exec("opkg list-installed " .. packageName .. " | awk '{print $3}'"))) +if not packageVersion or packageVersion == "" then + packageVersion = "" + statusText = packageName .. " " .. translate("is not installed or not found") else - pkgVersion = " [" .. packageName .. " " .. pkgVersion .. "]" -end -local pkgStatus, pkgStatusLabel = "Stopped", translate("Stopped") + packageVersion = " [" .. packageName .. " " .. packageVersion .. "]" +end if sys.call("iptables -t mangle -L | grep -q VPR_PREROUTING") == 0 then - pkgStatus, pkgStatusLabel = "Running", translate("Running") - if pkgMode and pkgMode == "strict" then - pkgStatusLabel = pkgStatusLabel .. " " .. translate("(strict mode)") + serviceRunning = true + statusText = translate("Running") + if serviceMode and serviceMode == "strict" then + statusText = statusText .. " (" .. translate("strict mode") .. ")" + end +else + statusText = translate("Stopped") + if uci:get(packageName, "config", "enabled") ~= "1" then + statusText = statusText .. " (" .. translate("disabled") .. ")" end end @@ -74,8 +80,8 @@ if (type(lanIPAddr) == "table") then lanIPAddr = lanIPAddr[i] break end - lanIPAddr = string.match(lanIPAddr,"[0-9.]+") -end + lanIPAddr = lanIPAddr:match("[0-9.]+") +end if lanIPAddr and lanNetmask then laPlaceholder = ip.new(lanIPAddr .. "/" .. lanNetmask ) end @@ -114,27 +120,29 @@ end m = Map("vpn-policy-routing", translate("VPN and WAN Policy-Based Routing")) -h = m:section(NamedSection, "config", packageName, translate("Service Status") .. pkgVersion) +h = m:section(NamedSection, "config", packageName, translate("Service Status") .. packageVersion) status = h:option(DummyValue, "_dummy", translate("Service Status")) status.template = "vpn-policy-routing/status" -status.value = pkgStatusLabel -if pkgStatus:match("Running") and pkgGateways and pkgGateways ~= "" then +status.value = statusText +if serviceRunning and serviceGateways and serviceGateways ~= "" then gateways = h:option(DummyValue, "_dummy", translate("Service Gateways")) gateways.template = packageName .. "/status-gateways" - gateways.value = pkgGateways + gateways.value = serviceGateways end -if pkgErrors and pkgErrors ~= "" then +if serviceErrors and serviceErrors ~= "" then errors = h:option(DummyValue, "_dummy", translate("Service Errors")) errors.template = packageName .. "/status-textarea" - errors.value = pkgErrors + errors.value = serviceErrors end -if pkgWarnings and pkgWarnings ~= "" then +if serviceWarnings and serviceWarnings ~= "" then warnings = h:option(DummyValue, "_dummy", translate("Service Warnings")) warnings.template = packageName .. "/status-textarea" - warnings.value = pkgWarnings + warnings.value = serviceWarnings +end +if packageVersion ~= "" then + buttons = h:option(DummyValue, "_dummy") + buttons.template = packageName .. "/buttons" end -buttons = h:option(DummyValue, "_dummy") -buttons.template = packageName .. "/buttons" -- General Options config = m:section(NamedSection, "config", "vpn-policy-routing", translate("Configuration")) @@ -208,7 +216,7 @@ icmp:value("", translate("No Change")) icmp:value("wan", translate("WAN")) uci:foreach("network", "interface", function(s) local name=s['.name'] - if is_supported_interface(s) then icmp:value(name, string.upper(name)) end + if is_supported_interface(s) then icmp:value(name, name:upper()) end end) icmp.rmempty = true @@ -338,10 +346,10 @@ gw.rmempty = false uci:foreach("network", "interface", function(s) local name=s['.name'] if is_wan(name) then - gw:value(name, string.upper(name)) + gw:value(name, name:upper()) if not gw.default then gw.default = name end elseif is_supported_interface(s) then - gw:value(name, string.upper(name)) + gw:value(name, name:upper()) end end) @@ -351,7 +359,7 @@ dscp = m:section(NamedSection, "config", "vpn-policy-routing", translate("DSCP T uci:foreach("network", "interface", function(s) local name=s['.name'] if is_supported_interface(s) then - local x = dscp:option(Value, name .. "_dscp", string.upper(name) .. " " .. translate("DSCP Tag")) + local x = dscp:option(Value, name .. "_dscp", name:upper() .. " " .. translate("DSCP Tag")) x.rmempty = true x.datatype = "range(1,63)" end diff --git a/applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm b/applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm index a9c473c75..37a0b9a41 100644 --- a/applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm +++ b/applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm @@ -1,55 +1,77 @@ -<%# - Copyright 2019 Stan Grishin <stangri@melmac.net> --%> +<%# Copyright 2020 Stan Grishin <stangri@melmac.net> -%> + +<%+vpn-policy-routing/css%> +<%+vpn-policy-routing/js%> <%- local packageName = "vpn-policy-routing" - local enabledFlag = luci.model.uci.cursor():get(packageName, "config", "enabled") - if nixio.fs.access("/var/run/" .. packageName .. ".json") then - tmpfs = luci.jsonc.parse(luci.util.trim(luci.sys.exec("cat /var/run/" .. packageName .. ".json"))) - end - local pkgStatus, pkgStatusLabel = "Stopped", translate("Stopped") + local serviceRunning, serviceEnabled = false, false; if luci.sys.call("iptables -t mangle -L | grep -q VPR_PREROUTING") == 0 then - pkgStatus, pkgStatusLabel = "Running", translate("Running") + serviceRunning = true + end + if luci.model.uci.cursor():get(packageName, "config", "enabled") == "1" then + serviceEnabled = true end - if pkgStatus == "Stopped" then - btn_start_style = "cbi-button cbi-button-apply important" - btn_action_style = "cbi-button cbi-button-apply important" - btn_stop_style = "cbi-button cbi-button-reset -disabled" + + if serviceEnabled then + btn_start_status = true + btn_action_status = true + btn_stop_status = true + btn_enable_status = false + btn_disable_status = true else - btn_start_style = "cbi-button cbi-button-apply -disabled" - btn_action_style = "cbi-button cbi-button-apply important" - btn_stop_style = "cbi-button cbi-button-reset important" + btn_start_status = false + btn_action_status = false + btn_stop_status = false + btn_enable_status = true + btn_disable_status = false end - if enabledFlag ~= "1" then - btn_start_style = "cbi-button cbi-button-apply -disabled" - btn_action_style = "cbi-button cbi-button-apply -disabled" - btn_enable_style = "cbi-button cbi-button-apply important" - btn_disable_style = "cbi-button cbi-button-reset -disabled" + if serviceRunning then + btn_start_status = false + btn_action_status = true + btn_stop_status = true else - btn_enable_style = "cbi-button cbi-button-apply -disabled" - btn_disable_style = "cbi-button cbi-button-reset important" + btn_action_status = false + btn_stop_status = false end -%> -<%+vpn-policy-routing/css%> -<%+vpn-policy-routing/js%> - <div class="cbi-value"><label class="cbi-value-title">Service Control</label> <div class="cbi-value-field"> - <input type="button" class="<%=btn_start_style%>" id="btn_start" name="start" value="<%:Start%>" onclick="button_action(this)" /> + <input type="button" class="cbi-button cbi-button-apply" id="btn_start" name="start" value="<%:Start%>" + onclick="button_action(this)" /> <span id="btn_start_spinner" class="btn_spinner"></span> - <input type="button" class="<%=btn_action_style%>" id="btn_action" name="action" value="<%:Reload%>" onclick="button_action(this)" /> + <input type="button" class="cbi-button cbi-button-apply" id="btn_action" name="action" value="<%:Restart%>" + onclick="button_action(this)" /> <span id="btn_action_spinner" class="btn_spinner"></span> - <input type="button" class="<%=btn_stop_style%>" id="btn_stop" name="stop" value="<%:Stop%>" onclick="button_action(this)" /> + <input type="button" class="cbi-button cbi-button-reset" id="btn_stop" name="stop" value="<%:Stop%>" + onclick="button_action(this)" /> <span id="btn_stop_spinner" class="btn_spinner"></span> - <input type="button" class="<%=btn_enable_style%>" id="btn_enable" name="enable" value="<%:Enable%>" onclick="button_action(this)" /> + <input type="button" class="cbi-button cbi-button-apply" id="btn_enable" name="enable" value="<%:Enable%>" + onclick="button_action(this)" /> <span id="btn_enable_spinner" class="btn_spinner"></span> - <input type="button" class="<%=btn_disable_style%>" id="btn_disable" name="disable" value="<%:Disable%>" onclick="button_action(this)" /> + <input type="button" class="cbi-button cbi-button-reset" id="btn_disable" name="disable" value="<%:Disable%>" + onclick="button_action(this)" /> <span id="btn_disable_spinner" class="btn_spinner"></span> </div> </div> + +<%-if not btn_start_status then%> +<script type="text/javascript">document.getElementById("btn_start").disabled = true;</script> +<%-end%> +<%-if not btn_action_status then%> +<script type="text/javascript">document.getElementById("btn_action").disabled = true;</script> +<%-end%> +<%-if not btn_stop_status then%> +<script type="text/javascript">document.getElementById("btn_stop").disabled = true;</script> +<%-end%> +<%-if not btn_enable_status then%> +<script type="text/javascript">document.getElementById("btn_enable").disabled = true;</script> +<%-end%> +<%-if not btn_disable_status then%> +<script type="text/javascript">document.getElementById("btn_disable").disabled = true;</script> +<%-end%> diff --git a/applications/luci-app-vpn-policy-routing/po/templates/vpn-policy-routing.pot b/applications/luci-app-vpn-policy-routing/po/templates/vpn-policy-routing.pot index 27660193c..09812ab6d 100644 --- a/applications/luci-app-vpn-policy-routing/po/templates/vpn-policy-routing.pot +++ b/applications/luci-app-vpn-policy-routing/po/templates/vpn-policy-routing.pot @@ -1,55 +1,51 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:46 -msgid "(strict mode)" -msgstr "" - -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:202 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:210 msgid "" "Add an ip rule, not an iptables entry for policies with just the local " "address. Use with caution to manipulte policies priorities." msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:182 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:190 msgid "Advanced Configuration" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:187 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:195 msgid "" "Allows to specify the list of interface names (in lower case) to be " "explicitly supported by the service. Can be useful if your OpenVPN tunnels " "have dev option other than tun* or tap*." msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:190 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:198 msgid "" "Allows to specify the list of interface names (in lower case) to be ignored " "by the service. Can be useful if running both VPN server and VPN client on " "the router." msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:198 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:206 msgid "Append" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:215 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:223 msgid "Append local IP Tables rules" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:218 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:226 msgid "Append remote IP Tables rules" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:145 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:153 msgid "Basic Configuration" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:193 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:201 msgid "Boot Time-out" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:326 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:334 msgid "Chain" msgstr "" @@ -57,11 +53,11 @@ msgstr "" msgid "Checkmark represents the default gateway. See the" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:277 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:285 msgid "Comment" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:260 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:268 msgid "" "Comment, interface and at least one other field are required. Multiple local " "and remote addresses/devices/domains and ports can be space separated. " @@ -69,103 +65,103 @@ msgid "" "fields are left blank." msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:149 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:157 msgid "Condensed output" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:140 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:148 msgid "Configuration" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:147 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155 msgid "Controls both system log and console output verbosity." msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:361 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:369 msgid "Custom User File Includes" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:354 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:362 msgid "DSCP Tag" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:348 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:356 msgid "DSCP Tagging" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:206 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:214 msgid "Default ICMP Interface" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:52 +#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:57 msgid "Disable" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:164 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:174 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:178 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:203 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:239 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:243 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:250 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:254 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:172 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:182 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:186 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:211 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:247 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:251 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:258 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:262 msgid "Disabled" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:246 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:254 msgid "Display these protocols in protocol column in Web UI." msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:156 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:164 msgid "Do not enforce policies when their gateway is down" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:50 +#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:54 msgid "Enable" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:179 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:204 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:240 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:244 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:251 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:255 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:271 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:369 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:187 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:212 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:248 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:252 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:259 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:263 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:279 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:377 msgid "Enabled" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:231 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:239 msgid "" "FW Mask used by the service. High mask is used to avoid conflict with SQM/" "QoS. Change with caution together with" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:206 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:214 msgid "Force the ICMP protocol interface." msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:202 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:210 msgid "IP Rules Support" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:197 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:205 msgid "IPTables rule option" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:177 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:185 msgid "IPv6 Support" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:190 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:198 msgid "Ignored Interfaces" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:199 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:207 msgid "Insert" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:335 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:343 msgid "Interface" msgstr "" @@ -173,226 +169,224 @@ msgstr "" msgid "Loading" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:282 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:290 msgid "Local addresses / devices" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:289 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:297 msgid "Local ports" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:279 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:287 msgid "Name" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:207 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:215 msgid "No Change" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:147 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155 msgid "Output verbosity" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:372 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:380 msgid "Path" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:161 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:171 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:169 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:179 msgid "Please check the" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:183 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:191 msgid "Please make sure to check the" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:260 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:268 msgid "Policies" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:306 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:314 msgid "Protocol" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:163 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:173 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:171 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:181 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:192 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:358 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:371 #: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17 msgid "README" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:42 -msgid "Reload" -msgstr "" - -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:294 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:302 msgid "Remote addresses / domains" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:299 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:307 msgid "Remote ports" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:361 +#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:44 +msgid "Restart" +msgstr "" + +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:369 msgid "" "Run the following user files after setting up but before restarting DNSMASQ. " "See the" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:44 -#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:13 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:45 msgid "Running" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:153 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:161 msgid "See the" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:197 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:205 msgid "Select Append for -A and Insert for -I." msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:127 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:133 msgid "Service Errors" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:226 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:231 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:234 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:239 msgid "Service FW Mask" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:122 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:128 msgid "Service Gateways" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:117 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:118 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:123 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:124 msgid "Service Status" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:132 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:138 msgid "Service Warnings" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:348 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:356 msgid "" "Set DSCP tags (in range between 1 and 63) for specific interfaces. See the" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:249 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:257 msgid "Show Chain Column" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:238 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:246 msgid "Show Enable Column" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:242 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:250 msgid "Show Protocol Column" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:253 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:261 msgid "Show Up/Down Buttons" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:253 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:261 msgid "" "Shows the Up/Down buttons for policies, allowing you to move a policy up or " "down in the list." msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:249 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:257 msgid "" "Shows the chain column for policies, allowing you to assign a PREROUTING, " "FORWARD, INPUT or OUTPUT chain to a policy." msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:238 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:246 msgid "" "Shows the enable checkbox column for policies, allowing you to quickly " "enable/disable specific policy without deleting it." msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:242 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:250 msgid "" "Shows the protocol column for policies, allowing you to assign a specific " "protocol to a policy." msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:215 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:223 msgid "" "Special instructions to append iptables rules for local IPs/netmasks/devices." msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:218 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:226 msgid "Special instructions to append iptables rules for remote IPs/netmasks." msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:40 +#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:41 msgid "Start" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:226 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:234 msgid "" "Starting (WAN) FW Mark for marks used by the service. High starting mark is " "used to avoid conflict with SQM/QoS. Change with caution together with" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:221 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:229 msgid "Starting (WAN) Table ID number for tables created by the service." msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:44 +#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:47 msgid "Stop" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:42 -#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:11 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:50 msgid "Stopped" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:153 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:161 msgid "Strict enforcement" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:157 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:165 msgid "Strictly enforce policies when their gateway is down" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:187 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:195 msgid "Supported Interfaces" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:246 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:254 msgid "Supported Protocols" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:148 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:156 msgid "Suppress/No output" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:170 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:178 msgid "The ipset option for local policies" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:160 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:168 msgid "The ipset option for remote policies" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:193 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:201 msgid "" "Time (in seconds) for service to wait for WAN gateway discovery on boot." msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:166 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:174 msgid "Use DNSMASQ ipset" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:165 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:175 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:173 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:183 msgid "Use ipset command" msgstr "" @@ -404,53 +398,61 @@ msgstr "" msgid "VPN Policy Routing" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:115 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:121 msgid "VPN and WAN Policy-Based Routing" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:150 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:158 msgid "Verbose output" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:208 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:216 msgid "WAN" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:226 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:231 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:234 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:239 msgid "WAN Table FW Mark" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:221 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:229 msgid "WAN Table ID" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:183 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:191 msgid "WARNING:" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:236 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:244 msgid "Web UI Configuration" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:185 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:193 msgid "" "before changing anything in this section! Change any of the settings below " "with extreme caution!" msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:163 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:173 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:171 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:181 msgid "before changing this option." msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350 -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:52 +msgid "disabled" +msgstr "" + +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:163 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:358 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:371 #: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17 msgid "for details." msgstr "" -#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:38 +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:39 msgid "is not installed or not found" msgstr "" + +#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:47 +msgid "strict mode" +msgstr "" diff --git a/applications/luci-app-vpn-policy-routing/root/etc/uci-defaults/40_luci-vpn-policy-routing b/applications/luci-app-vpn-policy-routing/root/etc/uci-defaults/40_luci-vpn-policy-routing new file mode 100644 index 000000000..a1ecfcea2 --- /dev/null +++ b/applications/luci-app-vpn-policy-routing/root/etc/uci-defaults/40_luci-vpn-policy-routing @@ -0,0 +1,3 @@ +#!/bin/sh +rm -rf /var/luci-modulecache/; rm -f /var/luci-indexcache; +exit 0 |