luci-app-https-dns-proxy: add status->overview include file
* add status->overview include file * sync version to principal package * minor code formatting/styling fixes for js files * improve HTTP/2 and HTTP/3 detection in RPCD script Signed-off-by: Stan Grishin <stangri@melmac.ca>
This commit is contained in:
parent
7f84135709
commit
dea2f135d7
6 changed files with 250 additions and 400 deletions
|
@ -5,11 +5,12 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_LICENSE:=GPL-3.0-or-later
|
PKG_LICENSE:=GPL-3.0-or-later
|
||||||
PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
|
PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
|
||||||
PKG_VERSION:=2023-05-25-4
|
PKG_VERSION:=2023-10-25-1
|
||||||
|
|
||||||
LUCI_TITLE:=DNS Over HTTPS Proxy Web UI
|
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-base +https-dns-proxy
|
LUCI_DEPENDS:=+luci-base +https-dns-proxy
|
||||||
|
LUCI_PKGARCH:=all
|
||||||
|
|
||||||
include ../../luci.mk
|
include ../../luci.mk
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
// This code wouldn't have been possible without help from:
|
// This code wouldn't have been possible without help from:
|
||||||
// - [@stokito](https://github.com/stokito)
|
// - [@stokito](https://github.com/stokito)
|
||||||
// - [@vsviridov](https://github.com/vsviridov)
|
// - [@vsviridov](https://github.com/vsviridov)
|
||||||
|
// noinspection JSAnnotator
|
||||||
|
|
||||||
"require ui";
|
"require ui";
|
||||||
"require rpc";
|
"require rpc";
|
||||||
|
@ -241,7 +242,7 @@ var status = baseclass.extend({
|
||||||
});
|
});
|
||||||
name += " (" + option + ")";
|
name += " (" + option + ")";
|
||||||
} else {
|
} else {
|
||||||
if (match[1] != "") name += " (" + match[1] + ")";
|
if (match[1] !== "") name += " (" + match[1] + ")";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
// - [@jow-](https://github.com/jow-)
|
// - [@jow-](https://github.com/jow-)
|
||||||
// - [@stokito](https://github.com/stokito)
|
// - [@stokito](https://github.com/stokito)
|
||||||
// - [@vsviridov](https://github.com/vsviridov)
|
// - [@vsviridov](https://github.com/vsviridov)
|
||||||
|
// noinspection JSAnnotator
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
"require form";
|
"require form";
|
||||||
|
@ -12,12 +13,15 @@
|
||||||
"require https-dns-proxy.status as hdp";
|
"require https-dns-proxy.status as hdp";
|
||||||
|
|
||||||
var pkg = {
|
var pkg = {
|
||||||
|
|
||||||
get Name() {
|
get Name() {
|
||||||
return "https-dns-proxy";
|
return "https-dns-proxy";
|
||||||
},
|
},
|
||||||
|
|
||||||
get URL() {
|
get URL() {
|
||||||
return "https://docs.openwrt.melmac.net/" + pkg.Name + "/";
|
return "https://docs.openwrt.melmac.net/" + pkg.Name + "/";
|
||||||
},
|
},
|
||||||
|
|
||||||
templateToRegexp: function (template) {
|
templateToRegexp: function (template) {
|
||||||
return RegExp(
|
return RegExp(
|
||||||
"^" +
|
"^" +
|
||||||
|
@ -32,6 +36,7 @@ var pkg = {
|
||||||
"$"
|
"$"
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
templateToResolver: function (template, args) {
|
templateToResolver: function (template, args) {
|
||||||
return template.replace(/{(\w+)}/g, (_, v) => args[v]);
|
return template.replace(/{(\w+)}/g, (_, v) => args[v]);
|
||||||
},
|
},
|
||||||
|
@ -72,6 +77,7 @@ return view.extend({
|
||||||
m = new form.Map(pkg.Name, _("HTTPS DNS Proxy - Configuration"));
|
m = new form.Map(pkg.Name, _("HTTPS DNS Proxy - Configuration"));
|
||||||
|
|
||||||
s = m.section(form.NamedSection, "config", pkg.Name);
|
s = m.section(form.NamedSection, "config", pkg.Name);
|
||||||
|
|
||||||
o = s.option(
|
o = s.option(
|
||||||
form.ListValue,
|
form.ListValue,
|
||||||
"dnsmasq_config_update",
|
"dnsmasq_config_update",
|
||||||
|
@ -86,6 +92,7 @@ return view.extend({
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
o.value("*", _("Update all configs"));
|
o.value("*", _("Update all configs"));
|
||||||
|
|
||||||
var sections = uci.sections("dhcp", "dnsmasq");
|
var sections = uci.sections("dhcp", "dnsmasq");
|
||||||
sections.forEach((element) => {
|
sections.forEach((element) => {
|
||||||
var description;
|
var description;
|
||||||
|
@ -317,48 +324,57 @@ return view.extend({
|
||||||
o.default = "";
|
o.default = "";
|
||||||
o.modalonly = true;
|
o.modalonly = true;
|
||||||
o.optional = true;
|
o.optional = true;
|
||||||
|
|
||||||
o = s.option(form.Value, "listen_addr", _("Listen Address"));
|
o = s.option(form.Value, "listen_addr", _("Listen Address"));
|
||||||
o.datatype = "ipaddr";
|
o.datatype = "ipaddr";
|
||||||
o.default = "";
|
o.default = "";
|
||||||
o.optional = true;
|
o.optional = true;
|
||||||
o.placeholder = "127.0.0.1";
|
o.placeholder = "127.0.0.1";
|
||||||
var n = 0;
|
|
||||||
o = s.option(form.Value, "listen_port", _("Listen Port"));
|
o = s.option(form.Value, "listen_port", _("Listen Port"));
|
||||||
o.datatype = "port";
|
o.datatype = "port";
|
||||||
o.default = "";
|
o.default = "";
|
||||||
o.optional = true;
|
o.optional = true;
|
||||||
o.placeholder = n + 5053;
|
o.placeholder = "5053";
|
||||||
|
|
||||||
o = s.option(form.Value, "user", _("Run As User"));
|
o = s.option(form.Value, "user", _("Run As User"));
|
||||||
o.default = "";
|
o.default = "";
|
||||||
o.modalonly = true;
|
o.modalonly = true;
|
||||||
o.optional = true;
|
o.optional = true;
|
||||||
|
|
||||||
o = s.option(form.Value, "group", _("Run As Group"));
|
o = s.option(form.Value, "group", _("Run As Group"));
|
||||||
o.default = "";
|
o.default = "";
|
||||||
o.modalonly = true;
|
o.modalonly = true;
|
||||||
o.optional = true;
|
o.optional = true;
|
||||||
|
|
||||||
o = s.option(form.Value, "dscp_codepoint", _("DSCP Codepoint"));
|
o = s.option(form.Value, "dscp_codepoint", _("DSCP Codepoint"));
|
||||||
o.datatype = "and(uinteger, range(0,63))";
|
o.datatype = "and(uinteger, range(0,63))";
|
||||||
o.default = "";
|
o.default = "";
|
||||||
o.modalonly = true;
|
o.modalonly = true;
|
||||||
o.optional = true;
|
o.optional = true;
|
||||||
|
|
||||||
o = s.option(form.Value, "verbosity", _("Logging Verbosity"));
|
o = s.option(form.Value, "verbosity", _("Logging Verbosity"));
|
||||||
o.datatype = "and(uinteger, range(0,4))";
|
o.datatype = "and(uinteger, range(0,4))";
|
||||||
o.default = "";
|
o.default = "";
|
||||||
o.modalonly = true;
|
o.modalonly = true;
|
||||||
o.optional = true;
|
o.optional = true;
|
||||||
|
|
||||||
o = s.option(form.Value, "logfile", _("Logging File Path"));
|
o = s.option(form.Value, "logfile", _("Logging File Path"));
|
||||||
o.default = "";
|
o.default = "";
|
||||||
o.modalonly = true;
|
o.modalonly = true;
|
||||||
o.optional = true;
|
o.optional = true;
|
||||||
|
|
||||||
o = s.option(form.Value, "polling_interval", _("Polling Interval"));
|
o = s.option(form.Value, "polling_interval", _("Polling Interval"));
|
||||||
o.datatype = "and(uinteger, range(5,3600))";
|
o.datatype = "and(uinteger, range(5,3600))";
|
||||||
o.default = "";
|
o.default = "";
|
||||||
o.modalonly = true;
|
o.modalonly = true;
|
||||||
o.optional = true;
|
o.optional = true;
|
||||||
|
|
||||||
o = s.option(form.Value, "proxy_server", _("Proxy Server"));
|
o = s.option(form.Value, "proxy_server", _("Proxy Server"));
|
||||||
o.default = "";
|
o.default = "";
|
||||||
o.modalonly = true;
|
o.modalonly = true;
|
||||||
o.optional = true;
|
o.optional = true;
|
||||||
|
|
||||||
o = s.option(form.ListValue, "use_http1", _("Use HTTP/1"));
|
o = s.option(form.ListValue, "use_http1", _("Use HTTP/1"));
|
||||||
o.modalonly = true;
|
o.modalonly = true;
|
||||||
o.optional = true;
|
o.optional = true;
|
||||||
|
@ -366,6 +382,7 @@ return view.extend({
|
||||||
o.value("", _("Use negotiated HTTP version"));
|
o.value("", _("Use negotiated HTTP version"));
|
||||||
o.value("1", _("Force use of HTTP/1"));
|
o.value("1", _("Force use of HTTP/1"));
|
||||||
o.default = "";
|
o.default = "";
|
||||||
|
|
||||||
o = s.option(
|
o = s.option(
|
||||||
form.ListValue,
|
form.ListValue,
|
||||||
"use_ipv6_resolvers_only",
|
"use_ipv6_resolvers_only",
|
||||||
|
|
|
@ -0,0 +1,152 @@
|
||||||
|
"require ui";
|
||||||
|
"require rpc";
|
||||||
|
"require uci";
|
||||||
|
"require form";
|
||||||
|
"require baseclass";
|
||||||
|
|
||||||
|
var pkg = {
|
||||||
|
get Name() {
|
||||||
|
return "https-dns-proxy";
|
||||||
|
},
|
||||||
|
get URL() {
|
||||||
|
return "https://docs.openwrt.melmac.net/" + pkg.Name + "/";
|
||||||
|
},
|
||||||
|
templateToRegexp: function (template) {
|
||||||
|
return RegExp(
|
||||||
|
"^" +
|
||||||
|
template
|
||||||
|
.split(/(\{\w+\})/g)
|
||||||
|
.map((part) => {
|
||||||
|
let placeholder = part.match(/^\{(\w+)\}$/);
|
||||||
|
if (placeholder) return `(?<${placeholder[1]}>.*?)`;
|
||||||
|
else return part.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
||||||
|
})
|
||||||
|
.join("") +
|
||||||
|
"$"
|
||||||
|
);
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
var getInitStatus = rpc.declare({
|
||||||
|
object: "luci." + pkg.Name,
|
||||||
|
method: "getInitStatus",
|
||||||
|
params: ["name"],
|
||||||
|
});
|
||||||
|
|
||||||
|
var getPlatformSupport = rpc.declare({
|
||||||
|
object: "luci." + pkg.Name,
|
||||||
|
method: "getPlatformSupport",
|
||||||
|
params: ["name"],
|
||||||
|
});
|
||||||
|
|
||||||
|
var getProviders = rpc.declare({
|
||||||
|
object: "luci." + pkg.Name,
|
||||||
|
method: "getProviders",
|
||||||
|
params: ["name"],
|
||||||
|
});
|
||||||
|
|
||||||
|
var getRuntime = rpc.declare({
|
||||||
|
object: "luci." + pkg.Name,
|
||||||
|
method: "getRuntime",
|
||||||
|
params: ["name"],
|
||||||
|
});
|
||||||
|
|
||||||
|
return baseclass.extend({
|
||||||
|
title: _("HTTPS DNS Proxy Instances"),
|
||||||
|
|
||||||
|
load: function () {
|
||||||
|
return Promise.all([
|
||||||
|
getInitStatus(pkg.Name),
|
||||||
|
getProviders(pkg.Name),
|
||||||
|
getRuntime(pkg.Name),
|
||||||
|
]);
|
||||||
|
},
|
||||||
|
|
||||||
|
render: function (data) {
|
||||||
|
var reply = {
|
||||||
|
status: (data[0] && data[0][pkg.Name]) || {
|
||||||
|
enabled: null,
|
||||||
|
running: null,
|
||||||
|
force_dns_active: null,
|
||||||
|
version: null,
|
||||||
|
},
|
||||||
|
providers: (data[1] && data[1][pkg.Name]) || { providers: [] },
|
||||||
|
runtime: (data[2] && data[2][pkg.Name]) || { instances: [] },
|
||||||
|
};
|
||||||
|
reply.providers.sort(function (a, b) {
|
||||||
|
return _(a.title).localeCompare(_(b.title));
|
||||||
|
});
|
||||||
|
reply.providers.push({
|
||||||
|
title: "Custom",
|
||||||
|
template: "{option}",
|
||||||
|
params: { option: { type: "text" } },
|
||||||
|
});
|
||||||
|
|
||||||
|
var forceDnsText = "";
|
||||||
|
if (reply.status.force_dns_active) {
|
||||||
|
reply.status.force_dns_ports.forEach((element) => {
|
||||||
|
forceDnsText += element + " ";
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
forceDnsText = "-";
|
||||||
|
}
|
||||||
|
|
||||||
|
var table = E(
|
||||||
|
"table",
|
||||||
|
{ class: "table", id: "https-dns-proxy_status_table" },
|
||||||
|
[
|
||||||
|
E("tr", { class: "tr table-titles" }, [
|
||||||
|
E("th", { class: "th" }, _("Name / Type")),
|
||||||
|
E("th", { class: "th" }, _("Listen Address")),
|
||||||
|
E("th", { class: "th" }, _("Listen Port")),
|
||||||
|
E("th", { class: "th" }, _("Force DNS Ports")),
|
||||||
|
]),
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
|
var rows = [];
|
||||||
|
Object.values(reply.runtime.instances).forEach((element) => {
|
||||||
|
var resolver;
|
||||||
|
var address;
|
||||||
|
var port;
|
||||||
|
var name;
|
||||||
|
var option;
|
||||||
|
var found;
|
||||||
|
element.command.forEach((param, index, arr) => {
|
||||||
|
if (param === "-r") resolver = arr[index + 1];
|
||||||
|
if (param === "-a") address = arr[index + 1];
|
||||||
|
if (param === "-p") port = arr[index + 1];
|
||||||
|
});
|
||||||
|
resolver = resolver || "Unknown";
|
||||||
|
address = address || "127.0.0.1";
|
||||||
|
port = port || "Unknown";
|
||||||
|
reply.providers.forEach((prov) => {
|
||||||
|
let regexp = pkg.templateToRegexp(prov.template);
|
||||||
|
if (!found && regexp.test(resolver)) {
|
||||||
|
found = true;
|
||||||
|
name = _(prov.title);
|
||||||
|
let match = resolver.match(regexp);
|
||||||
|
if (match[1] != null) {
|
||||||
|
if (
|
||||||
|
prov.params &&
|
||||||
|
prov.params.option &&
|
||||||
|
prov.params.option.options
|
||||||
|
) {
|
||||||
|
prov.params.option.options.forEach((opt) => {
|
||||||
|
if (opt.value === match[1]) option = _(opt.description);
|
||||||
|
});
|
||||||
|
name += " (" + option + ")";
|
||||||
|
} else {
|
||||||
|
if (match[1] !== "") name += " (" + match[1] + ")";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
rows.push([name, address, port, forceDnsText]);
|
||||||
|
});
|
||||||
|
|
||||||
|
cbi_update_table(table, rows, E("em", _("There are no active instances.")));
|
||||||
|
|
||||||
|
return table;
|
||||||
|
},
|
||||||
|
});
|
|
@ -1,232 +1,92 @@
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr "Content-Type: text/plain; charset=UTF-8"
|
msgstr "Content-Type: text/plain; charset=UTF-8"
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:258
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:259
|
||||||
msgid "%s%s%s proxy at %s on port %s.%s"
|
msgid "%s%s%s proxy at %s on port %s.%s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:250
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:251
|
||||||
msgid "%s%s%s proxy on port %s.%s"
|
msgid "%s%s%s proxy on port %s.%s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/co.oszx.dns.json:14
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:143
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/gr.libredns.doh.json:14
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.mullvad.doh.json:15
|
|
||||||
msgid "AdBlocking Filter"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.adguard.dns.json:2
|
|
||||||
msgid "AdGuard"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.controld.freedns.json:30
|
|
||||||
msgid "Ads + Malware + Social Filter"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.controld.freedns.json:26
|
|
||||||
msgid "Ads + Malware Filter"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/org.cleanbrowsing.doh.json:14
|
|
||||||
msgid "Adult Content Filter"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.ahadns.blitz.json:2
|
|
||||||
msgid "AhaDNS Blitz"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.ahadns.doh.json:2
|
|
||||||
msgid "AhaDNS Regional"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.alidns.dns.json:2
|
|
||||||
msgid "AliDNS"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.applied-privacy.doh.json:2
|
|
||||||
msgid "Applied Privacy DNS (AT)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.ahadns.doh.json:14
|
|
||||||
msgid "Australia"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.blahdns.doh.json:2
|
|
||||||
msgid "BlahDNS"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:136
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Blocks access to Mozilla Encrypted resolvers, forcing local devices to use "
|
"Blocks access to Mozilla Encrypted resolvers, forcing local devices to use "
|
||||||
"router for DNS resolution (%smore information%s)."
|
"router for DNS resolution (%smore information%s)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:120
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:127
|
||||||
msgid ""
|
msgid ""
|
||||||
"Blocks access to iCloud Private Relay resolvers, forcing local devices to "
|
"Blocks access to iCloud Private Relay resolvers, forcing local devices to "
|
||||||
"use router for DNS resolution (%smore information%s)."
|
"use router for DNS resolution (%smore information%s)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:316
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:323
|
||||||
msgid "Bootstrap DNS"
|
msgid "Bootstrap DNS"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.cfiec.dns.json:2
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:141
|
||||||
msgid "CFIEC Public IPv6 Only DNS (CN)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/ca.cira.canadianshield.json:2
|
|
||||||
msgid "CIRA Canadian Shield"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:134
|
|
||||||
msgid "Canary Domains Mozilla"
|
msgid "Canary Domains Mozilla"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:118
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:125
|
||||||
msgid "Canary Domains iCloud"
|
msgid "Canary Domains iCloud"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/org.cleanbrowsing.doh.json:2
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:350
|
||||||
msgid "CleanBrowsing"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.cloudflare-dns.json:2
|
|
||||||
msgid "Cloudflare"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/app.tiarap.doh.json:18
|
|
||||||
msgid "Cloudlfare Cached"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/one.comss.dns.json:2
|
|
||||||
msgid "Comss DNS (RU)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.controld.freedns.json:2
|
|
||||||
msgid "ControlD"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.dnsforfamily.dns-doh.json:2
|
|
||||||
msgid "DNS For Family"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/de.dnsforge.json:2
|
|
||||||
msgid "DNS Forge (DE)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/pub.doh.json:2
|
|
||||||
msgid "DNSPod Public DNS (CN)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.dnslify.doh.json:2
|
|
||||||
msgid "DNSlify DNS"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:339
|
|
||||||
msgid "DSCP Codepoint"
|
msgid "DSCP Codepoint"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.decloudus.dns.json:2
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:377
|
||||||
msgid "DeCloudUs DNS"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/ch.digitale-gesellschaft.dns.json:2
|
|
||||||
msgid "Digitale Gesellschaft (CH)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/app.tiarap.doh.json:14
|
|
||||||
msgid "Direct"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:376
|
|
||||||
msgid "Disable"
|
msgid "Disable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:370
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:371
|
||||||
msgid "Disabling %s service"
|
msgid "Disabling %s service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:102
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:109
|
||||||
msgid "Do not update configs"
|
msgid "Do not update configs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/cn.360.doh.json:2
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:358
|
||||||
msgid "DoH 360 DNS (CN)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/sb.dns.json:2
|
|
||||||
msgid "DoH DNS (SB)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:357
|
|
||||||
msgid "Enable"
|
msgid "Enable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:351
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:352
|
||||||
msgid "Enabling %s service"
|
msgid "Enabling %s service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.ffmuc.doh.json:2
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/status/include/71_https-dns-proxy.js:102
|
||||||
msgid "FFMUC DNS (DE)"
|
msgid "Force DNS Ports"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/ca.cira.canadianshield.json:14
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:172
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.adguard.dns.json:14
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.cloudflare-dns.json:14
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.controld.freedns.json:14
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.opendns.doh.json:14
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/org.cleanbrowsing.doh.json:18
|
|
||||||
msgid "Family Filter"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/org.cleanbrowsing.doh.json:8
|
|
||||||
msgid "Filter"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.ahadns.blitz.json:8
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.rethinkdns.sky.json:8
|
|
||||||
msgid "Filters"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.blahdns.doh.json:22
|
|
||||||
msgid "Finland"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:171
|
|
||||||
msgid "Force DNS ports:"
|
msgid "Force DNS ports:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:108
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:115
|
||||||
msgid "Force Router DNS"
|
msgid "Force Router DNS"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:112
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:119
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:127
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:134
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:146
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:153
|
||||||
msgid "Force Router DNS server to all local devices"
|
msgid "Force Router DNS server to all local devices"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:367
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:383
|
||||||
msgid "Force use of HTTP/1"
|
msgid "Force use of HTTP/1"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:378
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:395
|
||||||
msgid "Force use of IPv6 DNS resolvers"
|
msgid "Force use of IPv6 DNS resolvers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:109
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:116
|
||||||
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-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.blahdns.doh.json:18
|
|
||||||
msgid "Germany"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/google.dns.json:2
|
|
||||||
msgid "Google"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/rpcd/acl.d/luci-app-https-dns-proxy.json:3
|
#: applications/luci-app-https-dns-proxy/root/usr/share/rpcd/acl.d/luci-app-https-dns-proxy.json:3
|
||||||
msgid "Grant UCI and file access for luci-app-https-dns-proxy"
|
msgid "Grant UCI and file access for luci-app-https-dns-proxy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -235,363 +95,182 @@ msgstr ""
|
||||||
msgid "HTTPS DNS Proxy"
|
msgid "HTTPS DNS Proxy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:72
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:77
|
||||||
msgid "HTTPS DNS Proxy - Configuration"
|
msgid "HTTPS DNS Proxy - Configuration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:173
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:180
|
||||||
msgid "HTTPS DNS Proxy - Instances"
|
msgid "HTTPS DNS Proxy - Instances"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:161
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:162
|
||||||
msgid "HTTPS DNS Proxy - Status"
|
msgid "HTTPS DNS Proxy - Status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.he.ordns.json:2
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/status/include/71_https-dns-proxy.js:55
|
||||||
msgid "Hurricane Electric"
|
msgid "HTTPS DNS Proxy Instances"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.idnet.doh.json:2
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:86
|
||||||
msgid "IDNet (UK)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/jp.iij.dns.public.json:2
|
|
||||||
msgid "IIJ Public DNS (JP)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:80
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"If update option is selected, the %s'DNS forwardings' section of DHCP and "
|
"If update option is selected, the %s'DNS forwardings' section of DHCP and "
|
||||||
"DNS%s will be automatically updated to use selected DoH providers (%smore "
|
"DNS%s will be automatically updated to use selected DoH providers (%smore "
|
||||||
"information%s)."
|
"information%s)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.ahadns.doh.json:26
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:152
|
||||||
msgid "India"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.ahadns.doh.json:30
|
|
||||||
msgid "Italy"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.blahdns.doh.json:26
|
|
||||||
msgid "Japan"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/fi.lelux.resolver-eu.json:2
|
|
||||||
msgid "Lelux DNS (FI)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:145
|
|
||||||
msgid "Let local devices use Mozilla Private Relay"
|
msgid "Let local devices use Mozilla Private Relay"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:126
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:133
|
||||||
msgid "Let local devices use iCloud Private Relay"
|
msgid "Let local devices use iCloud Private Relay"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:111
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:118
|
||||||
msgid "Let local devices use their own DNS servers if set"
|
msgid "Let local devices use their own DNS servers if set"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/gr.libredns.doh.json:2
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:328
|
||||||
msgid "LibreDNS (GR)"
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/status/include/71_https-dns-proxy.js:100
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:320
|
|
||||||
msgid "Listen Address"
|
msgid "Listen Address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:326
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:334
|
||||||
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/status/include/71_https-dns-proxy.js:101
|
||||||
msgid "Listen Port"
|
msgid "Listen Port"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.blahdns.doh.json:8
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:362
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.ahadns.doh.json:8
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/one.comss.dns.json:7
|
|
||||||
msgid "Location"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:349
|
|
||||||
msgid "Logging File Path"
|
msgid "Logging File Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:344
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:356
|
||||||
msgid "Logging Verbosity"
|
msgid "Logging Verbosity"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.controld.freedns.json:22
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/status/include/71_https-dns-proxy.js:99
|
||||||
msgid "Malware Filter"
|
msgid "Name / Type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/one.comss.dns.json:17
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:188
|
||||||
msgid "Moscow, St Petersburg"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.mullvad.doh.json:2
|
|
||||||
msgid "Mullvad"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.ahadns.doh.json:38
|
|
||||||
msgid "Netherlands"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/io.nextdns.dns.json:2
|
|
||||||
msgid "NextDNS.io"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.ahadns.doh.json:42
|
|
||||||
msgid "Norway"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:187
|
|
||||||
msgid "Not installed or not found"
|
msgid "Not installed or not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/cz.nic.odvr.json:2
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:256
|
||||||
msgid "ODVR (CZ)"
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:288
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/co.oszx.dns.json:2
|
|
||||||
msgid "OSZX DNS (UK)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.opendns.doh.json:2
|
|
||||||
msgid "OpenDNS"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:249
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:281
|
|
||||||
msgid "Parameter"
|
msgid "Parameter"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:154
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:161
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:163
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:170
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please note that %s is not supported on this system (%smore information%s)."
|
"Please note that %s is not supported on this system (%smore information%s)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.ahadns.doh.json:50
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:367
|
||||||
msgid "Poland"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:353
|
|
||||||
msgid "Polling Interval"
|
msgid "Polling Interval"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/ca.cira.canadianshield.json:18
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:222
|
||||||
msgid "Private Filter"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/ca.cira.canadianshield.json:22
|
|
||||||
msgid "Protected Filter"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:215
|
|
||||||
msgid "Provider"
|
msgid "Provider"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:358
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:373
|
||||||
msgid "Proxy Server"
|
msgid "Proxy Server"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/tw.twnic.dns.json:2
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:320
|
||||||
msgid "Quad 101 (TW)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.quad9.json:2
|
|
||||||
msgid "Quad 9"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:319
|
|
||||||
msgid "Restart"
|
msgid "Restart"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:313
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:314
|
||||||
msgid "Restarting %s service"
|
msgid "Restarting %s service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/lu.restena.kaitain.json:2
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:345
|
||||||
msgid "Restena DNS (LU)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.rethinkdns.sky.json:2
|
|
||||||
msgid "Rethink DNS"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/cn.rubyfish.dns.json:2
|
|
||||||
msgid "RubyFish (CN)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:335
|
|
||||||
msgid "Run As Group"
|
msgid "Run As Group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:331
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:340
|
||||||
msgid "Run As User"
|
msgid "Run As User"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/io.seby.doh-2.json:2
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:204
|
||||||
msgid "Seby DNS (AU)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.quad9.json:18
|
|
||||||
msgid "Secured"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.quad9.json:26
|
|
||||||
msgid "Secured with ECS Support"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.cloudflare-dns.json:22
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/org.cleanbrowsing.doh.json:22
|
|
||||||
msgid "Security Filter"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:203
|
|
||||||
msgid "See the %sREADME%s for details."
|
msgid "See the %sREADME%s for details."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:402
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:403
|
||||||
msgid "Service Control"
|
msgid "Service Control"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:201
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:202
|
||||||
msgid "Service Instances"
|
msgid "Service Instances"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:165
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:166
|
||||||
msgid "Service Status"
|
msgid "Service Status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/one.comss.dns.json:13
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:301
|
||||||
msgid "Siberia"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.blahdns.doh.json:30
|
|
||||||
msgid "Singapore"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/org.snopyta.dns.doh.fi.json:2
|
|
||||||
msgid "Snopyta DNS (FI)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.ahadns.doh.json:22
|
|
||||||
msgid "Spain"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/co.oszx.dns.json:18
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.adguard.dns.json:18
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.cloudflare-dns.json:18
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.controld.freedns.json:18
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.opendns.doh.json:18
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/gr.libredns.doh.json:18
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.mullvad.doh.json:19
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.quad9.json:14
|
|
||||||
msgid "Standard"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:300
|
|
||||||
msgid "Start"
|
msgid "Start"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:294
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:295
|
||||||
msgid "Starting %s service"
|
msgid "Starting %s service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:338
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:339
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:332
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:333
|
||||||
msgid "Stopping %s service"
|
msgid "Stopping %s service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/ch.switch.dns.json:2
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/status/include/71_https-dns-proxy.js:148
|
||||||
msgid "Switch DNS (CH)"
|
msgid "There are no active instances."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.blahdns.doh.json:14
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:218
|
||||||
msgid "Switzerland"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/app.tiarap.doh.json:2
|
|
||||||
msgid "Tiarap Public DNS (JP)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.ahadns.doh.json:18
|
|
||||||
msgid "US/Chicago"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.ahadns.doh.json:34
|
|
||||||
msgid "US/Los Angeles"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.ahadns.doh.json:46
|
|
||||||
msgid "US/New York"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:211
|
|
||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.quad9.json:22
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:107
|
||||||
msgid "Unsecured"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:100
|
|
||||||
msgid "Update %s only"
|
msgid "Update %s only"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:78
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:84
|
||||||
msgid "Update DNSMASQ Config on Start/Stop"
|
msgid "Update DNSMASQ Config on Start/Stop"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:88
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:94
|
||||||
msgid "Update all configs"
|
msgid "Update all configs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:362
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:378
|
||||||
msgid "Use HTTP/1"
|
msgid "Use HTTP/1"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:372
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:389
|
||||||
msgid "Use IPv6 resolvers"
|
msgid "Use IPv6 resolvers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:377
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:394
|
||||||
msgid "Use any family DNS resolvers"
|
msgid "Use any family DNS resolvers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:366
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:382
|
||||||
msgid "Use negotiated HTTP version"
|
msgid "Use negotiated HTTP version"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/io.nextdns.dns.json:8
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:170
|
||||||
msgid "Username"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/app.tiarap.doh.json:8
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/ca.cira.canadianshield.json:8
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/co.oszx.dns.json:8
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.adguard.dns.json:8
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.cloudflare-dns.json:8
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.controld.freedns.json:8
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/com.opendns.doh.json:8
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/gr.libredns.doh.json:8
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.mullvad.doh.json:9
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.quad9.json:8
|
|
||||||
msgid "Variant"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:169
|
|
||||||
msgid "Version %s - Running."
|
msgid "Version %s - Running."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:181
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:182
|
||||||
msgid "Version %s - Stopped (Disabled)."
|
msgid "Version %s - Stopped (Disabled)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:179
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:180
|
||||||
msgid "Version %s - Stopped."
|
msgid "Version %s - Stopped."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
|
@ -20,8 +20,8 @@ readonly providersDir="/usr/share/${packageName}/providers"
|
||||||
is_enabled() { "/etc/init.d/${1}" enabled; }
|
is_enabled() { "/etc/init.d/${1}" enabled; }
|
||||||
is_running() { [ "$(ubus call service list "{ 'name': '$1' }" | jsonfilter -q -e "@['$1'].instances[*].running" | uniq)" = 'true' ]; }
|
is_running() { [ "$(ubus call service list "{ 'name': '$1' }" | jsonfilter -q -e "@['$1'].instances[*].running" | uniq)" = 'true' ]; }
|
||||||
get_version() { grep -m1 -A2 -w "^Package: $1$" /usr/lib/opkg/status | sed -n 's/Version: //p'; }
|
get_version() { grep -m1 -A2 -w "^Package: $1$" /usr/lib/opkg/status | sed -n 's/Version: //p'; }
|
||||||
check_http2() { grep -q 'Provides: libnghttp2' /usr/lib/opkg/status; }
|
check_http2() { curl --version | grep -q 'nghttp2'; }
|
||||||
check_http3() { grep -q 'Provides: libnghttp3' /usr/lib/opkg/status; }
|
check_http3() { curl --version | grep -q 'nghttp3'; }
|
||||||
ubus_get_ports() { ubus call service list "{ 'name': '$packageName' }" | jsonfilter -e "@['${packageName}'].instances[*].data.firewall.*.dest_port"; }
|
ubus_get_ports() { ubus call service list "{ 'name': '$packageName' }" | jsonfilter -e "@['${packageName}'].instances[*].data.firewall.*.dest_port"; }
|
||||||
logger() { /usr/bin/logger -t "$packageName" "$@"; }
|
logger() { /usr/bin/logger -t "$packageName" "$@"; }
|
||||||
print_json_bool() { json_init; json_add_boolean "$1" "$2"; json_dump; json_cleanup; }
|
print_json_bool() { json_init; json_add_boolean "$1" "$2"; json_dump; json_cleanup; }
|
||||||
|
|
Loading…
Reference in a new issue