Merge pull request #3961 from stangri/18.06-luci-app-https-dns-proxy

[18.06] luci-app-https-dns-proxy: add CIRA Canadian Shiled
This commit is contained in:
Hannu Nyman 2020-04-24 17:32:23 +03:00 committed by GitHub
commit 1e59ed1799
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 80 additions and 56 deletions

View file

@ -10,7 +10,7 @@ LUCI_TITLE:=DNS Over HTTPS Proxy Web UI
LUCI_DESCRIPTION:=Provides Web UI for DNS Over HTTPS Proxy LUCI_DESCRIPTION:=Provides Web UI for DNS Over HTTPS Proxy
LUCI_DEPENDS:=+luci-compat +luci-mod-admin-full +https-dns-proxy LUCI_DEPENDS:=+luci-compat +luci-mod-admin-full +https-dns-proxy
LUCI_PKGARCH:=all LUCI_PKGARCH:=all
PKG_RELEASE:=3 PKG_RELEASE:=5
include ../../luci.mk include ../../luci.mk

View file

@ -1,7 +1,7 @@
module("luci.controller.https-dns-proxy", package.seeall) module("luci.controller.https-dns-proxy", package.seeall)
function index() function index()
if nixio.fs.access("/etc/config/https-dns-proxy") then if nixio.fs.access("/etc/config/https-dns-proxy") then
entry({"admin", "services", "https-dns-proxy"}, cbi("https-dns-proxy"), _("DNS Over HTTPS Proxy")) entry({"admin", "services", "https-dns-proxy"}, cbi("https-dns-proxy"), _("DNS HTTPS Proxy"))
entry({"admin", "services", "https-dns-proxy", "action"}, call("https_dns_proxy_action"), nil).leaf = true entry({"admin", "services", "https-dns-proxy", "action"}, call("https_dns_proxy_action"), nil).leaf = true
end end
end end

View file

@ -0,0 +1,8 @@
return {
name = "cira-canadian-shield-family",
label = _("CIRA Canadian Shield (Family)"),
resolver_url = "https://family.canadianshield.cira.ca/dns-query",
bootstrap_dns = "149.112.121.30,149.112.122.30,2620:10A:80BB::30,2620:10A:80BC::30",
help_link = "https://www.cira.ca/cybersecurity-services/canadian-shield/",
help_link_text = "CIRA Canadian Shield"
}

View file

@ -0,0 +1,8 @@
return {
name = "cira-canadian-shield-private",
label = _("CIRA Canadian Shield (Private)"),
resolver_url = "https://private.canadianshield.cira.ca/dns-query",
bootstrap_dns = "149.112.121.10,149.112.122.10,2620:10A:80BB::10,2620:10A:80BC::10",
help_link = "https://www.cira.ca/cybersecurity-services/canadian-shield/",
help_link_text = "CIRA Canadian Shield"
}

View file

@ -0,0 +1,8 @@
return {
name = "cira-canadian-shield-protected",
label = _("CIRA Canadian Shield (Protected)"),
resolver_url = "https://protected.canadianshield.cira.ca/dns-query",
bootstrap_dns = "149.112.121.20,149.112.122.20,2620:10A:80BB::20,2620:10A:80BC::20",
help_link = "https://www.cira.ca/cybersecurity-services/canadian-shield/",
help_link_text = "CIRA Canadian Shield"
}

View file

