Merge pull request #4102 from stangri/19.07-luci-app-simple-adblock

[19.07] luci-app-simple-adblock: bugfix: proper processing of failed downloads; decrease reliance on shell commands; proper acl.d file
This commit is contained in:
Stan 2020-06-03 08:27:44 -07:00 committed by GitHub
commit f35803e935
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 215 additions and 128 deletions

View file

@ -10,7 +10,7 @@ LUCI_TITLE:=Simple Adblock Web UI
LUCI_DESCRIPTION:=Provides Web UI for simple-adblock service. LUCI_DESCRIPTION:=Provides Web UI for simple-adblock service.
LUCI_DEPENDS:=+luci-compat +luci-mod-admin-full +simple-adblock LUCI_DEPENDS:=+luci-compat +luci-mod-admin-full +simple-adblock
LUCI_PKGARCH:=all LUCI_PKGARCH:=all
PKG_RELEASE:=46 PKG_RELEASE:=48
include ../../luci.mk include ../../luci.mk

View file

@ -13,13 +13,59 @@ local fs = require "nixio.fs"
local nutil = require "nixio.util" local nutil = require "nixio.util"
local http = require "luci.http" local http = require "luci.http"
local dispatcher = require "luci.dispatcher" local dispatcher = require "luci.dispatcher"
function getPackageVersion()
local opkgFile = "/usr/lib/opkg/status"
local line
local flag = false
for line in io.lines(opkgFile) do
if flag then
return line:match('[%d%.$-]+') or ""
elseif line:find("Package: " .. packageName:gsub("%-", "%%%-")) then
flag = true
end
end
return ""
end
function getFileLines(file)
local f = io.open(file)
if f then
local t = f:read("*a")
local _,n = t:gsub("\n","")
f:close()
return n
else
return "0"
end
end
function checkDnsmasq() return fs.access("/usr/sbin/dnsmasq") end
function checkUnbound() return fs.access("/usr/sbin/unbound") end
function checkIpset()
if fs.access("/usr/sbin/ipset") and sys.call("/usr/sbin/ipset help hash:net >/dev/null 2>&1") == 0 then
return true
else
return false
end
end
function checkDnsmasqIpset()
if checkDnsmasq() then
local o = util.trim(util.exec("/usr/sbin/dnsmasq -v 2>/dev/null"))
if not o:match("no%-ipset") and o:match("ipset") and checkIpset() then
return true
else
return false
end
else
return false
end
end
local enabledFlag = uci:get(packageName, "config", "enabled") local enabledFlag = uci:get(packageName, "config", "enabled")
local command, outputFile, outputCache, outputGzip local command, outputFile, outputCache, outputGzip
local targetDNS = uci:get(packageName, "config", "dns") local targetDNS = uci:get(packageName, "config", "dns")
local checkDnsmasq = sys.call("which dnsmasq >/dev/null 2>&1") == 0 and true
local checkUnbound = sys.call("which unbound >/dev/null 2>&1") == 0 and true
local checkDnsmasqIpset = sys.call("dnsmasq -v 2>/dev/null | grep -q 'no-ipset' || ! dnsmasq -v 2>/dev/null | grep -q -w 'ipset'") ~= 0
and sys.call("ipset help hash:net >/dev/null 2>&1") and true
if not targetDNS or targetDNS == "" then if not targetDNS or targetDNS == "" then
targetDNS = "dnsmasq.servers" targetDNS = "dnsmasq.servers"
@ -49,11 +95,20 @@ elseif targetDNS == "unbound.adb_list" then
outputGzip="/etc/" .. packageName .. ".unbound.gz" outputGzip="/etc/" .. packageName .. ".unbound.gz"
end end
local packageVersion = packageName .. " " .. tostring(util.trim(sys.exec("opkg list-installed " .. packageName .. " | awk '{print $3}'"))) local packageVersion = getPackageVersion()
local tmpfs, tmpfsMessage, tmpfsError, tmpfsStats local tmpfs, tmpfsMessage, tmpfsError, tmpfsStats, tmpfsStatus
local tmpfsStatus = "statusStopped"
if packageVersion == "" then
tmpfsStatus = "statusNoInstall"
else
tmpfsStatus = "statusStopped"
end
if fs.access("/var/run/" .. packageName .. ".json") then if fs.access("/var/run/" .. packageName .. ".json") then
tmpfs = jsonc.parse(util.trim(sys.exec("cat /var/run/" .. packageName .. ".json"))) local f = io.open("/var/run/" .. packageName .. ".json")
local s = f:read("*a")
f:close()
tmpfs = jsonc.parse(s)
end end
if tmpfs and tmpfs['data'] then if tmpfs and tmpfs['data'] then
@ -100,6 +155,7 @@ errorTable["errorStopping"] = translatef("failed to stop %s", packageName)
errorTable["errorDNSReload"] = translate("failed to reload/restart DNS resolver") errorTable["errorDNSReload"] = translate("failed to reload/restart DNS resolver")
errorTable["errorDownloadingList"] = translate("failed to download") errorTable["errorDownloadingList"] = translate("failed to download")
errorTable["errorParsingList"] = translate("failed to parse") errorTable["errorParsingList"] = translate("failed to parse")
errorTable["errorNoSSLSupport"] = translate("no HTTPS/SSL support on device")
m = Map("simple-adblock", translate("Simple AdBlock Settings")) m = Map("simple-adblock", translate("Simple AdBlock Settings"))
m.apply_on_parse = true m.apply_on_parse = true
@ -107,7 +163,7 @@ m.on_after_apply = function(self)
sys.call("/etc/init.d/simple-adblock restart") sys.call("/etc/init.d/simple-adblock restart")
end end
h = m:section(NamedSection, "config", "simple-adblock", translatef("Service Status [%s]", packageVersion)) h = m:section(NamedSection, "config", "simple-adblock", translatef("Service Status [%s %s]", packageName, packageVersion))
if tmpfsStatus == "statusStarting" or if tmpfsStatus == "statusStarting" or
tmpfsStatus == "statusRestarting" or tmpfsStatus == "statusRestarting" or
@ -129,7 +185,7 @@ else
if fs.access(outputCache) then if fs.access(outputCache) then
sm = h:option(DummyValue, "_dummy", translate("Info")) sm = h:option(DummyValue, "_dummy", translate("Info"))
sm.template = "simple-adblock/status" sm.template = "simple-adblock/status"
sm.value = translatef("Cache file containing %s domains found.", util.trim(sys.exec("wc -l < " .. outputCache))) sm.value = translatef("Cache file containing %s domains found.", getFileLines(outputCache))
elseif fs.access(outputGzip) then elseif fs.access(outputGzip) then
sm = h:option(DummyValue, "_dummy", translate("Info")) sm = h:option(DummyValue, "_dummy", translate("Info"))
sm.template = "simple-adblock/status" sm.template = "simple-adblock/status"
@ -139,7 +195,7 @@ else
ss = h:option(DummyValue, "_dummy", translate("Service Status")) ss = h:option(DummyValue, "_dummy", translate("Service Status"))
ss.template = "simple-adblock/status" ss.template = "simple-adblock/status"
if tmpfsStatus == "statusSuccess" then if tmpfsStatus == "statusSuccess" then
ss.value = translatef("%s is blocking %s domains (with %s).", packageVersion, util.trim(sys.exec("wc -l < " .. outputFile)), targetDNS) ss.value = translatef("%s is blocking %s domains (with %s).", packageVersion, getFileLines(outputFile), targetDNS)
else else
ss.value = statusTable[tmpfsStatus] ss.value = statusTable[tmpfsStatus]
end end
@ -154,8 +210,8 @@ else
es.value = "" es.value = ""
local err, e, url local err, e, url
for err in tmpfsError:gmatch("[%p%w]+") do for err in tmpfsError:gmatch("[%p%w]+") do
if err:match("=") then if err:match("|") then
e,url = err:match("(.+)=(.+)") e,url = err:match("(.+)|(.+)")
es.value = translatef("%s Error: %s %s", es.value, errorTable[e], url) .. ".\n" es.value = translatef("%s Error: %s %s", es.value, errorTable[e], url) .. ".\n"
else else
es.value = translatef("%s Error: %s", es.value, errorTable[err]) .. ".\n" es.value = translatef("%s Error: %s", es.value, errorTable[err]) .. ".\n"
@ -203,28 +259,28 @@ s:tab("advanced", translate("Advanced Configuration"))
local dns_descr = translatef("Pick the DNS resolution option to create the adblock list for, see the <a href=\"%s#dns-resolution-option\" target=\"_blank\">README</a> for details.", readmeURL) local dns_descr = translatef("Pick the DNS resolution option to create the adblock list for, see the <a href=\"%s#dns-resolution-option\" target=\"_blank\">README</a> for details.", readmeURL)
if not checkDnsmasq then if not checkDnsmasq() then
dns_descr = dns_descr .. "<br />" .. translatef("Please note that %s is not supported on this system.", "<i>dnsmasq.addnhosts</i>") dns_descr = dns_descr .. "<br />" .. translatef("Please note that %s is not supported on this system.", "<i>dnsmasq.addnhosts</i>")
dns_descr = dns_descr .. "<br />" .. translatef("Please note that %s is not supported on this system.", "<i>dnsmasq.conf</i>") dns_descr = dns_descr .. "<br />" .. translatef("Please note that %s is not supported on this system.", "<i>dnsmasq.conf</i>")
dns_descr = dns_descr .. "<br />" .. translatef("Please note that %s is not supported on this system.", "<i>dnsmasq.ipset</i>") dns_descr = dns_descr .. "<br />" .. translatef("Please note that %s is not supported on this system.", "<i>dnsmasq.ipset</i>")
dns_descr = dns_descr .. "<br />" .. translatef("Please note that %s is not supported on this system.", "<i>dnsmasq.servers</i>") dns_descr = dns_descr .. "<br />" .. translatef("Please note that %s is not supported on this system.", "<i>dnsmasq.servers</i>")
elseif not checkDnsmasqIpset then elseif not checkDnsmasqIpset() then
dns_descr = dns_descr .. "<br />" .. translatef("Please note that %s is not supported on this system.", "<i>dnsmasq.ipset</i>") dns_descr = dns_descr .. "<br />" .. translatef("Please note that %s is not supported on this system.", "<i>dnsmasq.ipset</i>")
end end
if not checkUnbound then if not checkUnbound() then
dns_descr = dns_descr .. "<br />" .. translatef("Please note that %s is not supported on this system.", "<i>unbound.adb_list</i>") dns_descr = dns_descr .. "<br />" .. translatef("Please note that %s is not supported on this system.", "<i>unbound.adb_list</i>")
end end
dns = s:taboption("advanced", ListValue, "dns", translate("DNS Service"), dns_descr) dns = s:taboption("advanced", ListValue, "dns", translate("DNS Service"), dns_descr)
if checkDnsmasq then if checkDnsmasq() then
dns:value("dnsmasq.addnhosts", translate("DNSMASQ Additional Hosts")) dns:value("dnsmasq.addnhosts", translate("DNSMASQ Additional Hosts"))
dns:value("dnsmasq.conf", translate("DNSMASQ Config")) dns:value("dnsmasq.conf", translate("DNSMASQ Config"))
if checkDnsmasqIpset then if checkDnsmasqIpset() then
dns:value("dnsmasq.ipset", translate("DNSMASQ IP Set")) dns:value("dnsmasq.ipset", translate("DNSMASQ IP Set"))
end end
dns:value("dnsmasq.servers", translate("DNSMASQ Servers File")) dns:value("dnsmasq.servers", translate("DNSMASQ Servers File"))
end end
if checkUnbound then if checkUnbound() then
dns:value("unbound.adb_list", translate("Unbound AdBlock List")) dns:value("unbound.adb_list", translate("Unbound AdBlock List"))
end end
dns.default = "dnsmasq.servers" dns.default = "dnsmasq.servers"

