X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=applications%2Fluci-app-adblock%2Fluasrc%2Fmodel%2Fcbi%2Fadblock%2Foverview_tab.lua;h=3786c7a4e4121375dbe254264f7080ea1925eaa3;hp=d0453f7d96a28856d7cc0597505476a64968cc30;hb=b2cc7bf276e63b50b636b6d6f60bc2fec1aa2d26;hpb=b121f958621efd5d81451e2de3e7d35a828645bc diff --git a/applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua b/applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua index d0453f7d9..3786c7a4e 100644 --- a/applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua +++ b/applications/luci-app-adblock/luasrc/model/cbi/adblock/overview_tab.lua @@ -1,4 +1,4 @@ --- Copyright 2017 Dirk Brenken (dev@brenken.org) +-- Copyright 2017-2018 Dirk Brenken (dev@brenken.org) -- This is free software, licensed under the Apache License, Version 2.0 local fs = require("nixio.fs") @@ -7,7 +7,7 @@ local sys = require("luci.sys") local util = require("luci.util") local dump = util.ubus("network.interface", "dump", {}) local json = require("luci.jsonc") -local adbinput = uci.get("adblock", "global", "adb_rtfile") or "/tmp/adb_runtime.json" +local adbinput = uci:get("adblock", "global", "adb_rtfile") or "/tmp/adb_runtime.json" if not uci:get("adblock", "extra") then m = SimpleForm("", nil, translate("Please update your adblock config file to use this package.
") @@ -79,22 +79,34 @@ o2:value("unbound", "unbound (/var/lib/unbound)") o2:value("named", "named (/var/lib/bind)") o2:value("kresd", "kresd (/etc/kresd)") o2:value("dnscrypt-proxy","dnscrypt-proxy (/tmp)") +o2.default = "dnsmasq (/tmp)" o2.rmempty = false -o3 = s:option(ListValue, "adb_trigger", translate("Startup Trigger"), +o3 = s:option(ListValue, "adb_fetchutil", translate("Download Utility"), +translate("List of supported and fully pre-configured download utilities.")) +o3:value("uclient-fetch") +o3:value("wget") +o3:value("curl") +o3:value("aria2c") +o3:value("wget-nossl", "wget-nossl (noSSL)") +o3:value("busybox", "wget-busybox (noSSL)") +o3.default = "uclient-fetch" +o3.rmempty = false + +o4 = s:option(ListValue, "adb_trigger", translate("Startup Trigger"), translate("List of available network interfaces. Usually the startup will be triggered by the 'wan' interface.
") .. translate("Choose 'none' to disable automatic startups, 'timed' to use a classic timeout (default 30 sec.) or select another trigger interface.")) -o3:value("none") -o3:value("timed") +o4:value("none") +o4:value("timed") if dump then local i, v for i, v in ipairs(dump.interface) do if v.interface ~= "loopback" then - o3:value(v.interface) + o4:value(v.interface) end end end -o3.rmempty = false +o4.rmempty = false -- Runtime information @@ -111,6 +123,8 @@ else dv1.value = translate("disabled") elseif status == "paused" then dv1.value = translate("paused") + elseif status == "running" then + dv1.value = translate("running") else dv1.value = translate("enabled") end @@ -125,7 +139,7 @@ else end dv3 = ds:option(DummyValue, "", translate("Download Utility (SSL Library)"), - translate("For SSL protected blocklist sources you need a suitable SSL library, e.g. 'libustream-ssl' or the wget 'built-in'.")) + translate("For SSL protected blocklist sources you need a suitable SSL library, e.g. 'libustream-ssl' or 'built-in'.")) dv3.template = "adblock/runtime" if parse == nil then dv3.value = translate("n/a") @@ -162,8 +176,8 @@ end bl = m:section(TypedSection, "source", translate("Blocklist Sources"), translate("Available blocklist sources. ") .. translate("List URLs and Shallalist category selections are configurable in the 'Advanced' section.
") - .. translate("Caution: To prevent OOM exceptions on low memory devices with less than 64 MB free RAM, please do not select too many lists - 5-6 should be sufficient!")) -bl.template = "cbi/tblsection" + .. translate("Caution: To prevent OOM exceptions on low memory devices with less than 64 MB free RAM, please do not select more than five blocklist sources!")) +bl.template = "adblock/blocklist" name = bl:option(Flag, "enabled", translate("Enabled")) name.rmempty = false @@ -217,42 +231,51 @@ e6:depends("adb_backup", 1) e6.default = e6.disabled e6.rmempty = true -e7 = e:option(Flag, "adb_whitelist_mode", translate("Whitelist Mode"), - translate("Block access to all domains except those explicitly listed in the whitelist file.")) -e7.default = e7.disabled -e7.rmempty = true +e7 = e:option(Value, "adb_maxqueue", translate("Max. Download Queue"), + translate("Size of the download queue to handle downloads & list processing in parallel (default '4').
") + .. translate("For further performance improvements you can raise this value, e.g. '8' or '16' should be safe.")) +e7.default = 4 +e7.datatype = "range(1,32)" +e7.rmempty = false -e8 = e:option(Flag, "adb_dnsflush", translate("Flush DNS Cache"), - translate("Flush DNS Cache after adblock processing.")) +e8 = e:option(Flag, "adb_jail", translate("'Jail' Blocklist Creation"), + translate("Builds an additional 'Jail' list (/tmp/adb_list.jail) to block access to all domains except those listed in the whitelist file.
") + .. translate("You can use this restrictive blocklist manually e.g. for guest wifi or kidsafe configurations.")) e8.default = e8.disabled e8.rmempty = true -e9 = e:option(Flag, "adb_notify", translate("Email Notification"), - translate("Send notification emails in case of a processing error or if domain count is ≤ 0.
") - .. translate("Please note: this needs additional 'mstmp' installation and setup (see readme).")) +e9 = e:option(Flag, "adb_dnsflush", translate("Flush DNS Cache"), + translate("Flush DNS Cache after adblock processing.")) e9.default = e9.disabled e9.rmempty = true -e10 = e:option(Value, "adb_notifycnt", translate("Email Notification Count"), -translate("Raise minimum domain count email notification trigger, to get emails if the overall count is ≤ the given limit (default 0).")) -e10.default = 0 -e10.datatype = "min(0)" -e10.optional = true +e10 = e:option(Flag, "adb_notify", translate("Email Notification"), + translate("Send notification emails in case of a processing error or if domain count is ≤ 0.
") + .. translate("Please note: this needs additional 'msmtp' package installation and setup.")) +e10.default = e10.disabled +e10.rmempty = true + +e11 = e:option(Value, "adb_notifycnt", translate("Email Notification Count"), + translate("Raise the minimum email notification count, to get emails if the overall count is less or equal to the given limit (default 0),
") + .. translate("e.g. to receive an email notification with every adblock update set this value to 150000.")) +e11.default = 0 +e11.datatype = "min(0)" +e11.optional = true -e11 = e:option(Value, "adb_dnsdir", translate("DNS Directory"), +e12 = e:option(Value, "adb_dnsdir", translate("DNS Directory"), translate("Target directory for the generated blocklist 'adb_list.overall'.")) -e11.datatype = "directory" -e11.optional = true +e12.datatype = "directory" +e12.optional = true -e12 = e:option(Value, "adb_whitelist", translate("Whitelist File"), +e13 = e:option(Value, "adb_whitelist", translate("Whitelist File"), translate("Full path to the whitelist file.")) -e12.datatype = "file" -e12.default = "/etc/adblock/adblock.whitelist" -e12.optional = true +e13.datatype = "file" +e13.default = "/etc/adblock/adblock.whitelist" +e13.optional = true -e13 = e:option(Value, "adb_triggerdelay", translate("Trigger Delay"), +e14 = e:option(Value, "adb_triggerdelay", translate("Trigger Delay"), translate("Additional trigger delay in seconds before adblock processing begins.")) -e13.datatype = "range(1,60)" -e13.optional = true +e14.datatype = "range(1,60)" +e14.optional = true return m