@ -49,24 +49,22 @@ function get_provider_name(value)
return translate("Unknown Provider") return translate("Unknown Provider")
end end
local tmpfsStatus, tmpfsStatusCode local packageStatus, packageStatusCode
local ubusStatus = util.ubus("service", "list", { name = packageName }) local ubusStatus = util.ubus("service", "list", { name = packageName })
local tmpfsVersion = tostring(util.trim(sys.exec("opkg list-installed " .. packageName .. " | awk '{print $3}'"))) local packageVersion = tostring(util.trim(sys.exec("opkg list-installed " .. packageName .. " | awk '{print $3}'"))) or ""
if not tmpfsVersion or tmpfsVersion == "" then if packageVersion == "" then
tmpfsStatusCode = -1 packageStatusCode = -1
tmpfsVersion = "" packageStatus = translatef("%s is not installed or not found", packageName)
tmpfsStatus = packageName .. " " .. translate("is not installed or not found")
else else
tmpfsVersion = " [" .. packageName .. " " .. tmpfsVersion .. "]"
if not ubusStatus or not ubusStatus[packageName] then if not ubusStatus or not ubusStatus[packageName] then
tmpfsStatusCode = 0 packageStatusCode = 0
tmpfsStatus = translate("Stopped") packageStatus = translate("Stopped")
if not luci.sys.init.enabled(packageName) then if not sys.init.enabled(packageName) then
tmpfsStatus = tmpfsStatus .. " (" .. translate("disabled") .. ")" packageStatus = packageStatus .. " (" .. translate("disabled") .. ")"
end end
else else
tmpfsStatusCode, tmpfsStatus = 1, "" packageStatusCode, packageStatus = 1, ""
for n = 1,1000 do for n = 1,1000 do
if ubusStatus and ubusStatus[packageName] and if ubusStatus and ubusStatus[packageName] and
ubusStatus[packageName]["instances"] and ubusStatus[packageName]["instances"] and
@ -83,7 +81,7 @@ else
end end
la = la or "127.0.0.1" la = la or "127.0.0.1"
lp = lp or n + 5053 lp = lp or n + 5053
tmpfsStatus = tmpfsStatus .. translate("Running") .. ": " .. get_provider_name(url) .. " " .. translate("DoH") .. " " .. translate("at") .. " " .. la .. ":" .. lp .. "\n" packageStatus = packageStatus .. translatef("Running: %s DoH at %s:%s", get_provider_name(url), la, lp) .. "\n"
else else
break break
end end
@ -91,29 +89,28 @@ else
end end
end end
m = Map("https-dns-proxy", translate("DNS Over HTTPS Proxy Settings")) m = Map("https-dns-proxy", translate("DNS HTTPS Proxy Settings"))
h = m:section(TypedSection, "_dummy", translate("Service Status") .. tmpfsVersion) h = m:section(TypedSection, "_dummy", translatef("Service Status [%s %s]", packageName, packageVersion))
h.template = "cbi/nullsection" h.template = "cbi/nullsection"
ss = h:option(DummyValue, "_dummy", translate("Service Status")) ss = h:option(DummyValue, "_dummy", translate("Service Status"))
if tmpfsStatusCode == -1 then if packageStatusCode == -1 then
ss.template = packageName .. "/status" ss.template = packageName .. "/status"
ss.value = tmpfsStatus ss.value = packageStatus
else else
if tmpfsStatusCode == 0 then if packageStatusCode == 0 then
ss.template = packageName .. "/status" ss.template = packageName .. "/status"
else else
ss.template = packageName .. "/status-textarea" ss.template = packageName .. "/status-textarea"
end end
ss.value = tmpfsStatus ss.value = packageStatus
buttons = h:option(DummyValue, "_dummy") buttons = h:option(DummyValue, "_dummy")
buttons.template = packageName .. "/buttons" buttons.template = packageName .. "/buttons"
end end
create_helper_text() create_helper_text()
s3 = m:section(TypedSection, "https-dns-proxy", translate("Instances"), translate("When you add/remove any instances below, they will be used to override the 'DNS forwardings' section of ") s3 = m:section(TypedSection, "https-dns-proxy", translate("Instances"),
.. [[ <a href="]] .. dispatcher.build_url("admin/network/dhcp") .. [[">]] translatef("When you add/remove any instances below, they will be used to override the 'DNS forwardings' section of <a href=\"%s\">DHCP and DNS</a>.", dispatcher.build_url("admin/network/dhcp")) .. helperText)
.. translate("DHCP and DNS") .. [[</a>]] .. "." .. helperText)
s3.template = "cbi/tblsection" s3.template = "cbi/tblsection"
s3.sortable = false s3.sortable = false
s3.anonymous = true s3.anonymous = true

View file