View file

@ -1,100 +1,100 @@
msgid "" msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8" msgstr "Content-Type: text/plain; charset=UTF-8"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:161 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:217
msgid "%s Error: %s" msgid "%s Error: %s"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:159 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:215
msgid "%s Error: %s %s" msgid "%s Error: %s %s"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:142 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:198
msgid "%s is blocking %s domains (with %s)." msgid "%s is blocking %s domains (with %s)."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:76 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:131
msgid "%s is not installed or not found" msgid "%s is not installed or not found"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:234 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:290
msgid "Add IPv6 entries" msgid "Add IPv6 entries"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:232 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:288
msgid "Add IPv6 entries to block-list." msgid "Add IPv6 entries to block-list."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:202 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:258
msgid "Advanced Configuration" msgid "Advanced Configuration"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:256 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:312
msgid "" msgid ""
"Attempt to create a compressed cache of block-list in the persistent memory." "Attempt to create a compressed cache of block-list in the persistent memory."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:174 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:230
msgid "Basic Configuration" msgid "Basic Configuration"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:284 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:340
msgid "Blacklisted Domain URLs" msgid "Blacklisted Domain URLs"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:274 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:330
msgid "Blacklisted Domains" msgid "Blacklisted Domains"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:289 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:345
msgid "Blacklisted Hosts URLs" msgid "Blacklisted Hosts URLs"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:132 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:188
msgid "Cache file containing %s domains found." msgid "Cache file containing %s domains found."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:152 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:208
msgid "Collected Errors" msgid "Collected Errors"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:136 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:192
msgid "Compressed cache file found." msgid "Compressed cache file found."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:172 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:228
msgid "Configuration" msgid "Configuration"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:176 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:232
msgid "Controls system log and console output verbosity." msgid "Controls system log and console output verbosity."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:247 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:303
msgid "Curl download retry" msgid "Curl download retry"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:218 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:274
msgid "DNS Service" msgid "DNS Service"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:220 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:276
msgid "DNSMASQ Additional Hosts" msgid "DNSMASQ Additional Hosts"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:221 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:277
msgid "DNSMASQ Config" msgid "DNSMASQ Config"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:223 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:279
msgid "DNSMASQ IP Set" msgid "DNSMASQ IP Set"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:225 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:281
msgid "DNSMASQ Servers File" msgid "DNSMASQ Servers File"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:239 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:295
msgid "Delay (in seconds) for on-boot start" msgid "Delay (in seconds) for on-boot start"
msgstr "" msgstr ""
@ -102,27 +102,27 @@ msgstr ""
msgid "Disable" msgid "Disable"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:262 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:318
msgid "Disable Debugging" msgid "Disable Debugging"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:233 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:289
msgid "Do not add IPv6 entries" msgid "Do not add IPv6 entries"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:257 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:313
msgid "Do not store compressed cache" msgid "Do not store compressed cache"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:252 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:308
msgid "Do not use simultaneous processing" msgid "Do not use simultaneous processing"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:243 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:299
msgid "Download time-out (in seconds)" msgid "Download time-out (in seconds)"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:81 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:136
msgid "Downloading" msgid "Downloading"
msgstr "" msgstr ""
@ -130,20 +130,20 @@ msgstr ""
msgid "Enable" msgid "Enable"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:261 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:317
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:263 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:319
msgid "Enable Debugging" msgid "Enable Debugging"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:261 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:317
msgid "Enables debug output to /tmp/simple-adblock.log." msgid "Enables debug output to /tmp/simple-adblock.log."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:82 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:137
msgid "Error" msgid "Error"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:84 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:139
msgid "Fail" msgid "Fail"
msgstr "" msgstr ""
@ -151,56 +151,56 @@ msgstr ""
msgid "Force Re-Download" msgid "Force Re-Download"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:80 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:135
msgid "Force Reloading" msgid "Force Reloading"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:182 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:238
msgid "Force Router DNS" msgid "Force Router DNS"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:184 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:240
msgid "Force Router DNS server to all local devices" msgid "Force Router DNS server to all local devices"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:182 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:238
msgid "Forces Router DNS use on local devices, also known as DNS Hijacking." msgid "Forces Router DNS use on local devices, also known as DNS Hijacking."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:232 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:288
msgid "IPv6 Support" msgid "IPv6 Support"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:247 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:303
msgid "" msgid ""
"If curl is installed and detected, it would retry download this many times " "If curl is installed and detected, it would retry download this many times "
"on timeout/fail." "on timeout/fail."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:274 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:330
msgid "Individual domains to be blacklisted." msgid "Individual domains to be blacklisted."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:269 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
msgid "Individual domains to be whitelisted." msgid "Individual domains to be whitelisted."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:130 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:186
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:134 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:190
msgid "Info" msgid "Info"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:193 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:249
msgid "LED to indicate status" msgid "LED to indicate status"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:251 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:307
msgid "" msgid ""
"Launch all lists downloads and processing simultaneously, reducing service " "Launch all lists downloads and processing simultaneously, reducing service "
"start time." "start time."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:183 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:239
msgid "Let local devices use their own DNS servers if set" msgid "Let local devices use their own DNS servers if set"
msgstr "" msgstr ""
@ -208,64 +208,64 @@ msgstr ""
msgid "Loading" msgid "Loading"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:147 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:203
msgid "Message" msgid "Message"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:176 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:232
msgid "Output Verbosity Setting" msgid "Output Verbosity Setting"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:204 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:260
msgid "" msgid ""
"Pick the DNS resolution option to create the adblock list for, see the <a " "Pick the DNS resolution option to create the adblock list for, see the <a "
"href=\"%s#dns-resolution-option\" target=\"_blank\">README</a> for details." "href=\"%s#dns-resolution-option\" target=\"_blank\">README</a> for details."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:194 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:250
msgid "Pick the LED not already used in %sSystem LED Configuration%s." msgid "Pick the LED not already used in %sSystem LED Configuration%s."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:207 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:263
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:208 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:264
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:209 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:265
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:210 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:266
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:212 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:268
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:215 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:271
msgid "Please note that %s is not supported on this system." msgid "Please note that %s is not supported on this system."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:79 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:134
msgid "Restarting" msgid "Restarting"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:239 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:295
msgid "Run service after set delay on boot." msgid "Run service after set delay on boot."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:116 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:172
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:126 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:182
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:139 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:195
msgid "Service Status" msgid "Service Status"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:110 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:166
msgid "Service Status [%s]" msgid "Service Status [%s %s]"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/controller/simple-adblock.lua:4 #: applications/luci-app-simple-adblock/luasrc/controller/simple-adblock.lua:4
msgid "Simple AdBlock" msgid "Simple AdBlock"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:104 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:160
msgid "Simple AdBlock Settings" msgid "Simple AdBlock Settings"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:251 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:307
msgid "Simultaneous processing" msgid "Simultaneous processing"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:178 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:234
msgid "Some output" msgid "Some output"
msgstr "" msgstr ""
@ -273,7 +273,7 @@ msgstr ""
msgid "Start" msgid "Start"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:78 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:133
msgid "Starting" msgid "Starting"
msgstr "" msgstr ""
@ -281,142 +281,146 @@ msgstr ""
msgid "Stop" msgid "Stop"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:243 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:299
msgid "Stop the download if it is stalled for set number of seconds." msgid "Stop the download if it is stalled for set number of seconds."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:77 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:132
msgid "Stopped" msgid "Stopped"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:258 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:314
msgid "Store compressed cache" msgid "Store compressed cache"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:256 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:312
msgid "Store compressed cache file on router" msgid "Store compressed cache file on router"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:85 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:140
msgid "Success" msgid "Success"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:177 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:233
msgid "Suppress output" msgid "Suppress output"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:120 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:176
msgid "Task" msgid "Task"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:284 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:340
msgid "URLs to lists of domains to be blacklisted." msgid "URLs to lists of domains to be blacklisted."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:279 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:335
msgid "URLs to lists of domains to be whitelisted." msgid "URLs to lists of domains to be whitelisted."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:289 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:345
msgid "URLs to lists of hosts to be blacklisted." msgid "URLs to lists of hosts to be blacklisted."
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:228 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:284
msgid "Unbound AdBlock List" msgid "Unbound AdBlock List"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:253 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:309
msgid "Use simultaneous processing" msgid "Use simultaneous processing"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:179 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:235
msgid "Verbose output" msgid "Verbose output"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:83 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:138
msgid "Warning" msgid "Warning"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:267 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:323
msgid "Whitelist and Blocklist Management" msgid "Whitelist and Blocklist Management"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:279 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:335
msgid "Whitelisted Domain URLs" msgid "Whitelisted Domain URLs"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:269 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
msgid "Whitelisted Domains" msgid "Whitelisted Domains"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:88 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:143
msgid "failed to access shared memory" msgid "failed to access shared memory"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:86 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:141
msgid "failed to create '%s' file" msgid "failed to create '%s' file"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:98 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:153
msgid "failed to create blocklist or restart DNS resolver" msgid "failed to create blocklist or restart DNS resolver"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:94 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:149
msgid "failed to create compressed cache" msgid "failed to create compressed cache"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:101 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:156
msgid "failed to download" msgid "failed to download"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:92 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:147
msgid "failed to format data file" msgid "failed to format data file"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:97 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:152
msgid "failed to move '%s' to '%s'" msgid "failed to move '%s' to '%s'"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:93 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:148
msgid "failed to move temporary data file to '%s'" msgid "failed to move temporary data file to '%s'"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:90 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:145
msgid "failed to optimize data file" msgid "failed to optimize data file"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:102 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:157
msgid "failed to parse" msgid "failed to parse"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:91 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:146
msgid "failed to process whitelist" msgid "failed to process whitelist"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:100 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:155
msgid "failed to reload/restart DNS resolver" msgid "failed to reload/restart DNS resolver"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:95 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:150
msgid "failed to remove temporary files" msgid "failed to remove temporary files"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:87 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:142
msgid "failed to restart/reload DNS resolver" msgid "failed to restart/reload DNS resolver"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:89 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:144
msgid "failed to sort data file" msgid "failed to sort data file"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:99 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:154
msgid "failed to stop %s" msgid "failed to stop %s"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:96 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:151
msgid "failed to unpack compressed cache" msgid "failed to unpack compressed cache"
msgstr "" msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:196 #: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:158
msgid "no HTTPS/SSL support on device"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:252
msgid "none" msgid "none"
msgstr "" msgstr ""

View file

@ -1,11 +1,38 @@
{ {
"luci-app-simple-adblock": { "luci-app-simple-adblock": {
"description": "Grant UCI access for luci-app-simple-adblock", "description": "Grant UCI and file access for luci-app-simple-adblock",
"read": { "read": {
"uci": [ "simple-adblock" ] "cgi-io": [
"exec"
],
"file": {
"/usr/lib/opkg/status": [
"read"
],
"/sys/class/leds/*": [
"read"
],
"/var/run/simple-adblock.*": [
"read"
],
"/etc/init.d/simple-adblock *": [
"exec"
],
"/usr/sbin/dnsmasq *": [
"exec"
],
"/usr/sbin/ipset *": [
"exec"
]
},
"uci": [
"simple-adblock"
]
}, },
"write": { "write": {
"uci": [ "simple-adblock" ] "uci": [
"simple-adblock"
]
} }
} }
} }