mirror of
https://github.com/openwrt/luci.git
synced 2025-12-21 19:14:34 +04:00
luci-app-https-dns-proxy: update to 2025.05.11-4
* update license ID and copyright in Makefile * add a short README with link to full documentation * switch doc link from melmac.net to melmac.ca * add donate text/URL * attempt to fix bootstrap DNS loading/saving from json * add DNS4EU provider (thanks @rikroe) * add OpenNameServer provider (thanks @Phoenix616) Signed-off-by: Stan Grishin <stangri@melmac.ca>
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
# Copyright 2017-2024 MOSSDeF, Stan Grishin (stangri@melmac.ca).
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
# This is free software, licensed under AGPL-3.0-or-later.
|
# Copyright 2017-2025 MOSSDeF, Stan Grishin (stangri@melmac.ca).
|
||||||
|
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
@@ -7,7 +7,7 @@ PKG_NAME:=luci-app-https-dns-proxy
|
|||||||
PKG_LICENSE:=AGPL-3.0-or-later
|
PKG_LICENSE:=AGPL-3.0-or-later
|
||||||
PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
|
PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
|
||||||
PKG_VERSION:=2025.05.11
|
PKG_VERSION:=2025.05.11
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=4
|
||||||
|
|
||||||
LUCI_TITLE:=DNS Over HTTPS Proxy Web UI
|
LUCI_TITLE:=DNS Over HTTPS Proxy Web UI
|
||||||
LUCI_URL:=https://github.com/stangri/luci-app-https-dns-proxy/
|
LUCI_URL:=https://github.com/stangri/luci-app-https-dns-proxy/
|
||||||
|
|||||||
@@ -1,3 +1,22 @@
|
|||||||
# README
|
# luci-app-https-dns-proxy
|
||||||
|
|
||||||
Documentation for this project is available at [https://docs.openwrt.melmac.net/https-dns-proxy/](https://docs.openwrt.melmac.net/https-dns-proxy/).
|
[](https://openwrt.org)
|
||||||
|
[](https://docs.openwrt.melmac.ca/https-dns-proxy/)
|
||||||
|
[](https://docs.openwrt.melmac.ca/https-dns-proxy/)
|
||||||
|
[](https://github.com/stangri/https-dns-proxy)
|
||||||
|
[](https://github.com/stangri/https-dns-proxy/blob/master/LICENSE)
|
||||||
|
|
||||||
|
A WebUI for lightweight, RFC8484-compliant DNS-over-HTTPS (DoH) proxy service for OpenWrt.
|
||||||
|
Includes optional integration with `dnsmasq`, automatic fallback, and canary domain support.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Small footprint (~40KB installed)
|
||||||
|
- Seamless dnsmasq integration and fallback
|
||||||
|
- LuCI Web UI with 40+ built-in resolvers
|
||||||
|
|
||||||
|
**Full documentation:**
|
||||||
|
|
||||||
|
[https://docs.openwrt.melmac.ca/https-dns-proxy/](https://docs.openwrt.melmac.ca/https-dns-proxy/)
|
||||||
|
|
||||||
|
Based on [@aarond10](https://github.com/aarond10)'s excellent [https_dns_proxy](https://github.com/aarond10/https_dns_proxy)
|
||||||
|
|||||||
@@ -18,12 +18,21 @@ var pkg = {
|
|||||||
},
|
},
|
||||||
get URL() {
|
get URL() {
|
||||||
return (
|
return (
|
||||||
"https://docs.openwrt.melmac.net/" +
|
"https://docs.openwrt.melmac.ca/" +
|
||||||
pkg.Name +
|
pkg.Name +
|
||||||
"/" +
|
"/" +
|
||||||
(pkg.ReadmeCompat ? pkg.ReadmeCompat + "/" : "")
|
(pkg.ReadmeCompat ? pkg.ReadmeCompat + "/" : "")
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
get DonateURL() {
|
||||||
|
return (
|
||||||
|
"https://docs.openwrt.melmac.ca/" +
|
||||||
|
pkg.Name +
|
||||||
|
"/" +
|
||||||
|
(pkg.ReadmeCompat ? pkg.ReadmeCompat + "/" : "") +
|
||||||
|
"#Donate"
|
||||||
|
);
|
||||||
|
},
|
||||||
templateToRegexp: function (template) {
|
templateToRegexp: function (template) {
|
||||||
if (template)
|
if (template)
|
||||||
return new RegExp(
|
return new RegExp(
|
||||||
@@ -203,7 +212,7 @@ var status = baseclass.extend({
|
|||||||
} else {
|
} else {
|
||||||
text = _("Not installed or not found");
|
text = _("Not installed or not found");
|
||||||
}
|
}
|
||||||
var statusText = E("div", {}, text);
|
var statusText = E("div", { class: "cbi-value-description" }, text);
|
||||||
var statusField = E("div", { class: "cbi-value-field" }, statusText);
|
var statusField = E("div", { class: "cbi-value-field" }, statusText);
|
||||||
var statusDiv = E("div", { class: "cbi-value" }, [
|
var statusDiv = E("div", { class: "cbi-value" }, [
|
||||||
statusTitle,
|
statusTitle,
|
||||||
@@ -281,7 +290,13 @@ var status = baseclass.extend({
|
|||||||
"<br />"
|
"<br />"
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
var instancesText = E("div", {}, text);
|
text +=
|
||||||
|
"<br />" +
|
||||||
|
_("Please %sdonate%s to support development of this project.").format(
|
||||||
|
"<a href='" + pkg.DonateURL + "' target='_blank'>",
|
||||||
|
"</a>"
|
||||||
|
);
|
||||||
|
var instancesText = E("div", { class: "cbi-value-description" }, text);
|
||||||
var instancesField = E("div", { class: "cbi-value-field" }, [
|
var instancesField = E("div", { class: "cbi-value-field" }, [
|
||||||
instancesText,
|
instancesText,
|
||||||
instancesDescr,
|
instancesDescr,
|
||||||
|
|||||||
@@ -329,13 +329,51 @@ return view.extend({
|
|||||||
};
|
};
|
||||||
_paramText.remove = _paramText.write;
|
_paramText.remove = _paramText.write;
|
||||||
}
|
}
|
||||||
|
const _boot_dns = s.option(
|
||||||
|
form.Value,
|
||||||
|
"_bootstrap_dns_" + i,
|
||||||
|
_("Bootstrap DNS")
|
||||||
|
);
|
||||||
|
_boot_dns.template = prov.template;
|
||||||
|
_boot_dns.modalonly = true;
|
||||||
|
_boot_dns.depends("_provider", prov.template);
|
||||||
|
_boot_dns.cfgvalue = function (section_id) {
|
||||||
|
const c_value = this.map.data.get(
|
||||||
|
this.map.config,
|
||||||
|
section_id,
|
||||||
|
"bootstrap_dns"
|
||||||
|
);
|
||||||
|
return c_value || prov.bootstrap_dns || "";
|
||||||
|
};
|
||||||
|
_boot_dns.write = function (section_id, formvalue) {
|
||||||
|
const resolver = this.map.data.get(
|
||||||
|
this.map.config,
|
||||||
|
section_id,
|
||||||
|
"resolver_url"
|
||||||
|
);
|
||||||
|
const regexp = pkg.templateToRegexp(_boot_dns.template);
|
||||||
|
if (regexp.test(resolver)) {
|
||||||
|
console.log(
|
||||||
|
pkg.Name,
|
||||||
|
section_id,
|
||||||
|
"bootstrap_dns",
|
||||||
|
formvalue,
|
||||||
|
this.cfgvalue(section_id)
|
||||||
|
);
|
||||||
|
if (formvalue)
|
||||||
|
L.uci.set(pkg.Name, section_id, "bootstrap_dns", formvalue);
|
||||||
|
else
|
||||||
|
L.uci.set(
|
||||||
|
pkg.Name,
|
||||||
|
section_id,
|
||||||
|
"bootstrap_dns",
|
||||||
|
this.cfgvalue(section_id)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
_boot_dns.remove = _boot_dns.write;
|
||||||
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
o = s.option(form.Value, "bootstrap_dns", _("Bootstrap DNS"));
|
|
||||||
o.default = "";
|
|
||||||
o.modalonly = 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('nomask')";
|
o.datatype = "ipaddr('nomask')";
|
||||||
o.default = "";
|
o.default = "";
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
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:275
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:284
|
||||||
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:267
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:276
|
||||||
msgid "%s%s%s proxy on port %s.%s"
|
msgid "%s%s%s proxy on port %s.%s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -86,7 +86,7 @@ msgid ""
|
|||||||
"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:334
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:335
|
||||||
msgid "Bootstrap DNS"
|
msgid "Bootstrap DNS"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -134,6 +134,10 @@ msgstr ""
|
|||||||
msgid "DNS Forge (DE)"
|
msgid "DNS Forge (DE)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/eu.joindns4.json:2
|
||||||
|
msgid "DNS4EU"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/pub.doh.json:2
|
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/pub.doh.json:2
|
||||||
msgid "DNSPod Public DNS (CN)"
|
msgid "DNSPod Public DNS (CN)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -142,7 +146,7 @@ msgstr ""
|
|||||||
msgid "DNSlify DNS"
|
msgid "DNSlify DNS"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:361
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:399
|
||||||
msgid "DSCP Codepoint"
|
msgid "DSCP Codepoint"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -162,11 +166,11 @@ msgstr ""
|
|||||||
msgid "Direct"
|
msgid "Direct"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:393
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:408
|
||||||
msgid "Disable"
|
msgid "Disable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:387
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:402
|
||||||
msgid "Disabling %s service"
|
msgid "Disabling %s service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -182,11 +186,11 @@ msgstr ""
|
|||||||
msgid "DoH DNS (SB)"
|
msgid "DoH DNS (SB)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:374
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:389
|
||||||
msgid "Enable"
|
msgid "Enable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:368
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:383
|
||||||
msgid "Enabling %s service"
|
msgid "Enabling %s service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -220,7 +224,7 @@ msgstr ""
|
|||||||
msgid "Force DNS Ports"
|
msgid "Force DNS Ports"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:188
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:197
|
||||||
msgid "Force DNS ports:"
|
msgid "Force DNS ports:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -234,11 +238,11 @@ msgstr ""
|
|||||||
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:394
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:432
|
||||||
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:406
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:444
|
||||||
msgid "Force use of IPv6 DNS resolvers"
|
msgid "Force use of IPv6 DNS resolvers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -272,7 +276,7 @@ msgstr ""
|
|||||||
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:178
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:187
|
||||||
msgid "HTTPS DNS Proxy - Status"
|
msgid "HTTPS DNS Proxy - Status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -331,12 +335,12 @@ msgstr ""
|
|||||||
msgid "LibreDNS (GR)"
|
msgid "LibreDNS (GR)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:339
|
#: 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/status/include/71_https-dns-proxy.js:56
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/status/include/71_https-dns-proxy.js:56
|
||||||
msgid "Listen Address"
|
msgid "Listen Address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:345
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:383
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/status/include/71_https-dns-proxy.js:57
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/status/include/71_https-dns-proxy.js:57
|
||||||
msgid "Listen Port"
|
msgid "Listen Port"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -346,11 +350,11 @@ msgstr ""
|
|||||||
msgid "Location"
|
msgid "Location"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:373
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:411
|
||||||
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:367
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:405
|
||||||
msgid "Logging Verbosity"
|
msgid "Logging Verbosity"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -378,7 +382,7 @@ msgstr ""
|
|||||||
msgid "Norway"
|
msgid "Norway"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:204
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:213
|
||||||
msgid "Not installed or not found"
|
msgid "Not installed or not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -399,6 +403,10 @@ msgstr ""
|
|||||||
msgid "Parameter"
|
msgid "Parameter"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:295
|
||||||
|
msgid "Please %sdonate%s to support development of this project."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:172
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:172
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:181
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:181
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -409,7 +417,7 @@ msgstr ""
|
|||||||
msgid "Poland"
|
msgid "Poland"
|
||||||
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:416
|
||||||
msgid "Polling Interval"
|
msgid "Polling Interval"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -421,11 +429,27 @@ msgstr ""
|
|||||||
msgid "Protected Filter"
|
msgid "Protected Filter"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/eu.joindns4.json:18
|
||||||
|
msgid "Protective (blocks malicous and fraudulent websites)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/eu.joindns4.json:22
|
||||||
|
msgid "Protective with ad-blocking"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/eu.joindns4.json:26
|
||||||
|
msgid "Protective with child protection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/eu.joindns4.json:30
|
||||||
|
msgid "Protective with child protection & ad-blocking"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:233
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:233
|
||||||
msgid "Provider"
|
msgid "Provider"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:384
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:422
|
||||||
msgid "Proxy Server"
|
msgid "Proxy Server"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -437,11 +461,11 @@ msgstr ""
|
|||||||
msgid "Quad 9"
|
msgid "Quad 9"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:336
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:351
|
||||||
msgid "Restart"
|
msgid "Restart"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:330
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:345
|
||||||
msgid "Restarting %s service"
|
msgid "Restarting %s service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -457,11 +481,11 @@ msgstr ""
|
|||||||
msgid "RubyFish (CN)"
|
msgid "RubyFish (CN)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:356
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:394
|
||||||
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:351
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:389
|
||||||
msgid "Run As User"
|
msgid "Run As User"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -482,7 +506,7 @@ msgstr ""
|
|||||||
msgid "Security Filter"
|
msgid "Security Filter"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:220
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:229
|
||||||
msgid "See the %sREADME%s for details."
|
msgid "See the %sREADME%s for details."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -490,15 +514,15 @@ msgstr ""
|
|||||||
msgid "Select the DNSMASQ Configs to update"
|
msgid "Select the DNSMASQ Configs to update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:419
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:434
|
||||||
msgid "Service Control"
|
msgid "Service Control"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:218
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:227
|
||||||
msgid "Service Instances"
|
msgid "Service Instances"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:182
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:191
|
||||||
msgid "Service Status"
|
msgid "Service Status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -524,19 +548,19 @@ msgstr ""
|
|||||||
msgid "Standard"
|
msgid "Standard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:317
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:332
|
||||||
msgid "Start"
|
msgid "Start"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:311
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:326
|
||||||
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:355
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:370
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:349
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:364
|
||||||
msgid "Stopping %s service"
|
msgid "Stopping %s service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -569,6 +593,7 @@ msgid "US/New York"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: 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.adguard.dns.json:18
|
||||||
|
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/eu.joindns4.json:14
|
||||||
msgid "Unfiltered"
|
msgid "Unfiltered"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -592,19 +617,19 @@ msgstr ""
|
|||||||
msgid "Update select configs"
|
msgid "Update select configs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:389
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:427
|
||||||
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:400
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:438
|
||||||
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:405
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:443
|
||||||
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:393
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/view/https-dns-proxy/overview.js:431
|
||||||
msgid "Use negotiated HTTP version"
|
msgid "Use negotiated HTTP version"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -619,21 +644,22 @@ msgstr ""
|
|||||||
#: 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.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.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/com.opendns.doh.json:8
|
||||||
|
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/eu.joindns4.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/gr.libredns.doh.json:8
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.mullvad.dns.json:9
|
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.mullvad.dns.json:9
|
||||||
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.quad9.json:8
|
#: applications/luci-app-https-dns-proxy/root/usr/share/https-dns-proxy/providers/net.quad9.json:8
|
||||||
msgid "Variant"
|
msgid "Variant"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:186
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:195
|
||||||
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:198
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:207
|
||||||
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:196
|
#: applications/luci-app-https-dns-proxy/htdocs/luci-static/resources/https-dns-proxy/status.js:205
|
||||||
msgid "Version %s - Stopped."
|
msgid "Version %s - Stopped."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"title": "DNS4EU",
|
||||||
|
"template": "https://{option}.joindns4.eu/dns-query",
|
||||||
|
"bootstrap_dns": "86.54.11.100,86.54.11.200,2a13:1001::86:54:11:100,2a13:1001::86:54:11:200",
|
||||||
|
"help_link": "https://www.joindns4.eu/for-public/",
|
||||||
|
"params": {
|
||||||
|
"option": {
|
||||||
|
"description": "Variant",
|
||||||
|
"type": "select",
|
||||||
|
"regex": "(unfiltered|protective|noads|child|child-noads)",
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"value": "unfiltered",
|
||||||
|
"description": "Unfiltered"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "protective",
|
||||||
|
"description": "Protective (blocks malicous and fraudulent websites)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "noads",
|
||||||
|
"description": "Protective with ad-blocking"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "child",
|
||||||
|
"description": "Protective with child protection"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "child-noads",
|
||||||
|
"description": "Protective with child protection & ad-blocking"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default": "unfiltered"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"title": "OpenNameServer",
|
||||||
|
"template": "https://{option}.opennameserver.org/dns-query",
|
||||||
|
"bootstrap_dns": "217.160.70.42,2a01:239:2fd:b700::1,213.202.211.221,2001:4ba0:cafe:3d2::1,81.169.136.222,2a01:238:4231:5200::1,185.181.61.24,2a03:94e0:1804::1",
|
||||||
|
"help_link": "https://opennameserver.org/",
|
||||||
|
"params": {
|
||||||
|
"option": {
|
||||||
|
"description": "Nameserver",
|
||||||
|
"type": "select",
|
||||||
|
"regex": "(|ns1|ns2|ns3|ns4)",
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"value": "ns1",
|
||||||
|
"description": "ns1: Germany - Baden-Baden"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "ns2",
|
||||||
|
"description": "ns2: Germany - D<>sseldorf"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "ns3",
|
||||||
|
"description": "ns3: Germany - Berlin"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "ns4",
|
||||||
|
"description": "ns4: Norway - Sandefjord"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default": "ns1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user