@ -1,6 +1,10 @@
msgid "" msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8" msgstr "Content-Type: text/plain; charset=UTF-8"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:58
msgid "%s is not installed or not found"
msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 #: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3
msgid "AdGuard (Family Protection)" msgid "AdGuard (Family Protection)"
msgstr "" msgstr ""
@ -9,6 +13,18 @@ msgstr ""
msgid "AdGuard (Standard)" msgid "AdGuard (Standard)"
msgstr "" msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ca.cira.canadianshield.family.lua:3
msgid "CIRA Canadian Shield (Family)"
msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ca.cira.canadianshield.private.lua:3
msgid "CIRA Canadian Shield (Private)"
msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/ca.cira.canadianshield.protected.lua:3
msgid "CIRA Canadian Shield (Protected)"
msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 #: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3
msgid "CleanBrowsing (Adult Filter)" msgid "CleanBrowsing (Adult Filter)"
msgstr "" msgstr ""
@ -25,16 +41,12 @@ msgstr ""
msgid "Cloudflare" msgid "Cloudflare"
msgstr "" msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:116
msgid "DHCP and DNS"
msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 #: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4
msgid "DNS Over HTTPS Proxy" msgid "DNS HTTPS Proxy"
msgstr "" msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:94 #: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:92
msgid "DNS Over HTTPS Proxy Settings" msgid "DNS HTTPS Proxy Settings"
msgstr "" msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 #: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3
@ -49,11 +61,7 @@ msgstr ""
msgid "Disable" msgid "Disable"
msgstr "" msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:86 #: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:163
msgid "DoH"
msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:166
msgid "EDNS client subnet" msgid "EDNS client subnet"
msgstr "" msgstr ""
@ -69,7 +77,7 @@ msgstr ""
msgid "Google" msgid "Google"
msgstr "" msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:114 #: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:112
msgid "Instances" msgid "Instances"
msgstr "" msgstr ""
@ -81,11 +89,11 @@ msgstr ""
msgid "LibreDNS (No Ads)" msgid "LibreDNS (No Ads)"
msgstr "" msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:149 #: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146
msgid "Listen address" msgid "Listen address"
msgstr "" msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:162 #: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:159
msgid "Listen port" msgid "Listen port"
msgstr "" msgstr ""
@ -97,7 +105,7 @@ msgstr ""
msgid "ODVR (nic.cz)" msgid "ODVR (nic.cz)"
msgstr "" msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:169 #: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:166
msgid "Proxy server" msgid "Proxy server"
msgstr "" msgstr ""
@ -121,19 +129,22 @@ msgstr ""
msgid "Reload" msgid "Reload"
msgstr "" msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:122 #: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:119
msgid "Resolver" msgid "Resolver"
msgstr "" msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:86 #: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:84
msgid "Running" msgid "Running: %s DoH at %s:%s"
msgstr "" msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:96 #: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:96
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:98
msgid "Service Status" msgid "Service Status"
msgstr "" msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:94
msgid "Service Status [%s %s]"
msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 #: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41
msgid "Start" msgid "Start"
msgstr "" msgstr ""
@ -142,7 +153,7 @@ msgstr ""
msgid "Stop" msgid "Stop"
msgstr "" msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 #: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:62
msgid "Stopped" msgid "Stopped"
msgstr "" msgstr ""
@ -150,28 +161,20 @@ msgstr ""
msgid "Unknown Provider" msgid "Unknown Provider"
msgstr "" msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:114 #: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:113
msgid "" msgid ""
"When you add/remove any instances below, they will be used to override the " "When you add/remove any instances below, they will be used to override the "
"'DNS forwardings' section of" "'DNS forwardings' section of <a href=\"%s\">DHCP and DNS</a>."
msgstr "" msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:34 #: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:34
msgid "and" msgid "and"
msgstr "" msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:86 #: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64
msgid "at"
msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66
msgid "disabled" msgid "disabled"
msgstr "" msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:59
msgid "is not installed or not found"
msgstr ""
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 #: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3
msgid "rubyfish.cn" msgid "rubyfish.cn"
msgstr "" msgstr ""