From: RISCi_ATOM Date: Fri, 10 Jan 2020 17:50:06 +0000 (-0500) Subject: Add dnscrypt-proxy (ldns, libsodium, luci-app-dnscrypt-proxy) X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=61b816f2384e0ae70fceebcd686f3d01521cf434;p=librecmc%2Fpackage-feed.git Add dnscrypt-proxy (ldns, libsodium, luci-app-dnscrypt-proxy) --- diff --git a/libs/ldns/Makefile b/libs/ldns/Makefile new file mode 100644 index 0000000..484e5c3 --- /dev/null +++ b/libs/ldns/Makefile @@ -0,0 +1,89 @@ +# +# Copyright (C) 2011-2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=ldns +PKG_VERSION:=1.7.0 +PKG_RELEASE:=5 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://www.nlnetlabs.nl/downloads/ldns +PKG_HASH:=c19f5b1b4fb374cfe34f4845ea11b1e0551ddc67803bd6ddd5d2a20f0997a6cc + +PKG_LICENSE:=BSD-3-Clause +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:= +PKG_CPE_ID:=cpe:/a:nlnetlabs:ldns + +PKG_FIXUP:=autoreconf +PKG_BUILD_PARALLEL:=1 +PKG_INSTALL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/libldns/Default + URL:=http://www.nlnetlabs.nl/projects/ldns/ + DEPENDS:=+libopenssl +endef + +define Package/libldns + $(call Package/libldns/Default) + SECTION:=libs + CATEGORY:=Libraries + TITLE:=A library to simplify DNS programming +endef + +define Package/libldns/description + The goal of ldns is to simplify DNS programming, it supports recent RFCs like + the DNSSEC documents, and allows developers to easily create software + conforming to current RFCs, and experimental software for current Internet + Drafts. +endef + +define Package/drill + $(call Package/libldns/Default) + SECTION:=net + CATEGORY:=Network + SUBMENU:=IP Addresses and Names + TITLE:=DNS(SEC) information tool + DEPENDS+= +libldns +endef + +define Package/drill/description + drill is a tool to designed to get all sorts of information out of the DNS. It + is specificly designed to be used with DNSSEC. +endef + +CONFIGURE_ARGS += \ + --disable-dane-ta-usage \ + --disable-ecdsa \ + --disable-gost \ + --with-drill \ + --with-ssl="$(STAGING_DIR)/usr" + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/ldns $(1)/usr/include/ + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libldns.{a,so*} $(1)/usr/lib/ + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(CP) $(PKG_BUILD_DIR)/packaging/libldns.pc $(1)/usr/lib/pkgconfig +endef + +define Package/libldns/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libldns.so.* $(1)/usr/lib/ +endef + +define Package/drill/install + $(INSTALL_DIR) $(1)/usr/bin + $(CP) $(PKG_INSTALL_DIR)/usr/bin/drill $(1)/usr/bin/ +endef + +$(eval $(call BuildPackage,libldns)) +$(eval $(call BuildPackage,drill)) diff --git a/libs/ldns/patches/001-fix-cross-compile-on-darwin.patch b/libs/ldns/patches/001-fix-cross-compile-on-darwin.patch new file mode 100644 index 0000000..ddc2691 --- /dev/null +++ b/libs/ldns/patches/001-fix-cross-compile-on-darwin.patch @@ -0,0 +1,11 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -842,7 +842,7 @@ ACX_CHECK_FORMAT_ATTRIBUTE + ACX_CHECK_UNUSED_ATTRIBUTE + + # check OSX deployment target, if needed +-if echo $build_os | grep darwin > /dev/null; then ++if echo $target_os | grep darwin > /dev/null; then + sdk_p=`xcode-select -print-path`; + sdk_v="$( /usr/bin/xcrun --show-sdk-version )"; + case $sdk_v in diff --git a/libs/ldns/patches/100-CVE-2017-1000231.patch b/libs/ldns/patches/100-CVE-2017-1000231.patch new file mode 100644 index 0000000..2c2abe8 --- /dev/null +++ b/libs/ldns/patches/100-CVE-2017-1000231.patch @@ -0,0 +1,28 @@ +From c8391790c96d4c8a2c10f9ab1460fda83b509fc2 Mon Sep 17 00:00:00 2001 +From: Willem Toorop +Date: Thu, 27 Apr 2017 00:14:58 +0200 +Subject: [PATCH] Check parse limit before t increment + +Thanks Stephan Zeisberg +--- + parse.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/parse.c b/parse.c +index e68627c..947dbb8 100644 +--- a/parse.c ++++ b/parse.c +@@ -118,6 +118,10 @@ ldns_fget_token_l(FILE *f, char *token, const char *delim, size_t limit, int *li + if (line_nr) { + *line_nr = *line_nr + 1; + } ++ if (limit > 0 && (i >= limit || (size_t)(t-token) >= limit)) { ++ *t = '\0'; ++ return -1; ++ } + *t++ = ' '; + prev_c = c; + continue; +-- +2.9.5 + diff --git a/libs/ldns/patches/101-CVE-2017-1000232.patch b/libs/ldns/patches/101-CVE-2017-1000232.patch new file mode 100644 index 0000000..25be44d --- /dev/null +++ b/libs/ldns/patches/101-CVE-2017-1000232.patch @@ -0,0 +1,30 @@ +From 3bdeed02505c9bbacb3b64a97ddcb1de967153b7 Mon Sep 17 00:00:00 2001 +From: Willem Toorop +Date: Thu, 27 Apr 2017 00:25:20 +0200 +Subject: [PATCH] bugfix #1257: Free after reallocing to 0 size + +Thanks Stephan Zeisberg +--- + str2host.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/str2host.c b/str2host.c +index b274b17..f2a317b 100644 +--- a/str2host.c ++++ b/str2host.c +@@ -1525,8 +1525,10 @@ ldns_str2rdf_long_str(ldns_rdf **rd, const char *str) + if (! str) { + return LDNS_STATUS_SYNTAX_BAD_ESCAPE; + } +- length = (size_t)(dp - data); +- ++ if (!(length = (size_t)(dp - data))) { ++ LDNS_FREE(data); ++ return LDNS_STATUS_SYNTAX_EMPTY; ++ } + /* Lose the overmeasure */ + data = LDNS_XREALLOC(dp = data, uint8_t, length); + if (! data) { +-- +2.9.5 + diff --git a/libs/ldns/patches/200-deprecated-openssl.patch b/libs/ldns/patches/200-deprecated-openssl.patch new file mode 100644 index 0000000..cdeff84 --- /dev/null +++ b/libs/ldns/patches/200-deprecated-openssl.patch @@ -0,0 +1,78 @@ +--- a/dnssec.c ++++ b/dnssec.c +@@ -23,6 +23,9 @@ + #include + #include + #include ++#include ++#include ++#include + #endif + + ldns_rr * +--- a/dnssec_sign.c ++++ b/dnssec_sign.c +@@ -17,6 +17,9 @@ + #include + #include + #include ++#include ++#include ++#include + #endif /* HAVE_SSL */ + + ldns_rr * +--- a/dnssec_verify.c ++++ b/dnssec_verify.c +@@ -594,7 +594,9 @@ ldns_dnssec_trust_tree_print_sm_fmt(FILE + if (tree->parent_status[i] + == LDNS_STATUS_SSL_ERR) { + printf("; SSL Error: "); ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + ERR_load_crypto_strings(); ++#endif + ERR_print_errors_fp(stdout); + printf("\n"); + } +--- a/drill/drill.c ++++ b/drill/drill.c +@@ -1013,7 +1013,7 @@ main(int argc, char *argv[]) + xfree(tsig_data); + xfree(tsig_algorithm); + +-#ifdef HAVE_SSL ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + CRYPTO_cleanup_all_ex_data(); + ERR_free_strings(); + EVP_cleanup(); +--- a/host2str.c ++++ b/host2str.c +@@ -28,6 +28,12 @@ + #include + #include + ++#ifdef HAVE_SSL ++#include ++#include ++#include ++#endif ++ + #ifndef INET_ADDRSTRLEN + #define INET_ADDRSTRLEN 16 + #endif +--- a/keys.c ++++ b/keys.c +@@ -16,8 +16,12 @@ + + #ifdef HAVE_SSL + #include +-#include + #include ++#include ++#include ++#include ++#include ++#include + #endif /* HAVE_SSL */ + + ldns_lookup_table ldns_signing_algorithms[] = { diff --git a/libs/ldns/patches/300-openssl-engine.patch b/libs/ldns/patches/300-openssl-engine.patch new file mode 100644 index 0000000..8f2be23 --- /dev/null +++ b/libs/ldns/patches/300-openssl-engine.patch @@ -0,0 +1,23 @@ +--- a/keys.c ++++ b/keys.c +@@ -20,8 +20,10 @@ + #include + #include + #include +-#include + #include ++#ifndef OPENSSL_NO_ENGINE ++#include ++#endif + #endif /* HAVE_SSL */ + + ldns_lookup_table ldns_signing_algorithms[] = { +@@ -103,7 +105,7 @@ ldns_key_new_frm_fp(ldns_key **k, FILE *fp) + return ldns_key_new_frm_fp_l(k, fp, NULL); + } + +-#ifdef HAVE_SSL ++#if defined(HAVE_SSL) && !defined(OPENSSL_NO_ENGINE) + ldns_status + ldns_key_new_frm_engine(ldns_key **key, ENGINE *e, char *key_id, ldns_algorithm alg) + { diff --git a/libs/libsodium/Makefile b/libs/libsodium/Makefile new file mode 100644 index 0000000..a75a533 --- /dev/null +++ b/libs/libsodium/Makefile @@ -0,0 +1,73 @@ +# +# Copyright (C) 2009-2016 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=libsodium +PKG_VERSION:=1.0.18 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://download.libsodium.org/libsodium/releases \ + https://github.com/jedisct1/libsodium/releases/download/$(PKG_VERSION) +PKG_HASH:=6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1 + +PKG_MAINTAINER:=Damiano Renfer +PKG_LICENSE:=ISC +PKG_LICENSE_FILES:=LICENSE + +PKG_USE_MIPS16:=0 +PKG_INSTALL:=1 +PKG_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/libsodium + SECTION:=libs + CATEGORY:=Libraries + TITLE:=P(ortable|ackageable) NaCl-based crypto library + URL:=https://github.com/jedisct1/libsodium +endef + +define Package/libsodium/description + NaCl (pronounced "salt") is a new easy-to-use high-speed software library for network communication, encryption, decryption, signatures, etc. + NaCl's goal is to provide all of the core operations needed to build higher-level cryptographic tools. + Sodium is a portable, cross-compilable, installable, packageable fork of NaCl (based on the latest released upstream version nacl-20110221), with a compatible API. + The design choices, particularly in regard to the Curve25519 Diffie-Hellman function, emphasize security (whereas NIST curves emphasize "performance" at the cost of security), and "magic constants" in NaCl/Sodium have clear rationales. + The same cannot be said of NIST curves, where the specific origins of certain constants are not described by the standards. + And despite the emphasis on higher security, primitives are faster across-the-board than most implementations of the NIST standards. +endef + +define Package/libsodium/config +menu "Configuration" + depends on PACKAGE_libsodium + config LIBSODIUM_MINIMAL + bool "Compile only what is required for the high-level API (no aes128ctr), should be fine in most cases." + default y +endmenu +endef + +CONFIGURE_ARGS+= \ + --disable-ssp \ + $(if $(CONFIG_LIBSODIUM_MINIMAL),--enable,--disable)-minimal + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include/sodium + $(CP) $(PKG_INSTALL_DIR)/usr/include/sodium.h $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/sodium/*.h $(1)/usr/include/sodium + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsodium.{a,so*} $(1)/usr/lib + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libsodium.pc $(1)/usr/lib/pkgconfig/ +endef + +define Package/libsodium/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsodium.so.* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,libsodium)) diff --git a/luci/luci-app-dnscrypt-proxy/Makefile b/luci/luci-app-dnscrypt-proxy/Makefile new file mode 100644 index 0000000..ced9e8b --- /dev/null +++ b/luci/luci-app-dnscrypt-proxy/Makefile @@ -0,0 +1,13 @@ +# Copyright 2017 Dirk Brenken (dev@brenken.org) +# This is free software, licensed under the Apache License, Version 2.0 +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=LuCI support for DNSCrypt-Proxy +LUCI_DEPENDS:=+uclient-fetch +dnscrypt-proxy +luci-lib-httpprotoutils +LUCI_PKGARCH:=all + +include $(TOPDIR)/package/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/luci/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua b/luci/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua new file mode 100644 index 0000000..c055945 --- /dev/null +++ b/luci/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua @@ -0,0 +1,36 @@ +-- Copyright 2017-2019 Dirk Brenken (dev@brenken.org) +-- This is free software, licensed under the Apache License, Version 2.0 + +module("luci.controller.dnscrypt-proxy", package.seeall) + +local util = require("luci.util") +local i18n = require("luci.i18n") +local templ = require("luci.template") + +function index() + if not nixio.fs.access("/etc/config/dnscrypt-proxy") then + nixio.fs.writefile("/etc/config/dnscrypt-proxy", "") + end + entry({"admin", "services", "dnscrypt-proxy"}, firstchild(), _("DNSCrypt-Proxy"), 60).dependent = false + entry({"admin", "services", "dnscrypt-proxy", "tab_from_cbi"}, cbi("dnscrypt-proxy/overview_tab", {hideresetbtn=true, hidesavebtn=true}), _("Overview"), 10).leaf = true + entry({"admin", "services", "dnscrypt-proxy", "logfile"}, call("logread"), _("View Logfile"), 20).leaf = true + entry({"admin", "services", "dnscrypt-proxy", "advanced"}, firstchild(), _("Advanced"), 100) + entry({"admin", "services", "dnscrypt-proxy", "advanced", "configuration"}, form("dnscrypt-proxy/configuration_tab"), _("Edit DNSCrypt-Proxy Configuration"), 110).leaf = true + entry({"admin", "services", "dnscrypt-proxy", "advanced", "cfg_dnsmasq"}, form("dnscrypt-proxy/cfg_dnsmasq_tab"), _("Edit Dnsmasq Configuration"), 120).leaf = true + entry({"admin", "services", "dnscrypt-proxy", "advanced", "cfg_resolvcrypt"}, form("dnscrypt-proxy/cfg_resolvcrypt_tab"), _("Edit Resolvcrypt Configuration"), 130).leaf = true + entry({"admin", "services", "dnscrypt-proxy", "advanced", "view_reslist"}, call("view_reslist"), _("View Resolver List"), 140).leaf = true +end + +function view_reslist() + local reslist = util.trim(util.exec("cat /usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv")) + templ.render("dnscrypt-proxy/view_reslist", {title = i18n.translate("DNSCrypt-Proxy Resolver List"), content = reslist}) +end + +function logread() + local logfile = util.trim(util.exec("logread -e 'dnscrypt-proxy' 2>/dev/null")) or "" + + if logfile == "" then + logfile = "No DNSCrypt-Proxy related logs yet!" + end + templ.render("dnscrypt-proxy/logread", {title = i18n.translate("DNSCrypt-Proxy Logfile"), content = logfile}) +end diff --git a/luci/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua b/luci/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua new file mode 100644 index 0000000..6e75ac9 --- /dev/null +++ b/luci/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua @@ -0,0 +1,39 @@ +-- Copyright 2017 Dirk Brenken (dev@brenken.org) +-- This is free software, licensed under the Apache License, Version 2.0 + +local nxfs = require("nixio.fs") +local util = require("luci.util") +local uci_input = "/etc/config/dhcp" + +if not nxfs.access(uci_input) then + m = SimpleForm("error", nil, translate("Input file not found, please check your configuration.")) + m.reset = false + m.submit = false + return m +end + +m = SimpleForm("input", nil) +m:append(Template("dnscrypt-proxy/config_css")) +m.submit = translate("Save") +m.reset = false + +s = m:section(SimpleSection, nil, + translate("This form allows you to modify the content of the main Dnsmasq configuration file (/etc/config/dhcp).")) + +f = s:option(TextValue, "data") +f.rows = 20 +f.rmempty = true + +function f.cfgvalue() + return nxfs.readfile(uci_input) or "" +end + +function f.write(self, section, data) + return nxfs.writefile(uci_input, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n") +end + +function s.handle(self, state, data) + return true +end + +return m diff --git a/luci/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua b/luci/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua new file mode 100644 index 0000000..f172b15 --- /dev/null +++ b/luci/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua @@ -0,0 +1,39 @@ +-- Copyright 2017 Dirk Brenken (dev@brenken.org) +-- This is free software, licensed under the Apache License, Version 2.0 + +local nxfs = require("nixio.fs") +local util = require("luci.util") +local res_input = "/etc/resolv-crypt.conf" + +if not nxfs.access(res_input) then + m = SimpleForm("error", nil, translate("Input file not found, please check your configuration.")) + m.reset = false + m.submit = false + return m +end + +m = SimpleForm("input", nil) +m:append(Template("dnscrypt-proxy/config_css")) +m.submit = translate("Save") +m.reset = false + +s = m:section(SimpleSection, nil, + translate("This form allows you to modify the content of the resolv-crypt configuration file (/etc/resolv-crypt.conf).")) + +f = s:option(TextValue, "data") +f.rows = 20 +f.rmempty = true + +function f.cfgvalue() + return nxfs.readfile(res_input) or "" +end + +function f.write(self, section, data) + return nxfs.writefile(res_input, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n") +end + +function s.handle(self, state, data) + return true +end + +return m diff --git a/luci/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua b/luci/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua new file mode 100644 index 0000000..f184273 --- /dev/null +++ b/luci/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua @@ -0,0 +1,39 @@ +-- Copyright 2017 Dirk Brenken (dev@brenken.org) +-- This is free software, licensed under the Apache License, Version 2.0 + +local nxfs = require("nixio.fs") +local util = require("luci.util") +local uci_input = "/etc/config/dnscrypt-proxy" + +if not nxfs.access(uci_input) then + m = SimpleForm("error", nil, translate("Input file not found, please check your configuration.")) + m.reset = false + m.submit = false + return m +end + +m = SimpleForm("input", nil) +m:append(Template("dnscrypt-proxy/config_css")) +m.submit = translate("Save") +m.reset = false + +s = m:section(SimpleSection, nil, + translate("This form allows you to modify the content of the main DNSCrypt-Proxy configuration file (/etc/config/dnscrypt-proxy).")) + +f = s:option(TextValue, "data") +f.rows = 20 +f.rmempty = true + +function f.cfgvalue() + return nxfs.readfile(uci_input) or "" +end + +function f.write(self, section, data) + return nxfs.writefile(uci_input, "\n" .. util.trim(data:gsub("\r\n", "\n")) .. "\n") +end + +function s.handle(self, state, data) + return true +end + +return m diff --git a/luci/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua b/luci/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua new file mode 100644 index 0000000..967110f --- /dev/null +++ b/luci/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua @@ -0,0 +1,263 @@ +-- Copyright 2017-2018 Dirk Brenken (dev@brenken.org) +-- This is free software, licensed under the Apache License, Version 2.0 + +local fs = require("nixio.fs") +local uci = require("luci.model.uci").cursor() +local util = require("luci.util") +local res_input = "/usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv" +local res_dir = fs.dirname(res_input) +local dump = util.ubus("network.interface", "dump", {}) +local plug_cnt = tonumber(luci.sys.exec("env -i /usr/sbin/dnscrypt-proxy --version | grep 'Support for plugins: present' | wc -l")) +local res_list = {} +local url = "https://raw.githubusercontent.com/dyne/dnscrypt-proxy/master/dnscrypt-resolvers.csv" + +local _, date = pcall(require, "luci.http.date") +if not date then + _, date = pcall(require, "luci.http.protocol.date") +end + +if not fs.access(res_input) then + if not fs.access("/lib/libustream-ssl.so") then + m = SimpleForm("error", nil, translate("No default resolver list and no SSL support available.
") + .. translate("Please install a resolver list to '/usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv' to use this package.")) + m.submit = false + m.reset = false + return m + else + luci.sys.call("env -i /bin/uclient-fetch --no-check-certificate -O " .. res_input .. " " .. url .. " >/dev/null 2>&1") + end +end + +if not uci:get_first("dnscrypt-proxy", "global") then + uci:add("dnscrypt-proxy", "global") + uci:save("dnscrypt-proxy") + uci:commit("dnscrypt-proxy") +end + +if fs.access(res_input) then + for line in io.lines(res_input) or {} do + local name, + location, + dnssec, + nolog = line:match("^([^,]+),.-,\".-\",\"*(.-)\"*,.-,[0-9],\"*([yesno]+)\"*,\"*([yesno]+)\"*,.*") + if name ~= "" and name ~= "Name" then + if location == "" then + location = "-" + end + if dnssec == "" then + dnssec = "-" + end + if nolog == "" then + nolog = "-" + end + res_list[#res_list + 1] = { name = name, location = location, dnssec = dnssec, nolog = nolog } + end + end +end + +m = Map("dnscrypt-proxy", translate("DNSCrypt-Proxy"), + translate("Configuration of the DNSCrypt-Proxy package. ") + .. translatef("For further information " + .. "" + .. "see the wiki online", "https://openwrt.org/docs/guide-user/services/dns/dnscrypt")) +m:chain("dhcp") + +function m.on_after_commit(self) + function d1.validate(self, value, s1) + if value == "1" then + uci:commit("dnscrypt-proxy") + uci:set("dhcp", s1, "noresolv", 1) + if not fs.access("/etc/resolv-crypt.conf") or fs.stat("/etc/resolv-crypt.conf").size == 0 then + uci:set("dhcp", s1, "resolvfile", "/tmp/resolv.conf.auto") + else + uci:set("dhcp", s1, "resolvfile", "/etc/resolv-crypt.conf") + end + local server_list = {} + local cnt = 1 + uci:foreach("dnscrypt-proxy", "dnscrypt-proxy", function(s) + server_list[cnt] = s['address'] .. "#" .. s['port'] + cnt = cnt + 1 + end) + server_list[cnt] = "/pool.ntp.org/8.8.8.8" + uci:set_list("dhcp", s1, "server", server_list) + if cnt > 2 then + uci:set("dhcp", s1, "allservers", 1) + else + uci:set("dhcp", s1, "allservers", 0) + end + uci:save("dhcp") + uci:commit("dhcp") + end + return value + end + luci.sys.call("env -i /etc/init.d/dnscrypt-proxy restart >/dev/null 2>&1") + luci.sys.call("env -i /etc/init.d/dnsmasq restart >/dev/null 2>&1") +end + +s = m:section(TypedSection, "global", translate("General Options")) +s.anonymous = true + +-- Main dnscrypt-proxy resource list + +o1 = s:option(DummyValue, "", translate("Default Resolver List")) +o1.template = "dnscrypt-proxy/res_options" +o1.value = res_input + +o2 = s:option(DummyValue, "", translate("File Date")) +o2.template = "dnscrypt-proxy/res_options" +if fs.access(res_input) then + o2.value = date.to_http(fs.stat(res_input).mtime) +else + o2.value = "-" +end + +o3 = s:option(DummyValue, "", translate("File Checksum")) +o3.template = "dnscrypt-proxy/res_options" +if fs.access(res_input) then + o3.value = luci.sys.exec("sha256sum " .. res_input .. " | awk '{print $1}'") +else + o3.value = "-" +end + +if fs.access("/lib/libustream-ssl.so") then + btn1 = s:option(Button, "", translate("Refresh Resolver List"), + translate("Download the current resolver list from 'github.com/dyne/dnscrypt-proxy'.")) + btn1.inputtitle = translate("Refresh List") + btn1.inputstyle = "apply" + btn1.disabled = false + function btn1.write() + if not fs.access(res_dir) then + fs.mkdir(res_dir) + end + luci.sys.call("env -i /bin/uclient-fetch --no-check-certificate -O " .. res_input .. " " .. url .. " >/dev/null 2>&1") + luci.http.redirect(luci.dispatcher.build_url("admin", "services", "dnscrypt-proxy")) + end +else + btn1 = s:option(Button, "", translate("Refresh Resolver List"), + translate("No SSL support available.
") + .. translate("Please install a 'libustream-ssl' library to download the current resolver list from 'github.com/dyne/dnscrypt-proxy'.")) + btn1.inputtitle = translate("-------") + btn1.inputstyle = "button" + btn1.disabled = true +end + +if not fs.access("/etc/resolv-crypt.conf") or fs.stat("/etc/resolv-crypt.conf").size == 0 then + btn2 = s:option(Button, "", translate("Create Custom Config File"), + translate("Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS upstream timeouts with multiple DNSCrypt instances.
") + .. translatef("For further information " + .. "" + .. "see the wiki online", "https://openwrt.org/docs/guide-user/services/dns/dnscrypt")) + btn2.inputtitle = translate("Create Config File") + btn2.inputstyle = "apply" + btn2.disabled = false + function btn2.write() + luci.sys.call("env -i echo 'options timeout:1' > '/etc/resolv-crypt.conf'") + luci.http.redirect(luci.dispatcher.build_url("admin", "services", "dnscrypt-proxy")) + end +else + btn2 = s:option(Button, "", translate("Create Custom Config File"), + translate("The config file '/etc/resolv-crypt.conf' already exist.
") + .. translate("Please edit the file manually in the 'Advanced' section.")) + btn2.inputtitle = translate("-------") + btn2.inputstyle = "button" + btn2.disabled = true +end + +-- Trigger settings + +t = s:option(ListValue, "procd_trigger", translate("Startup Trigger"), + translate("By default the DNSCrypt-Proxy startup will be triggered by ifup events of 'All' available network interfaces.
") + .. translate("To restrict the trigger, select only the relevant network interface. Usually the 'wan' interface should work for most users.")) +t:value("", "All") +if dump then + local i, v + for i, v in ipairs(dump.interface) do + if v.interface ~= "loopback" then + t:value(v.interface) + end + end +end +t.default = procd_trigger or "All" +t.rmempty = true + +-- Mandatory options per instance + +s = m:section(TypedSection, "dnscrypt-proxy", translate("Instance Options")) +s.anonymous = true +s.addremove = true + +i1 = s:option(Value, "address", translate("IP Address"), + translate("The local IPv4 or IPv6 address. The latter one should be specified within brackets, e.g. '[::1]'.")) +i1.default = address or "127.0.0.1" +i1.rmempty = false + +i2 = s:option(Value, "port", translate("Port"), + translate("The listening port for DNS queries.")) +i2.datatype = "port" +i2.default = port +i2.rmempty = false + +i3 = s:option(ListValue, "resolver", translate("Resolver (LOC/SEC/NOLOG)"), + translate("Name of the remote DNS service for resolving queries incl. Location, DNSSEC- and NOLOG-Flag.")) +i3.datatype = "hostname" +i3.widget = "select" +local i, v +for i, v in ipairs(res_list) do + if v.name then + i3:value(v.name, v.name .. " (" .. v.location .. "/" .. v.dnssec .. "/" .. v.nolog .. ")") + end +end +i3.default = resolver +i3.rmempty = false + +-- Extra options per instance + +e1 = s:option(Value, "resolvers_list", translate("Alternate Resolver List"), + translate("Specify a non-default Resolver List.")) +e1.datatype = "file" +e1.optional = true + +e2 = s:option(Value, "ephemeral_keys", translate("Ephemeral Keys"), + translate("Improve privacy by using an ephemeral public key for each query. ") + .. translate("This option requires extra CPU cycles and is useless with most DNSCrypt server.")) +e2.datatype = "bool" +e2.value = 1 +e2.optional = true + +if plug_cnt > 0 then + e3 = s:option(DynamicList, "blacklist", translate("Blacklist"), + translate("Local blacklists allow you to block abuse sites by domains or ip addresses. ") + .. translate("The value for this property is the blocklist type and path to the file, e.g.'domains:/path/to/dbl.txt' or 'ips:/path/to/ipbl.txt'.")) + e3.optional = true + + e4 = s:option(Value, "block_ipv6", translate("Block IPv6"), + translate("Disable IPv6 to speed up DNSCrypt-Proxy.")) + e4.datatype = "bool" + e4.value = 1 + e4.optional = true + + e5 = s:option(Value, "local_cache", translate("Local Cache"), + translate("Enable Caching to speed up DNSCcrypt-Proxy.")) + e5.datatype = "bool" + e5.value = 1 + e5.optional = true + + e6 = s:option(Value, "query_log_file", translate("DNS Query Logfile"), + translate("Log the received DNS queries to a file, so you can watch in real-time what is happening on the network.")) + e6.optional = true +end + +-- Dnsmasq options + +m1 = Map("dhcp") + +s1 = m1:section(TypedSection, "dnsmasq", translate("Dnsmasq Options")) +s1.anonymous = true + +d1 = s1:option(Flag, "", translate("Transfer Options To Dnsmasq"), + translate("Apply DNSCrypt-Proxy specific settings to the Dnsmasq configuration.
") + .. translate("Please note: This may change the values for 'noresolv', 'resolvfile', 'allservers' and the list 'server' settings.")) +d1.default = d1.enabled +d1.rmempty = false + +return m, m1 diff --git a/luci/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/config_css.htm b/luci/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/config_css.htm new file mode 100644 index 0000000..2233a15 --- /dev/null +++ b/luci/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/config_css.htm @@ -0,0 +1,13 @@ + diff --git a/luci/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/logread.htm b/luci/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/logread.htm new file mode 100644 index 0000000..5c5ac6f --- /dev/null +++ b/luci/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/logread.htm @@ -0,0 +1,15 @@ +<%# +Copyright 2017 Dirk Brenken (dev@brenken.org) +This is free software, licensed under the Apache License, Version 2.0 +-%> + +<%+header%> + +
+
+
<%:This form shows the syslog output, pre-filtered for DNSCrypt-Proxy related messages only.%>
+ +
+
+ +<%+footer%> diff --git a/luci/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/res_options.htm b/luci/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/res_options.htm new file mode 100644 index 0000000..04dc37b --- /dev/null +++ b/luci/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/res_options.htm @@ -0,0 +1,10 @@ +<%# +Copyright 2017 Dirk Brenken (dev@brenken.org) +This is free software, licensed under the Apache License, Version 2.0 +-%> + +<%+cbi/valueheader%> + + + +<%+cbi/valuefooter%> diff --git a/luci/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/view_reslist.htm b/luci/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/view_reslist.htm new file mode 100644 index 0000000..76a2300 --- /dev/null +++ b/luci/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/view_reslist.htm @@ -0,0 +1,15 @@ +<%# +Copyright 2017 Dirk Brenken (dev@brenken.org) +This is free software, licensed under the Apache License, Version 2.0 +-%> + +<%+header%> + +
+
+
<%:This form shows the content of the current DNSCrypt Resolver List.%>
+ +
+
+ +<%+footer%> diff --git a/luci/luci-app-dnscrypt-proxy/po/es/dnscrypt-proxy.po b/luci/luci-app-dnscrypt-proxy/po/es/dnscrypt-proxy.po new file mode 100644 index 0000000..0864c2f --- /dev/null +++ b/luci/luci-app-dnscrypt-proxy/po/es/dnscrypt-proxy.po @@ -0,0 +1,358 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2.1\n" +"Last-Translator: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:139 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:161 +msgid "-------" +msgstr "-------" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:17 +msgid "Advanced" +msgstr "Avanzado" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:215 +msgid "Alternate Resolver List" +msgstr "Lista alternativa de resolución" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:258 +msgid "" +"Apply DNSCrypt-Proxy specific settings to the Dnsmasq configuration.
" +msgstr "" +"Aplique la configuración específica de DNSCrypt-Proxy a la configuración de " +"Dnsmasq.
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:228 +msgid "Blacklist" +msgstr "Lista negra" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:233 +msgid "Block IPv6" +msgstr "Bloque IPv6" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:169 +msgid "" +"By default the DNSCrypt-Proxy startup will be triggered by ifup events of " +"'All' available network interfaces.
" +msgstr "" +"De forma predeterminada, el inicio de DNSCrypt-Proxy se activará mediante " +"eventos de actualización de 'Todas' las interfaces de red disponibles.
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:59 +msgid "Configuration of the DNSCrypt-Proxy package." +msgstr "Configuración del paquete DNSCrypt-Proxy." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:146 +msgid "" +"Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS " +"upstream timeouts with multiple DNSCrypt instances.
" +msgstr "" +"Cree '/etc/resolv-crypt.conf' con 'options timeout:1' para reducir los " +"tiempos de espera ascendentes de DNS con múltiples instancias de DNSCrypt." +"
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:150 +msgid "Create Config File" +msgstr "Crear archivo de configuración" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:145 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:158 +msgid "Create Custom Config File" +msgstr "Crear archivo de configuración personalizado" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:245 +msgid "DNS Query Logfile" +msgstr "Archivo de registro de consultas DNS" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:14 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:58 +msgid "DNSCrypt-Proxy" +msgstr "DNSCrypt-Proxy" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:35 +msgid "DNSCrypt-Proxy Logfile" +msgstr "Archivo de registro de DNSCrypt-Proxy" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:26 +msgid "DNSCrypt-Proxy Resolver List" +msgstr "Lista de resolución de DNSCrypt-Proxy " + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:102 +msgid "Default Resolver List" +msgstr "Lista de resolución predeterminada" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:234 +msgid "Disable IPv6 to speed up DNSCrypt-Proxy." +msgstr "Deshabilite IPv6 para acelerar DNSCrypt-Proxy." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:254 +msgid "Dnsmasq Options" +msgstr "Opciones de Dnsmasq" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:124 +msgid "" +"Download the current resolver list from 'github.com/dyne/dnscrypt-proxy'." +msgstr "" +"Descargue la lista de resolución actual de 'github.com/dyne/dnscrypt-proxy'." + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:18 +msgid "Edit DNSCrypt-Proxy Configuration" +msgstr "Editar configuración de DNSCrypt-Proxy" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:19 +msgid "Edit Dnsmasq Configuration" +msgstr "Editar configuración de Dnsmasq" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:20 +msgid "Edit Resolvcrypt Configuration" +msgstr "Editar configuración de Resolvcrypt" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:240 +msgid "Enable Caching to speed up DNSCcrypt-Proxy." +msgstr "Habilitar el almacenamiento en caché para acelerar DNSCrypt-Proxy." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:220 +msgid "Ephemeral Keys" +msgstr "Claves efímeras" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:114 +msgid "File Checksum" +msgstr "Archivo Checksum" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:106 +msgid "File Date" +msgstr "Fecha de archivo" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:60 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:147 +msgid "" +"For further information see the wiki " +"online" +msgstr "" +"Para obtener más información vea la wiki en " +"línea" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:97 +msgid "General Options" +msgstr "Opciones generales" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:189 +msgid "IP Address" +msgstr "Dirección IP" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:221 +msgid "Improve privacy by using an ephemeral public key for each query." +msgstr "" +"Mejore la privacidad mediante el uso de una clave pública efímera para cada " +"consulta." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua:9 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua:9 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua:9 +msgid "Input file not found, please check your configuration." +msgstr "Archivo de entrada no encontrado, por favor revise su configuración." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:185 +msgid "Instance Options" +msgstr "Opciones de instancia" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:239 +msgid "Local Cache" +msgstr "Caché local" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:229 +msgid "" +"Local blacklists allow you to block abuse sites by domains or ip addresses." +msgstr "" +"Las listas negras locales le permiten bloquear sitios de abuso por dominios " +"o direcciones IP." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:246 +msgid "" +"Log the received DNS queries to a file, so you can watch in real-time what " +"is happening on the network." +msgstr "" +"Registre las consultas de DNS recibidas en un archivo, para que pueda ver en " +"tiempo real lo que está sucediendo en la red." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:201 +msgid "" +"Name of the remote DNS service for resolving queries incl. Location, DNSSEC- " +"and NOLOG-Flag." +msgstr "" +"Nombre del servicio de DNS remoto para resolver consultas incl. Ubicación, " +"DNSSEC- y NOLOG-Flag." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:137 +msgid "No SSL support available.
" +msgstr "No hay soporte SSL disponible.
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:21 +msgid "No default resolver list and no SSL support available.
" +msgstr "" +"No hay una lista de resolución predeterminada y no hay soporte SSL " +"disponible.
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:15 +msgid "Overview" +msgstr "Vista general" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:160 +msgid "Please edit the file manually in the 'Advanced' section." +msgstr "Edite el archivo manualmente en la sección 'Avanzado'." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:138 +msgid "" +"Please install a 'libustream-ssl' library to download the current resolver " +"list from 'github.com/dyne/dnscrypt-proxy'." +msgstr "" +"Instale una biblioteca 'libustream-ssl' para descargar la lista de " +"resolución actual desde 'github.com/dyne/dnscrypt-proxy'." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:22 +msgid "" +"Please install a resolver list to '/usr/share/dnscrypt-proxy/dnscrypt-" +"resolvers.csv' to use this package." +msgstr "" +"Instale una lista de resolución en '/usr/share/dnscrypt-proxy/dnscrypt-" +"resolvers.csv' para usar este paquete." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:259 +msgid "" +"Please note: This may change the values for 'noresolv', 'resolvfile', " +"'allservers' and the list 'server' settings." +msgstr "" +"Tenga en cuenta: Esto puede cambiar los valores de 'noresolv', 'resolvfile', " +"'allservers' y la configuración de la lista 'servidor'." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:194 +msgid "Port" +msgstr "Puerto" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:125 +msgid "Refresh List" +msgstr "Actualizar lista" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:123 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:136 +msgid "Refresh Resolver List" +msgstr "Actualizar lista de resolución" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:200 +msgid "Resolver (LOC/SEC/NOLOG)" +msgstr "Resolver (LOC/SEC/NOLOG)" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua:17 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua:17 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua:17 +msgid "Save" +msgstr "Guardar" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:216 +msgid "Specify a non-default Resolver List." +msgstr "Especifique una lista de resolución no predeterminada." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:168 +msgid "Startup Trigger" +msgstr "Disparador de inicio" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:159 +msgid "The config file '/etc/resolv-crypt.conf' already exist.
" +msgstr "El archivo de configuración '/etc/resolv-crypt.conf' ya existe.
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:195 +msgid "The listening port for DNS queries." +msgstr "El puerto de escucha para consultas DNS." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:190 +msgid "" +"The local IPv4 or IPv6 address. The latter one should be specified within " +"brackets, e.g. '[::1]'." +msgstr "" +"La dirección IPv4 o IPv6 local. Este último debe especificarse entre " +"corchetes, por ejemplo. '[::1]'." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:230 +msgid "" +"The value for this property is the blocklist type and path to the file, e." +"g.'domains:/path/to/dbl.txt' or 'ips:/path/to/ipbl.txt'." +msgstr "" +"El valor de esta propiedad es el tipo de lista de bloqueo y la ruta al " +"archivo, por ejemplo, 'domains:/path/to/dbl.txt' o 'ips: /path/to/ipbl.txt'." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua:21 +msgid "" +"This form allows you to modify the content of the main DNSCrypt-Proxy " +"configuration file (/etc/config/dnscrypt-proxy)." +msgstr "" +"Este formulario le permite modificar el contenido del archivo de " +"configuración principal de DNSCrypt-Proxy (/etc/config/dnscrypt-proxy)." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua:21 +msgid "" +"This form allows you to modify the content of the main Dnsmasq configuration " +"file (/etc/config/dhcp)." +msgstr "" +"Este formulario le permite modificar el contenido del archivo de " +"configuración principal de Dnsmasq (/etc/config/dhcp)." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua:21 +msgid "" +"This form allows you to modify the content of the resolv-crypt configuration " +"file (/etc/resolv-crypt.conf)." +msgstr "" +"Este formulario le permite modificar el contenido del archivo de " +"configuración de resolv-crypt (/etc/resolv-crypt.conf)." + +#: applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/view_reslist.htm:10 +msgid "This form shows the content of the current DNSCrypt Resolver List." +msgstr "" +"Este formulario muestra el contenido de la actual Lista de resolución de " +"DNSCrypt." + +#: applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/logread.htm:10 +msgid "" +"This form shows the syslog output, pre-filtered for DNSCrypt-Proxy related " +"messages only." +msgstr "" +"Esta forma muestra la salida de syslog, filtrada previamente solo para los " +"mensajes relacionados con DNSCrypt-Proxy." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:222 +msgid "" +"This option requires extra CPU cycles and is useless with most DNSCrypt " +"server." +msgstr "" +"Esta opción requiere ciclos de CPU adicionales y es inútil con la mayoría de " +"los servidores DNSCrypt." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:170 +msgid "" +"To restrict the trigger, select only the relevant network interface. Usually " +"the 'wan' interface should work for most users." +msgstr "" +"Para restringir el activador, seleccione solo la interfaz de red relevante. " +"Por lo general, la interfaz 'wan' debería funcionar para la mayoría de los " +"usuarios." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:257 +msgid "Transfer Options To Dnsmasq" +msgstr "Opciones de transferencia a Dnsmasq" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:16 +msgid "View Logfile" +msgstr "Ver archivo de registro" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:21 +msgid "View Resolver List" +msgstr "Ver lista de resolución" diff --git a/luci/luci-app-dnscrypt-proxy/po/ja/dnscrypt-proxy.po b/luci/luci-app-dnscrypt-proxy/po/ja/dnscrypt-proxy.po new file mode 100644 index 0000000..a2008ec --- /dev/null +++ b/luci/luci-app-dnscrypt-proxy/po/ja/dnscrypt-proxy.po @@ -0,0 +1,354 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.7\n" +"Last-Translator: INAGAKI Hiroshi \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Language: ja\n" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:139 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:161 +msgid "-------" +msgstr "(利用不可)" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:17 +msgid "Advanced" +msgstr "詳細" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:215 +msgid "Alternate Resolver List" +msgstr "代替 リゾルバ リスト" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:258 +msgid "" +"Apply DNSCrypt-Proxy specific settings to the Dnsmasq configuration.
" +msgstr "Dnsmasq の構成に、DNSCrypt-Proxy を指定する設定を適用します。
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:228 +msgid "Blacklist" +msgstr "ブラックリスト" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:233 +msgid "Block IPv6" +msgstr "IPv6 のブロック" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:169 +msgid "" +"By default the DNSCrypt-Proxy startup will be triggered by ifup events of " +"'All' available network interfaces.
" +msgstr "" +"デフォルトでは、 DNSCrypt-Proxy は利用可能な全ネットワーク インターフェース" +"の ifup イベントによりトリガされ起動します。
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:59 +msgid "Configuration of the DNSCrypt-Proxy package." +msgstr "DNSCrypt-Proxy パッケージの設定です。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:146 +msgid "" +"Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS " +"upstream timeouts with multiple DNSCrypt instances.
" +msgstr "" +"複数の DNSCrypt インスタンスで DNS アップストリーム タイムアウトの設定値を共" +"用するため、 'options timeout:1' を含めた '/etc/resolv-crypt.conf' を作成しま" +"す。
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:150 +msgid "Create Config File" +msgstr "設定ファイルの作成" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:145 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:158 +msgid "Create Custom Config File" +msgstr "カスタム設定ファイルの作成" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:245 +msgid "DNS Query Logfile" +msgstr "DNS クエリ ログファイル" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:14 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:58 +msgid "DNSCrypt-Proxy" +msgstr "DNSCrypt-Proxy" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:35 +msgid "DNSCrypt-Proxy Logfile" +msgstr "DNSCrypt-Proxy ログファイル" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:26 +msgid "DNSCrypt-Proxy Resolver List" +msgstr "DNSCrypt-Proxy リゾルバ リスト" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:102 +msgid "Default Resolver List" +msgstr "デフォルト リゾルバ リスト" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:234 +msgid "Disable IPv6 to speed up DNSCrypt-Proxy." +msgstr "DNSCrypt-Proxy の高速化のため、IPv6 を無効化します。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:254 +msgid "Dnsmasq Options" +msgstr "Dnsmasq オプション" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:124 +msgid "" +"Download the current resolver list from 'github.com/dyne/dnscrypt-proxy'." +msgstr "" +"現在のリゾルバ リストを 'github.com/dyne/dnscrypt-proxy' からダウンロードしま" +"す。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:18 +msgid "Edit DNSCrypt-Proxy Configuration" +msgstr "DNSCrypt-Proxy 設定の編集" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:19 +msgid "Edit Dnsmasq Configuration" +msgstr "Dnsmasq 設定の編集" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:20 +msgid "Edit Resolvcrypt Configuration" +msgstr "Resolvcrypt 設定の編集" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:240 +msgid "Enable Caching to speed up DNSCcrypt-Proxy." +msgstr "DNSCrypt-Proxy の高速化のため、キャッシュ機能を有効化します。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:220 +msgid "Ephemeral Keys" +msgstr "一時的なキー" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:114 +msgid "File Checksum" +msgstr "ファイル チェックサム" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:106 +msgid "File Date" +msgstr "ファイル日付" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:60 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:147 +msgid "" +"For further information see the wiki " +"online" +msgstr "" +"詳細な情報は オンライン Wiki を確認して" +"ください。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:97 +msgid "General Options" +msgstr "全般オプション" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:189 +msgid "IP Address" +msgstr "IP アドレス" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:221 +msgid "Improve privacy by using an ephemeral public key for each query." +msgstr "" +"クエリ毎に一時的な公開鍵を使用することにより、プライバシーを向上します。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua:9 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua:9 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua:9 +msgid "Input file not found, please check your configuration." +msgstr "入力ファイルが見つかりません。設定を確認してください。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:185 +msgid "Instance Options" +msgstr "インスタンス オプション" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:239 +msgid "Local Cache" +msgstr "ローカル キャッシュ" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:229 +msgid "" +"Local blacklists allow you to block abuse sites by domains or ip addresses." +msgstr "" +"ローカル ブラックリストは、不正なサイトをドメイン名または IP アドレスによって" +"ブロックすることが可能です。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:246 +msgid "" +"Log the received DNS queries to a file, so you can watch in real-time what " +"is happening on the network." +msgstr "" +"受信した DNS クエリをファイルに記録します。これにより、ネットワークで何が起き" +"ているかをリアルタイムに把握することが可能です。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:201 +msgid "" +"Name of the remote DNS service for resolving queries incl. Location, DNSSEC- " +"and NOLOG-Flag." +msgstr "" +"クエリの名前解決を行う、ロケーション, DNSSECの有無, NOLOG フラグを含めたリ" +"モート DNS サービスの名前です。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:137 +msgid "No SSL support available.
" +msgstr "利用可能な SSL サポートがありません。
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:21 +msgid "No default resolver list and no SSL support available.
" +msgstr "" +"デフォルトのリゾルバ リストと、利用可能な SSL サポートがありません。
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:15 +msgid "Overview" +msgstr "概要" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:160 +msgid "Please edit the file manually in the 'Advanced' section." +msgstr "'詳細' タブで手動でファイルを編集してください。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:138 +msgid "" +"Please install a 'libustream-ssl' library to download the current resolver " +"list from 'github.com/dyne/dnscrypt-proxy'." +msgstr "" +"現在のリゾルバ リストを 'github.com/dyne/dnscrypt-proxy' からダウンロードする" +"ために、 'libustream-ssl' ライブラリをインストールしてください。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:22 +msgid "" +"Please install a resolver list to '/usr/share/dnscrypt-proxy/dnscrypt-" +"resolvers.csv' to use this package." +msgstr "" +"このパッケージを利用するには、リゾルバ リストを '/usr/share/dnscrypt-proxy/" +"dnscrypt-resolvers.csv' にインストールしてください。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:259 +msgid "" +"Please note: This may change the values for 'noresolv', 'resolvfile', " +"'allservers' and the list 'server' settings." +msgstr "" +"注: これは、 'noresolv' および 'resolvfile', 'allservers', 'list server' の設" +"定値を変更する場合があります。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:194 +msgid "Port" +msgstr "ポート" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:125 +msgid "Refresh List" +msgstr "リストのリフレッシュ" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:123 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:136 +msgid "Refresh Resolver List" +msgstr "リゾルバ リストのリフレッシュ" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:200 +msgid "Resolver (LOC/SEC/NOLOG)" +msgstr "リゾルバ(LOC/SEC/NOLOG)" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua:17 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua:17 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua:17 +msgid "Save" +msgstr "保存" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:216 +msgid "Specify a non-default Resolver List." +msgstr "デフォルトとは異なるリゾルバ リストを設定します。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:168 +msgid "Startup Trigger" +msgstr "スタートアップ トリガ" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:159 +msgid "The config file '/etc/resolv-crypt.conf' already exist.
" +msgstr "設定ファイル '/etc/resolv-crypt.conf' は既に存在しています。
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:195 +msgid "The listening port for DNS queries." +msgstr "DNS クエリを待ち受けるポートです。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:190 +msgid "" +"The local IPv4 or IPv6 address. The latter one should be specified within " +"brackets, e.g. '[::1]'." +msgstr "" +"ローカルの IPv4 または IPv6 アドレスです。 IPv6 アドレスの場合、ブラケット " +"\"[ ]\" を含めて記述される必要があります(例: '[::1]')。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:230 +msgid "" +"The value for this property is the blocklist type and path to the file, e." +"g.'domains:/path/to/dbl.txt' or 'ips:/path/to/ipbl.txt'." +msgstr "" +"このプロパティの値は、ブロックリストのタイプ及びファイルへのパスの組み合わせ" +"です。(例: 'domains:/path/to/domainlist.txt' または 'ips:/path/to/iplist." +"txt')" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua:21 +msgid "" +"This form allows you to modify the content of the main DNSCrypt-Proxy " +"configuration file (/etc/config/dnscrypt-proxy)." +msgstr "" +"このフォームでは、メインの DNSCrypt-Proxy 設定ファイル (/etc/config/dnscrypt-" +"proxy) の内容を変更することができます。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua:21 +msgid "" +"This form allows you to modify the content of the main Dnsmasq configuration " +"file (/etc/config/dhcp)." +msgstr "" +"このフォームでは、メインの Dnsmasq 設定ファイル (/etc/config/dhcp) の内容を変" +"更することができます。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua:21 +msgid "" +"This form allows you to modify the content of the resolv-crypt configuration " +"file (/etc/resolv-crypt.conf)." +msgstr "" +"このフォームでは、 resolv-crypt 設定ファイル(/etc/resolv-crypt.conf)の内容" +"を変更することができます。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/view_reslist.htm:10 +msgid "This form shows the content of the current DNSCrypt Resolver List." +msgstr "" +"このフォームには、現在の DNSCrypt リゾルバ リストの内容が表示されます。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/logread.htm:10 +msgid "" +"This form shows the syslog output, pre-filtered for DNSCrypt-Proxy related " +"messages only." +msgstr "" +"このフォームには、システムログ内の DNSCrypt-Proxy に関連するメッセージのみが" +"表示されます。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:222 +msgid "" +"This option requires extra CPU cycles and is useless with most DNSCrypt " +"server." +msgstr "" +"このオプションは、通常よりも CPU リソースを多く使用するほか、ほとんどの " +"DNSCrypt サーバーでは不要なものです。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:170 +msgid "" +"To restrict the trigger, select only the relevant network interface. Usually " +"the 'wan' interface should work for most users." +msgstr "" +"トリガを限定するには、適切なインターフェースを選択してください。通常、 'wan' " +"インターフェースがほとんどのユーザーに適しています。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:257 +msgid "Transfer Options To Dnsmasq" +msgstr "Dnsmasq の転送オプション" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:16 +msgid "View Logfile" +msgstr "ログファイルの確認" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:21 +msgid "View Resolver List" +msgstr "リゾルバ リストの確認" diff --git a/luci/luci-app-dnscrypt-proxy/po/ru/dnscrypt-proxy.po b/luci/luci-app-dnscrypt-proxy/po/ru/dnscrypt-proxy.po new file mode 100644 index 0000000..11c477c --- /dev/null +++ b/luci/luci-app-dnscrypt-proxy/po/ru/dnscrypt-proxy.po @@ -0,0 +1,355 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: LuCI: dnscrypt-proxy\n" +"POT-Creation-Date: 2017-10-17 14:30+0300\n" +"PO-Revision-Date: 2018-01-24 14:58+0300\n" +"Language-Team: http://cyber-place.ru\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.7.1\n" +"Last-Translator: Vladimir aka sunny \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: ru\n" +"Project-Info: Это технический перевод, не дословный. Главное-удобный русский " +"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:139 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:161 +msgid "-------" +msgstr "-------" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:17 +msgid "Advanced" +msgstr "Дополнительно" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:215 +msgid "Alternate Resolver List" +msgstr "Альтернативный список разрешенных серверов" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:258 +msgid "" +"Apply DNSCrypt-Proxy specific settings to the Dnsmasq configuration.
" +msgstr "" +"Применить специальные настройки DNSCrypt-Proxy для Dnsmasq config файла.
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:228 +msgid "Blacklist" +msgstr "Чёрный список" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:233 +msgid "Block IPv6" +msgstr "Блокировать IPv6" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:169 +msgid "" +"By default the DNSCrypt-Proxy startup will be triggered by ifup events of " +"'All' available network interfaces.
" +msgstr "" +"По дефолту DNSCrypt-Proxy стартует на всех доступных интерфейсах 'All'.
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:59 +msgid "Configuration of the DNSCrypt-Proxy package." +msgstr "Настройка DNSCrypt-Proxy. " + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:146 +msgid "" +"Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS " +"upstream timeouts with multiple DNSCrypt instances.
" +msgstr "" +"Создать config файл /etc/resolv-crypt.none со строкой 'options timeout:1' " +"для уменьшения времени ожидания ответов DNS серверов внешней сети с " +"многократной обработкой запросов DNSCrypt-ом.
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:150 +msgid "Create Config File" +msgstr "Создать сonfig файл" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:145 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:158 +msgid "Create Custom Config File" +msgstr "Создать config" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:245 +msgid "DNS Query Logfile" +msgstr "Файл системного журнала запроса DNS" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:14 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:58 +msgid "DNSCrypt-Proxy" +msgstr "DNSCrypt-Proxy" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:35 +msgid "DNSCrypt-Proxy Logfile" +msgstr "Файл системного журнала DNSCrypt-Proxy" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:26 +msgid "DNSCrypt-Proxy Resolver List" +msgstr "DNSCrypt-Proxy список разрешенных серверов" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:102 +msgid "Default Resolver List" +msgstr "Дефолтный список разрешенных серверов" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:234 +msgid "Disable IPv6 to speed up DNSCrypt-Proxy." +msgstr "Отключить IPv6 для DNSCrypt-Proxy." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:254 +msgid "Dnsmasq Options" +msgstr "Настройка Dnsmasq" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:124 +msgid "" +"Download the current resolver list from 'github.com/dyne/dnscrypt-proxy'." +msgstr "" +"Загрузить текущий список клиентов из 'github.com/dyne/dnscrypt-proxy'." + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:18 +msgid "Edit DNSCrypt-Proxy Configuration" +msgstr "Настройка config файла DNSCrypt-Proxy" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:19 +msgid "Edit Dnsmasq Configuration" +msgstr "Настройка config файла Dnsmasq" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:20 +msgid "Edit Resolvcrypt Configuration" +msgstr "Настройка config файла Resolvcrypt" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:240 +msgid "Enable Caching to speed up DNSCcrypt-Proxy." +msgstr "Включить кэширование для ускорения DNSCcrypt-Proxy." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:220 +msgid "Ephemeral Keys" +msgstr "Эфемерные ключи" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:114 +msgid "File Checksum" +msgstr "Контрольная сумма файла" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:106 +msgid "File Date" +msgstr "Дата и время
создания файла" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:60 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:147 +msgid "" +"For further information see the wiki " +"online" +msgstr "" +"Для более подробной информации обратитесь к " +"wiki онлайн." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:97 +msgid "General Options" +msgstr "Основные настройки" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:189 +msgid "IP Address" +msgstr "IP-Адрес" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:221 +msgid "Improve privacy by using an ephemeral public key for each query." +msgstr "" +"Улучшить безопасность, используя эфемерный Публичный ключ для каждого " +"запроса." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua:9 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua:9 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua:9 +msgid "Input file not found, please check your configuration." +msgstr "Config файл не найден, настройте config файл." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:185 +msgid "Instance Options" +msgstr "Дополнительные настройки" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:239 +msgid "Local Cache" +msgstr "Локальный кэш" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:229 +msgid "" +"Local blacklists allow you to block abuse sites by domains or ip addresses." +msgstr "" +"Локальные Черные списки, позволяют блокировать сайты по их доменам или IP-" +"адресам." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:246 +msgid "" +"Log the received DNS queries to a file, so you can watch in real-time what " +"is happening on the network." +msgstr "" +"Записывайте в журнал полученные запросы DNS. Таким образом, Вы сможете " +"наблюдать в режиме реального времени, что происходит в сети." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:201 +msgid "" +"Name of the remote DNS service for resolving queries incl. Location, DNSSEC- " +"and NOLOG-Flag." +msgstr "" +"Имя удаленного сервера DNS для разрешения запросов к нему.
Расположение, DNSSEC- и NOLOG-Flag (LOC/SEC/NOLOG)." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:137 +msgid "No SSL support available.
" +msgstr "Отсутствует поддержка SSL.
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:21 +msgid "No default resolver list and no SSL support available.
" +msgstr "Отсутствует список разрешенных серверов и не поддерживается SSL.
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:15 +msgid "Overview" +msgstr "Главное меню" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:160 +msgid "Please edit the file manually in the 'Advanced' section." +msgstr "Отредактируйте файл вручную в разделе 'Дополнительно'." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:138 +msgid "" +"Please install a 'libustream-ssl' library to download the current resolver " +"list from 'github.com/dyne/dnscrypt-proxy'." +msgstr "" +"Установите библиотеку 'libustream-ssl', чтобы скачать текущий список " +"клиентов с адреса 'github.com/dyne/dnscrypt-proxy'." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:22 +msgid "" +"Please install a resolver list to '/usr/share/dnscrypt-proxy/dnscrypt-" +"resolvers.csv' to use this package." +msgstr "" +"Установите список разрешенных серверов в /usr/share/dnscrypt-proxy/dnscrypt-" +"resolvers.csv для использования данного сервиса." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:259 +msgid "" +"Please note: This may change the values for 'noresolv', 'resolvfile', " +"'allservers' and the list 'server' settings." +msgstr "" +"Примечание: Этот режим, может изменить значения для 'noresolv', " +"'resolvfile', 'allservers' и параметры настройки списка 'серверов'." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:194 +msgid "Port" +msgstr "Порт" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:125 +msgid "Refresh List" +msgstr "Обновить список" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:123 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:136 +msgid "Refresh Resolver List" +msgstr "Обновить список разрешенных серверов" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:200 +msgid "Resolver (LOC/SEC/NOLOG)" +msgstr "Разрешено
(LOC/SEC/NOLOG)" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua:17 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua:17 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua:17 +msgid "Save" +msgstr "Сохранить" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:216 +msgid "Specify a non-default Resolver List." +msgstr "Специальный не дефолтный список разрешенных серверов." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:168 +msgid "Startup Trigger" +msgstr "Назначить" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:159 +msgid "The config file '/etc/resolv-crypt.conf' already exist.
" +msgstr "Config файл /etc/resolv-crypt.conf уже существует.
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:195 +msgid "The listening port for DNS queries." +msgstr "Прослушивание порта для DNS запросов." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:190 +msgid "" +"The local IPv4 or IPv6 address. The latter one should be specified within " +"brackets, e.g. '[::1]'." +msgstr "" +"Локальные IPv4 или IPv6 адреса. Заключить в скобки, как образец '[::1]'." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:230 +msgid "" +"The value for this property is the blocklist type and path to the file, e." +"g.'domains:/path/to/dbl.txt' or 'ips:/path/to/ipbl.txt'." +msgstr "" +"Обозначить содержимое Черного списка, используя в его названии содержимое " +"его списка и указав путь к файлу соответствующим образом 'domains:/path/to/" +"dbl.txt' или 'ips:/path/to/ipbl.txt'." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua:21 +msgid "" +"This form allows you to modify the content of the main DNSCrypt-Proxy " +"configuration file (/etc/config/dnscrypt-proxy)." +msgstr "" +"Страница позволяет изменять содержимое config файла DNSCrypt-Proxy (/etc/" +"config/dnscrypt-proxy)." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua:21 +msgid "" +"This form allows you to modify the content of the main Dnsmasq configuration " +"file (/etc/config/dhcp)." +msgstr "" +"Страница позволяет изменять содержимое config файла Dnsmasq (/etc/config/" +"dhcp)." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua:21 +msgid "" +"This form allows you to modify the content of the resolv-crypt configuration " +"file (/etc/resolv-crypt.conf)." +msgstr "" +"Страница позволяет изменять содержимое config файла resolv-crypt (/etc/" +"resolv-crypt.conf)." + +#: applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/view_reslist.htm:10 +msgid "This form shows the content of the current DNSCrypt Resolver List." +msgstr "" +"Страница демонстрирует содержимое DNSCrypt списка разрешенных серверов." + +#: applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/logread.htm:10 +msgid "" +"This form shows the syslog output, pre-filtered for DNSCrypt-Proxy related " +"messages only." +msgstr "" +"Страница показывает вывод системного журнала, предварительно фильтруемый " +"только для DNSCrypt-Proxy." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:222 +msgid "" +"This option requires extra CPU cycles and is useless with most DNSCrypt " +"server." +msgstr "" +"Этот режим нагружает CPU и большинством DNSCrypt серверов не поддерживается." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:170 +msgid "" +"To restrict the trigger, select only the relevant network interface. Usually " +"the 'wan' interface should work for most users." +msgstr "" +"Выберите только соответствующий сетевой интерфейс.
Обычно интерфейса " +"'wan', достаточно для большинства пользователей." + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:257 +msgid "Transfer Options To Dnsmasq" +msgstr "Режим передачи Dnsmasq-у" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:16 +msgid "View Logfile" +msgstr "Показать системный журнал" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:21 +msgid "View Resolver List" +msgstr "Список разрешенных серверов" diff --git a/luci/luci-app-dnscrypt-proxy/po/templates/dnscrypt-proxy.pot b/luci/luci-app-dnscrypt-proxy/po/templates/dnscrypt-proxy.pot new file mode 100644 index 0000000..db88bc7 --- /dev/null +++ b/luci/luci-app-dnscrypt-proxy/po/templates/dnscrypt-proxy.pot @@ -0,0 +1,302 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:139 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:161 +msgid "-------" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:17 +msgid "Advanced" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:215 +msgid "Alternate Resolver List" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:258 +msgid "" +"Apply DNSCrypt-Proxy specific settings to the Dnsmasq configuration.
" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:228 +msgid "Blacklist" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:233 +msgid "Block IPv6" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:169 +msgid "" +"By default the DNSCrypt-Proxy startup will be triggered by ifup events of " +"'All' available network interfaces.
" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:59 +msgid "Configuration of the DNSCrypt-Proxy package." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:146 +msgid "" +"Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS " +"upstream timeouts with multiple DNSCrypt instances.
" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:150 +msgid "Create Config File" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:145 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:158 +msgid "Create Custom Config File" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:245 +msgid "DNS Query Logfile" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:14 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:58 +msgid "DNSCrypt-Proxy" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:35 +msgid "DNSCrypt-Proxy Logfile" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:26 +msgid "DNSCrypt-Proxy Resolver List" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:102 +msgid "Default Resolver List" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:234 +msgid "Disable IPv6 to speed up DNSCrypt-Proxy." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:254 +msgid "Dnsmasq Options" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:124 +msgid "" +"Download the current resolver list from 'github.com/dyne/dnscrypt-proxy'." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:18 +msgid "Edit DNSCrypt-Proxy Configuration" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:19 +msgid "Edit Dnsmasq Configuration" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:20 +msgid "Edit Resolvcrypt Configuration" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:240 +msgid "Enable Caching to speed up DNSCcrypt-Proxy." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:220 +msgid "Ephemeral Keys" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:114 +msgid "File Checksum" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:106 +msgid "File Date" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:60 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:147 +msgid "" +"For further information see the wiki " +"online" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:97 +msgid "General Options" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:189 +msgid "IP Address" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:221 +msgid "Improve privacy by using an ephemeral public key for each query." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua:9 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua:9 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua:9 +msgid "Input file not found, please check your configuration." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:185 +msgid "Instance Options" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:239 +msgid "Local Cache" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:229 +msgid "" +"Local blacklists allow you to block abuse sites by domains or ip addresses." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:246 +msgid "" +"Log the received DNS queries to a file, so you can watch in real-time what " +"is happening on the network." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:201 +msgid "" +"Name of the remote DNS service for resolving queries incl. Location, DNSSEC- " +"and NOLOG-Flag." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:137 +msgid "No SSL support available.
" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:21 +msgid "No default resolver list and no SSL support available.
" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:15 +msgid "Overview" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:160 +msgid "Please edit the file manually in the 'Advanced' section." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:138 +msgid "" +"Please install a 'libustream-ssl' library to download the current resolver " +"list from 'github.com/dyne/dnscrypt-proxy'." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:22 +msgid "" +"Please install a resolver list to '/usr/share/dnscrypt-proxy/dnscrypt-" +"resolvers.csv' to use this package." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:259 +msgid "" +"Please note: This may change the values for 'noresolv', 'resolvfile', " +"'allservers' and the list 'server' settings." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:194 +msgid "Port" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:125 +msgid "Refresh List" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:123 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:136 +msgid "Refresh Resolver List" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:200 +msgid "Resolver (LOC/SEC/NOLOG)" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua:17 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua:17 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua:17 +msgid "Save" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:216 +msgid "Specify a non-default Resolver List." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:168 +msgid "Startup Trigger" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:159 +msgid "The config file '/etc/resolv-crypt.conf' already exist.
" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:195 +msgid "The listening port for DNS queries." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:190 +msgid "" +"The local IPv4 or IPv6 address. The latter one should be specified within " +"brackets, e.g. '[::1]'." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:230 +msgid "" +"The value for this property is the blocklist type and path to the file, e." +"g.'domains:/path/to/dbl.txt' or 'ips:/path/to/ipbl.txt'." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua:21 +msgid "" +"This form allows you to modify the content of the main DNSCrypt-Proxy " +"configuration file (/etc/config/dnscrypt-proxy)." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua:21 +msgid "" +"This form allows you to modify the content of the main Dnsmasq configuration " +"file (/etc/config/dhcp)." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua:21 +msgid "" +"This form allows you to modify the content of the resolv-crypt configuration " +"file (/etc/resolv-crypt.conf)." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/view_reslist.htm:10 +msgid "This form shows the content of the current DNSCrypt Resolver List." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/logread.htm:10 +msgid "" +"This form shows the syslog output, pre-filtered for DNSCrypt-Proxy related " +"messages only." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:222 +msgid "" +"This option requires extra CPU cycles and is useless with most DNSCrypt " +"server." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:170 +msgid "" +"To restrict the trigger, select only the relevant network interface. Usually " +"the 'wan' interface should work for most users." +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:257 +msgid "Transfer Options To Dnsmasq" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:16 +msgid "View Logfile" +msgstr "" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:21 +msgid "View Resolver List" +msgstr "" diff --git a/luci/luci-app-dnscrypt-proxy/po/zh-cn/dnscrypt-proxy.po b/luci/luci-app-dnscrypt-proxy/po/zh-cn/dnscrypt-proxy.po new file mode 100644 index 0000000..e99f7b3 --- /dev/null +++ b/luci/luci-app-dnscrypt-proxy/po/zh-cn/dnscrypt-proxy.po @@ -0,0 +1,328 @@ +# +# Yangfl , 2018. +# +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Last-Translator: Yangfl \n" +"Language-Team: \n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"PO-Revision-Date: 2018-08-07 18:40+0800\n" +"X-Generator: Gtranslator 2.91.7\n" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:139 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:161 +msgid "-------" +msgstr "-------" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:17 +msgid "Advanced" +msgstr "高级" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:215 +msgid "Alternate Resolver List" +msgstr "备用解析服务器列表" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:258 +msgid "" +"Apply DNSCrypt-Proxy specific settings to the Dnsmasq configuration.
" +msgstr "将特定于 DNSCrypt-Proxy 的设置应用到 Dnsmasq 配置。
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:228 +msgid "Blacklist" +msgstr "黑名单" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:233 +msgid "Block IPv6" +msgstr "阻止 IPv6" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:169 +msgid "" +"By default the DNSCrypt-Proxy startup will be triggered by ifup events of " +"'All' available network interfaces.
" +msgstr "" +"默认情况下,DNSCrypt-Proxy 启动将由“All”所有可用网络接口的 ifup 事件触发。" +"
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:59 +msgid "Configuration of the DNSCrypt-Proxy package." +msgstr "配置 DNSCrypt-Proxy 包。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:146 +msgid "" +"Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS " +"upstream timeouts with multiple DNSCrypt instances.
" +msgstr "" +"创建“/etc/resolv-crypt.conf”时使用“options timeout:1”选项,用多个 DNSCrypt 实" +"例来减少 DNS 上游发生超时的情况。
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:150 +msgid "Create Config File" +msgstr "创建配置文件" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:145 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:158 +msgid "Create Custom Config File" +msgstr "创建自定义配置文件" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:245 +msgid "DNS Query Logfile" +msgstr "DNS 查询日志文件" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:14 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:58 +msgid "DNSCrypt-Proxy" +msgstr "DNSCrypt-Proxy" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:35 +msgid "DNSCrypt-Proxy Logfile" +msgstr "DNSCrypt-Proxy 日志文件" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:26 +msgid "DNSCrypt-Proxy Resolver List" +msgstr "DNSCrypt-Proxy 解析服务器列表" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:102 +msgid "Default Resolver List" +msgstr "默认解析服务器列表" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:234 +msgid "Disable IPv6 to speed up DNSCrypt-Proxy." +msgstr "禁用 IPv6 以加速 DNSCrypt-Proxy。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:254 +msgid "Dnsmasq Options" +msgstr "Dnsmasq 选项" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:124 +msgid "" +"Download the current resolver list from 'github.com/dyne/dnscrypt-proxy'." +msgstr "从“github.com/dyne/DNSCrypt-Proxy”下载当前的解析服务器列表。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:18 +msgid "Edit DNSCrypt-Proxy Configuration" +msgstr "编辑 DNSCrypt-Proxy 配置" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:19 +msgid "Edit Dnsmasq Configuration" +msgstr "编辑 Dnsmasq 配置" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:20 +msgid "Edit Resolvcrypt Configuration" +msgstr "编辑 Resolvcrypt 配置" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:240 +msgid "Enable Caching to speed up DNSCcrypt-Proxy." +msgstr "启用缓存以加速 DNSCcrypt-Proxy。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:220 +msgid "Ephemeral Keys" +msgstr "临时密钥" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:114 +msgid "File Checksum" +msgstr "文件校验和" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:106 +msgid "File Date" +msgstr "文件日期" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:60 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:147 +msgid "" +"For further information see the wiki " +"online" +msgstr "详细信息请查看在线 wiki" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:97 +msgid "General Options" +msgstr "常规选项" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:189 +msgid "IP Address" +msgstr "IP 地址" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:221 +msgid "Improve privacy by using an ephemeral public key for each query." +msgstr "每次查询使用不同的临时公钥,以增强隐私。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua:9 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua:9 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua:9 +msgid "Input file not found, please check your configuration." +msgstr "未找到输入文件,请检查您的配置。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:185 +msgid "Instance Options" +msgstr "实例选项" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:239 +msgid "Local Cache" +msgstr "本地缓存" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:229 +msgid "" +"Local blacklists allow you to block abuse sites by domains or ip addresses." +msgstr "本地黑名单,允许您按域名或 IP 地址拦截有害网站。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:246 +msgid "" +"Log the received DNS queries to a file, so you can watch in real-time what " +"is happening on the network." +msgstr "将收到的 DNS 查询记录到文件中,以便您可以实时查看网络上发生的情况。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:201 +msgid "" +"Name of the remote DNS service for resolving queries incl. Location, DNSSEC- " +"and NOLOG-Flag." +msgstr "用于解析 DNS 查询的远程服务器名称,包括位置、DNSSEC- 和 NOLOG-Flag。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:137 +msgid "No SSL support available.
" +msgstr "无 SSL 支持。
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:21 +msgid "No default resolver list and no SSL support available.
" +msgstr "无默认解析服务器列表,也无 SSL 支持。
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:15 +msgid "Overview" +msgstr "概述" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:160 +msgid "Please edit the file manually in the 'Advanced' section." +msgstr "请在“高级”部分中手动编辑文件。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:138 +msgid "" +"Please install a 'libustream-ssl' library to download the current resolver " +"list from 'github.com/dyne/dnscrypt-proxy'." +msgstr "" +"要从“github.com/dyne/DNSCrypt-Proxy”下载当前的解析服务器列表,请安" +"装“libustream-ssl”库。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:22 +msgid "" +"Please install a resolver list to '/usr/share/dnscrypt-proxy/dnscrypt-" +"resolvers.csv' to use this package." +msgstr "" +"要使用此程序,请将解析服务器列表放到“/usr/share/DNSCrypt-Proxy/dnscrypt-" +"resolvers.csv”。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:259 +msgid "" +"Please note: This may change the values for 'noresolv', 'resolvfile', " +"'allservers' and the list 'server' settings." +msgstr "" +"请注意:这可能会更改“noresolv”、“resolvfile”、“allservers”和“server”列表的设" +"置值。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:194 +msgid "Port" +msgstr "端口" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:125 +msgid "Refresh List" +msgstr "刷新列表" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:123 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:136 +msgid "Refresh Resolver List" +msgstr "刷新解析服务器列表" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:200 +msgid "Resolver (LOC/SEC/NOLOG)" +msgstr "解析服务器(LOC/SEC/NOLOG)" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua:17 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua:17 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua:17 +msgid "Save" +msgstr "保存" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:216 +msgid "Specify a non-default Resolver List." +msgstr "指定非默认的解析服务器列表。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:168 +msgid "Startup Trigger" +msgstr "启动触发器" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:159 +msgid "The config file '/etc/resolv-crypt.conf' already exist.
" +msgstr "配置文件“/etc/resolv-crypt.conf”已经存在。
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:195 +msgid "The listening port for DNS queries." +msgstr "DNS 查询的监听端口。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:190 +msgid "" +"The local IPv4 or IPv6 address. The latter one should be specified within " +"brackets, e.g. '[::1]'." +msgstr "本地 IPv4 或 IPv6 地址。后者应用方括号括起,如“[::1]”。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:230 +msgid "" +"The value for this property is the blocklist type and path to the file, e." +"g.'domains:/path/to/dbl.txt' or 'ips:/path/to/ipbl.txt'." +msgstr "" +"此属性的值是拦截列表的类型和文件的路径,例如“domains:/path/to/dbl." +"txt”或“ips:/path/to/ipbl.txt”。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua:21 +msgid "" +"This form allows you to modify the content of the main DNSCrypt-Proxy " +"configuration file (/etc/config/dnscrypt-proxy)." +msgstr "" +"此表单允许您修改主 DNSCrypt-Proxy 配置文件(/etc/config/dnscrypt-proxy)的内" +"容。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua:21 +msgid "" +"This form allows you to modify the content of the main Dnsmasq configuration " +"file (/etc/config/dhcp)." +msgstr "此表单允许您修改主 Dnsmasq 配置文件(/etc/config/dhcp)的内容。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua:21 +msgid "" +"This form allows you to modify the content of the resolv-crypt configuration " +"file (/etc/resolv-crypt.conf)." +msgstr "" +"此表单允许您修改 resolv-crypt 配置文件(/etc/resolv-crypt.conf)的内容。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/view_reslist.htm:10 +msgid "This form shows the content of the current DNSCrypt Resolver List." +msgstr "此表单显示当前 DNSCrypt 的解析服务器列表。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/logread.htm:10 +msgid "" +"This form shows the syslog output, pre-filtered for DNSCrypt-Proxy related " +"messages only." +msgstr "此表单显示 syslog 输出,仅针对 DNSCrypt-Proxy 相关消息进行预过滤。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:222 +msgid "" +"This option requires extra CPU cycles and is useless with most DNSCrypt " +"server." +msgstr "此选项需要额外的 CPU 周期,对大多数 DNSCrypt 服务器都没用。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:170 +msgid "" +"To restrict the trigger, select only the relevant network interface. Usually " +"the 'wan' interface should work for most users." +msgstr "" +"要限制触发器,请只选择相关的网络接口。通常,“wan”接口应该适用于大多数用户。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:257 +msgid "Transfer Options To Dnsmasq" +msgstr "转移选项到 Dnsmasq " + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:16 +msgid "View Logfile" +msgstr "查看日志文件" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:21 +msgid "View Resolver List" +msgstr "查看解析服务器列表" diff --git a/luci/luci-app-dnscrypt-proxy/po/zh-tw/dnscrypt-proxy.po b/luci/luci-app-dnscrypt-proxy/po/zh-tw/dnscrypt-proxy.po new file mode 100644 index 0000000..fa230ce --- /dev/null +++ b/luci/luci-app-dnscrypt-proxy/po/zh-tw/dnscrypt-proxy.po @@ -0,0 +1,328 @@ +# +# Yangfl , 2018. +# +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Last-Translator: Yangfl \n" +"Language-Team: \n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"PO-Revision-Date: 2018-08-07 18:40+0800\n" +"X-Generator: Gtranslator 2.91.7\n" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:139 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:161 +msgid "-------" +msgstr "-------" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:17 +msgid "Advanced" +msgstr "高階" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:215 +msgid "Alternate Resolver List" +msgstr "備用解析伺服器列表" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:258 +msgid "" +"Apply DNSCrypt-Proxy specific settings to the Dnsmasq configuration.
" +msgstr "將特定於 DNSCrypt-Proxy 的設定應用到 Dnsmasq 配置。
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:228 +msgid "Blacklist" +msgstr "黑名單" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:233 +msgid "Block IPv6" +msgstr "阻止 IPv6" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:169 +msgid "" +"By default the DNSCrypt-Proxy startup will be triggered by ifup events of " +"'All' available network interfaces.
" +msgstr "" +"預設情況下,DNSCrypt-Proxy 啟動將由“All”所有可用網路介面的 ifup 事件觸發。" +"
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:59 +msgid "Configuration of the DNSCrypt-Proxy package." +msgstr "配置 DNSCrypt-Proxy 包。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:146 +msgid "" +"Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS " +"upstream timeouts with multiple DNSCrypt instances.
" +msgstr "" +"建立“/etc/resolv-crypt.conf”時使用“options timeout:1”選項,用多個 DNSCrypt 實" +"例來減少 DNS 上游發生超時的情況。
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:150 +msgid "Create Config File" +msgstr "建立配置檔案" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:145 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:158 +msgid "Create Custom Config File" +msgstr "建立自訂配置檔案" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:245 +msgid "DNS Query Logfile" +msgstr "DNS 查詢日誌檔案" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:14 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:58 +msgid "DNSCrypt-Proxy" +msgstr "DNSCrypt-Proxy" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:35 +msgid "DNSCrypt-Proxy Logfile" +msgstr "DNSCrypt-Proxy 日誌檔案" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:26 +msgid "DNSCrypt-Proxy Resolver List" +msgstr "DNSCrypt-Proxy 解析伺服器列表" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:102 +msgid "Default Resolver List" +msgstr "預設解析伺服器列表" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:234 +msgid "Disable IPv6 to speed up DNSCrypt-Proxy." +msgstr "禁用 IPv6 以加速 DNSCrypt-Proxy。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:254 +msgid "Dnsmasq Options" +msgstr "Dnsmasq 選項" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:124 +msgid "" +"Download the current resolver list from 'github.com/dyne/dnscrypt-proxy'." +msgstr "從“github.com/dyne/DNSCrypt-Proxy”下載當前的解析伺服器列表。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:18 +msgid "Edit DNSCrypt-Proxy Configuration" +msgstr "編輯 DNSCrypt-Proxy 配置" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:19 +msgid "Edit Dnsmasq Configuration" +msgstr "編輯 Dnsmasq 配置" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:20 +msgid "Edit Resolvcrypt Configuration" +msgstr "編輯 Resolvcrypt 配置" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:240 +msgid "Enable Caching to speed up DNSCcrypt-Proxy." +msgstr "啟用快取以加速 DNSCcrypt-Proxy。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:220 +msgid "Ephemeral Keys" +msgstr "臨時金鑰" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:114 +msgid "File Checksum" +msgstr "檔案校驗和" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:106 +msgid "File Date" +msgstr "檔案日期" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:60 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:147 +msgid "" +"For further information see the wiki " +"online" +msgstr "詳細資訊請檢視線上 wiki" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:97 +msgid "General Options" +msgstr "常規選項" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:189 +msgid "IP Address" +msgstr "IP 位址" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:221 +msgid "Improve privacy by using an ephemeral public key for each query." +msgstr "每次查詢使用不同的臨時公鑰,以增強隱私。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua:9 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua:9 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua:9 +msgid "Input file not found, please check your configuration." +msgstr "未找到輸入檔案,請檢查您的配置。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:185 +msgid "Instance Options" +msgstr "例項選項" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:239 +msgid "Local Cache" +msgstr "本地快取" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:229 +msgid "" +"Local blacklists allow you to block abuse sites by domains or ip addresses." +msgstr "本地黑名單,允許您按域名或 IP 位址攔截有害網站。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:246 +msgid "" +"Log the received DNS queries to a file, so you can watch in real-time what " +"is happening on the network." +msgstr "將收到的 DNS 查詢記錄到檔案中,以便您可以實時檢視網路上發生的情況。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:201 +msgid "" +"Name of the remote DNS service for resolving queries incl. Location, DNSSEC- " +"and NOLOG-Flag." +msgstr "用於解析 DNS 查詢的遠端伺服器名稱,包括位置、DNSSEC- 和 NOLOG-Flag。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:137 +msgid "No SSL support available.
" +msgstr "無 SSL 支援。
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:21 +msgid "No default resolver list and no SSL support available.
" +msgstr "無預設解析伺服器列表,也無 SSL 支援。
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:15 +msgid "Overview" +msgstr "概述" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:160 +msgid "Please edit the file manually in the 'Advanced' section." +msgstr "請在“高階”部分中手動編輯檔案。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:138 +msgid "" +"Please install a 'libustream-ssl' library to download the current resolver " +"list from 'github.com/dyne/dnscrypt-proxy'." +msgstr "" +"要從“github.com/dyne/DNSCrypt-Proxy”下載當前的解析伺服器列表,請安" +"裝“libustream-ssl”庫。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:22 +msgid "" +"Please install a resolver list to '/usr/share/dnscrypt-proxy/dnscrypt-" +"resolvers.csv' to use this package." +msgstr "" +"要使用此程式,請將解析伺服器列表放到“/usr/share/DNSCrypt-Proxy/dnscrypt-" +"resolvers.csv”。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:259 +msgid "" +"Please note: This may change the values for 'noresolv', 'resolvfile', " +"'allservers' and the list 'server' settings." +msgstr "" +"請注意:這可能會更改“noresolv”、“resolvfile”、“allservers”和“server”列表的設" +"置值。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:194 +msgid "Port" +msgstr "埠" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:125 +msgid "Refresh List" +msgstr "重新整理列表" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:123 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:136 +msgid "Refresh Resolver List" +msgstr "重新整理解析伺服器列表" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:200 +msgid "Resolver (LOC/SEC/NOLOG)" +msgstr "解析伺服器(LOC/SEC/NOLOG)" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua:17 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua:17 +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua:17 +msgid "Save" +msgstr "儲存" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:216 +msgid "Specify a non-default Resolver List." +msgstr "指定非預設的解析伺服器列表。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:168 +msgid "Startup Trigger" +msgstr "啟動觸發器" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:159 +msgid "The config file '/etc/resolv-crypt.conf' already exist.
" +msgstr "配置檔案“/etc/resolv-crypt.conf”已經存在。
" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:195 +msgid "The listening port for DNS queries." +msgstr "DNS 查詢的監聽埠。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:190 +msgid "" +"The local IPv4 or IPv6 address. The latter one should be specified within " +"brackets, e.g. '[::1]'." +msgstr "本地 IPv4 或 IPv6 位址。後者應用方括號括起,如“[::1]”。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:230 +msgid "" +"The value for this property is the blocklist type and path to the file, e." +"g.'domains:/path/to/dbl.txt' or 'ips:/path/to/ipbl.txt'." +msgstr "" +"此屬性的值是攔截列表的型別和檔案的路徑,例如“domains:/path/to/dbl." +"txt”或“ips:/path/to/ipbl.txt”。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/configuration_tab.lua:21 +msgid "" +"This form allows you to modify the content of the main DNSCrypt-Proxy " +"configuration file (/etc/config/dnscrypt-proxy)." +msgstr "" +"此表單允許您修改主 DNSCrypt-Proxy 配置檔案(/etc/config/dnscrypt-proxy)的內" +"容。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_dnsmasq_tab.lua:21 +msgid "" +"This form allows you to modify the content of the main Dnsmasq configuration " +"file (/etc/config/dhcp)." +msgstr "此表單允許您修改主 Dnsmasq 配置檔案(/etc/config/dhcp)的內容。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/cfg_resolvcrypt_tab.lua:21 +msgid "" +"This form allows you to modify the content of the resolv-crypt configuration " +"file (/etc/resolv-crypt.conf)." +msgstr "" +"此表單允許您修改 resolv-crypt 配置檔案(/etc/resolv-crypt.conf)的內容。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/view_reslist.htm:10 +msgid "This form shows the content of the current DNSCrypt Resolver List." +msgstr "此表單顯示當前 DNSCrypt 的解析伺服器列表。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/view/dnscrypt-proxy/logread.htm:10 +msgid "" +"This form shows the syslog output, pre-filtered for DNSCrypt-Proxy related " +"messages only." +msgstr "此表單顯示 syslog 輸出,僅針對 DNSCrypt-Proxy 相關訊息進行預過濾。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:222 +msgid "" +"This option requires extra CPU cycles and is useless with most DNSCrypt " +"server." +msgstr "此選項需要額外的 CPU 週期,對大多數 DNSCrypt 伺服器都沒用。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:170 +msgid "" +"To restrict the trigger, select only the relevant network interface. Usually " +"the 'wan' interface should work for most users." +msgstr "" +"要限制觸發器,請只選擇相關的網路介面。通常,“wan”介面應該適用於大多數使用者。" + +#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:257 +msgid "Transfer Options To Dnsmasq" +msgstr "轉移選項到 Dnsmasq " + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:16 +msgid "View Logfile" +msgstr "檢視日誌檔案" + +#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:21 +msgid "View Resolver List" +msgstr "檢視解析伺服器列表" diff --git a/luci/luci-app-dnscrypt-proxy/root/etc/uci-defaults/60_luci-dnscrypt-proxy b/luci/luci-app-dnscrypt-proxy/root/etc/uci-defaults/60_luci-dnscrypt-proxy new file mode 100755 index 0000000..ec4da17 --- /dev/null +++ b/luci/luci-app-dnscrypt-proxy/root/etc/uci-defaults/60_luci-dnscrypt-proxy @@ -0,0 +1,11 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@dnscrypt-proxy[-1] + add ucitrack dnscrypt-proxy + set ucitrack.@dnscrypt-proxy[-1].init=dnscrypt-proxy + commit ucitrack +EOF + +rm -f /tmp/luci-indexcache +exit 0 diff --git a/net/dnscrypt-proxy/Config.in b/net/dnscrypt-proxy/Config.in new file mode 100755 index 0000000..50d09af --- /dev/null +++ b/net/dnscrypt-proxy/Config.in @@ -0,0 +1,8 @@ +menu "Configuration" + depends on PACKAGE_dnscrypt-proxy + +config DNSCRYPT_ENABLE_PLUGINS + bool "Enable plugin support (includes libldns and plugins, increases size by 125kB)" + default n + +endmenu diff --git a/net/dnscrypt-proxy/Makefile b/net/dnscrypt-proxy/Makefile new file mode 100644 index 0000000..9bbfa8a --- /dev/null +++ b/net/dnscrypt-proxy/Makefile @@ -0,0 +1,129 @@ +# +# Copyright (C) 2018 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=dnscrypt-proxy +PKG_SOURCE_DATE:=2019-08-20 +PKG_SOURCE_VERSION:=07ac3825b5069adc28e2547c16b1d983a8ed8d80 +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/dyne/dnscrypt-proxy +PKG_MIRROR_HASH:=c5c074f52732f14f026002bc48bdffcf0b212092de5798120209b2e6b65fc3e6 + +PKG_MAINTAINER:=Damiano Renfer +PKG_LICENSE:=ISC +PKG_LICENSE_FILES:=COPYING + +PKG_FIXUP:=autoreconf +PKG_INSTALL:=1 +PKG_BUILD_PARALLEL:=1 +PKG_CONFIG_DEPENDS:= \ + CONFIG_DNSCRYPT_ENABLE_PLUGINS + +include $(INCLUDE_DIR)/package.mk + +define Package/dnscrypt-proxy/Default + SECTION:=net + CATEGORY:=Network + SUBMENU:=IP Addresses and Names + URL:=https://github.com/dyne/dnscrypt-proxy +endef + +define Package/dnscrypt-proxy + $(call Package/dnscrypt-proxy/Default) + DEPENDS:=+libsodium +dnscrypt-proxy-resolvers +DNSCRYPT_ENABLE_PLUGINS:libltdl \ + +DNSCRYPT_ENABLE_PLUGINS:libldns + TITLE:=A tool for securing communications between a client and a DNS resolver +endef + +define Package/dnscrypt-proxy/description + dnscrypt-proxy provides local service which can be used directly as your + local resolver or as a DNS forwarder, encrypting and authenticating requests + using the DNSCrypt protocol and passing them to an upstream server. + The DNSCrypt protocol uses high-speed high-security elliptic-curve cryptography + and is very similar to DNSCurve, but focuses on securing communications between + a client and its first-level resolver. +endef + +define Package/dnscrypt-proxy-resolvers + $(call Package/dnscrypt-proxy/Default) + TITLE:=Package with current list of dnscrypt-proxy resolvers +endef + +define Package/dnscrypt-proxy-resolvers/description + Package with current list of dnscrypt-proxy resolvers. +endef + +define Package/hostip + $(call Package/dnscrypt-proxy/Default) + DEPENDS:=+libsodium + TITLE:=Resolver to IPv4 or IPv6 addresses +endef + +define Package/hostip/description + The DNSCrypt proxy ships with a simple tool named hostip that resolves a name + to IPv4 or IPv6 addresses. +endef + +define Package/dnscrypt-proxy/config + source "$(SOURCE)/Config.in" +endef + +define Build/Configure + $(call Build/Configure/Default, \ + --prefix=/usr \ + --disable-ssp \ + $(if $(CONFIG_DNSCRYPT_ENABLE_PLUGINS),,--disable-plugins) \ + ) +endef + +TARGET_CFLAGS += \ + -fomit-frame-pointer \ + -fdata-sections \ + -ffunction-sections + +TARGET_LDFLAGS += \ + -Wl,-gc-sections + +MAKE_FLAGS += \ + CFLAGS="$(TARGET_CFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS)" + +define Package/dnscrypt-proxy/install + $(INSTALL_DIR) $(1)/usr/sbin + $(CP) $(PKG_INSTALL_DIR)/usr/sbin/dnscrypt-proxy $(1)/usr/sbin/ + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/dnscrypt-proxy.init $(1)/etc/init.d/dnscrypt-proxy + $(INSTALL_DIR) $(1)/etc/config + $(INSTALL_CONF) ./files/dnscrypt-proxy.config $(1)/etc/config/dnscrypt-proxy + $(if $(CONFIG_DNSCRYPT_ENABLE_PLUGINS), \ + $(INSTALL_DIR) $(1)/usr/lib/dnscrypt-proxy; \ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/dnscrypt-proxy/libdcplugin_example_cache.so $(1)/usr/lib/dnscrypt-proxy/; \ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/dnscrypt-proxy/libdcplugin_example_ldns_aaaa_blocking.so $(1)/usr/lib/dnscrypt-proxy/; \ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/dnscrypt-proxy/libdcplugin_example_ldns_blocking.so $(1)/usr/lib/dnscrypt-proxy/; \ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/dnscrypt-proxy/libdcplugin_example_logging.so $(1)/usr/lib/dnscrypt-proxy/) +endef + +define Package/dnscrypt-proxy-resolvers/install + $(INSTALL_DIR) $(1)/usr/share/dnscrypt-proxy + $(CP) ./files/dnscrypt-resolvers.csv $(1)/usr/share/dnscrypt-proxy/ +endef + +define Package/dnscrypt-proxy/conffiles +/etc/config/dnscrypt-proxy +endef + +define Package/hostip/install + $(INSTALL_DIR) $(1)/usr/bin + $(CP) $(PKG_INSTALL_DIR)/usr/bin/hostip $(1)/usr/bin/ +endef + +$(eval $(call BuildPackage,dnscrypt-proxy)) +$(eval $(call BuildPackage,dnscrypt-proxy-resolvers)) +$(eval $(call BuildPackage,hostip)) diff --git a/net/dnscrypt-proxy/files/dnscrypt-proxy.config b/net/dnscrypt-proxy/files/dnscrypt-proxy.config new file mode 100644 index 0000000..635422a --- /dev/null +++ b/net/dnscrypt-proxy/files/dnscrypt-proxy.config @@ -0,0 +1,35 @@ +config global + # start dnscrypt-proxy from procd interface trigger rather than immediately in init + # if needed you can restrict trigger to certain interface(s) + # list procd_trigger 'wan' + # list procd_trigger 'wan6' + +config dnscrypt-proxy ns1 + option address '127.0.0.1' + option port '5353' + option resolver 'fvz-anyone' + # more details about the following options can be found in: + # https://github.com/dyne/dnscrypt-proxy/blob/master/dnscrypt-proxy.conf + # option resolvers_list '/usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv' + # ephemeral keys option requires extra CPU cycles and can cause huge system load + # option ephemeral_keys '0' + # option client_key '/path/to/client_key' + # option log_level '6' + # option syslog '1' + # option syslog_prefix 'dnscrypt-proxy' + # option query_log_file '/path/to/logfile' + # enable cache may speed up dnscrypt-proxy + # option local_cache '0' + # disable IPv6 may also speed up dnscrypt-proxy + # option block_ipv6 '0' + # Blacklists allow you to block domains, ip, ... + # list blacklist 'domains:/path/to/domains-blacklist-file.txt' + # list blacklist 'domains:/path/to/domains-blacklist2-file.txt' + +# config dnscrypt-proxy ns2 +# option address '127.0.0.1' +# option port '5454' +# # option resolver 'd0wn-random-ns1' +# # option resolvers_list '/usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv' +# # option ephemeral_keys '0' +# # option client_key '' diff --git a/net/dnscrypt-proxy/files/dnscrypt-proxy.init b/net/dnscrypt-proxy/files/dnscrypt-proxy.init new file mode 100644 index 0000000..7df6b22 --- /dev/null +++ b/net/dnscrypt-proxy/files/dnscrypt-proxy.init @@ -0,0 +1,167 @@ +#!/bin/sh /etc/rc.common + +# Startup before dnsmasq +START=18 +USE_PROCD=1 +PROG=/usr/sbin/dnscrypt-proxy +CONFIG_DIR=/var/etc +USER=nobody + +boot() { + dnscrypt_boot=1 + rc_procd start_service +} + +dnscrypt_instance() { + local config_path="$CONFIG_DIR/dnscrypt-proxy-$1.conf" + create_config_file $1 "$config_path" + + procd_open_instance + procd_set_param command $PROG "$config_path" + procd_close_instance +} + +create_config_file() { + local address port resolver resolvers_list ephemeral_keys client_key log_level syslog syslog_prefix local_cache query_log_file block_ipv6 provider_name provider_key resolver_address + local config_path="$2" + local plugins_support_enabled=$(dnscrypt-proxy --version | grep 'Support for plugins: present' | wc -l) + + [ ! -d "$CONFIG_DIR" ] && mkdir -p "$CONFIG_DIR" + [ -f "$config_path" ] && rm "$config_path" + + config_get address $1 'address' '127.0.0.1' + config_get port $1 'port' '5353' + config_get resolver $1 'resolver' '' + config_get provider_name $1 'providername' '' + config_get provider_key $1 'providerkey' '' + config_get resolver_address $1 'resolveraddress' '' + config_get resolvers_list $1 'resolvers_list' '/usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv' + config_get client_key $1 'client_key' '' + config_get syslog_prefix $1 'syslog_prefix' 'dnscrypt-proxy' + config_get query_log_file $1 'query_log_file' '' + config_get log_level $1 'log_level' '6' + config_get blacklist $1 'blacklist' '' + config_get_bool syslog $1 'syslog' '1' + config_get_bool ephemeral_keys $1 'ephemeral_keys' '0' + config_get_bool local_cache $1 'local_cache' '0' + config_get_bool block_ipv6 $1 'block_ipv6' '0' + + append_param_not_empty "ResolverName" "$resolver" $config_path + append_param "ResolversList" "$resolvers_list" $config_path + append_param_not_empty "ProviderName" "$provider_name" $config_path + append_param_not_empty "ProviderKey" "$provider_key" $config_path + append_param_not_empty "ResolverAddress" "$resolver_address" $config_path + append_param "User" "$USER" $config_path + append_param "LocalAddress" "$address:$port" $config_path + append_param_not_empty "ClientKey" "$client_key" $config_path + append_on_off "EphemeralKeys" $ephemeral_keys $config_path + append_param "LogLevel" "$log_level" $config_path + append_on_off "Syslog" $syslog $config_path + append_param "SyslogPrefix" "$syslog_prefix" $config_path + append_on_off "LocalCache" $local_cache $config_path + append_param_not_empty "QueryLogFile" "$query_log_file" $config_path + + if [ $plugins_support_enabled -ne 0 ] && [ $block_ipv6 -ne 0 ] + then + append_yes_no "BlockIPv6" $block_ipv6 $config_path + elif [ $block_ipv6 -ne 0 ] + then + log_ignored_param "block_ipv6" + fi + + if [ $plugins_support_enabled -ne 0 ] && [ -n "$blacklist" ] + then + config_list_foreach $1 'blacklist' append_blacklists $config_path + elif [ -n "$blacklist" ] + then + log_ignored_param "blacklist" + fi +} + +log_ignored_param() { + local param_name=$1 + logger -t dnscrypt-proxy -p user.warn "dnscrypt-proxy plugins support not present, ignoring '$param_name' parameter." +} + +append_on_off() { + local param_name=$1 + local param_value=$2 + local config_path=$3 + local value + + if [ $param_value -eq 1 ] + then + value="on" + else + value="off" + fi + + echo "$param_name $value" >> $config_path +} + +append_yes_no() { + local param_name=$1 + local param_value=$2 + local config_path=$3 + local value + + if [ $param_value -eq 1 ] + then + value="yes" + else + value="no" + fi + + echo "$param_name $value" >> $config_path +} + +append_param() { + local param_name=$1 + local param_value=$2 + local config_path=$3 + + echo "$param_name $param_value" >> $config_path +} + +append_param_not_empty() { + local param_name=$1 + local param_value=$2 + local config_path=$3 + + if [ ! -z "$param_value" -a "$param_value" != " " ] + then + append_param "$param_name" "$param_value" "$config_path" + fi +} + +append_blacklists() { + local value="$1" + local config_path="$2" + append_param_not_empty "BlackList" "$value" $config_path +} + +start_service() { + if [ -n "${dnscrypt_boot}" ] + then + return 0 + fi + config_load dnscrypt-proxy + config_foreach dnscrypt_instance dnscrypt-proxy +} + +service_triggers() { + local trigger + local triggerlist="$(uci_get dnscrypt-proxy.@global[0].procd_trigger)" + + PROCD_RELOAD_DELAY=2000 + if [ -n "${triggerlist}" ] + then + for trigger in ${triggerlist} + do + procd_add_interface_trigger "interface.*.up" "${trigger}" /etc/init.d/dnscrypt-proxy reload + done + else + procd_add_raw_trigger "interface.*.up" 2000 /etc/init.d/dnscrypt-proxy reload + fi + procd_add_reload_trigger 'dnscrypt-proxy' +} diff --git a/net/dnscrypt-proxy/files/dnscrypt-resolvers.csv b/net/dnscrypt-proxy/files/dnscrypt-resolvers.csv new file mode 100644 index 0000000..de8feb5 --- /dev/null +++ b/net/dnscrypt-proxy/files/dnscrypt-resolvers.csv @@ -0,0 +1,107 @@ +Name,"Full name","Description","Location","Coordinates",URL,Version,DNSSEC validation,No logs,Namecoin,Resolver address,Provider name,Provider public key,Provider public key TXT record +adguard-dns-family-ns1,"Adguard DNS Family Protection 1","Adguard DNS with safesearch and adult content blocking","Anycast","",https://adguard.com/en/adguard-dns/overview.html,1,no,yes,no,176.103.130.132:5443,2.dnscrypt.family.ns1.adguard.com,B831:5DD7:B14B:6EE3:20A4:70DC:2ED6:B1AA:398C:C9E5:86F8:5D45:45D6:B8C9:B500:5ABA,pk.family.ns1.adguard.com +adguard-dns-family-ns2,"Adguard DNS Family Protection 2","Adguard DNS with safesearch and adult content blocking","Anycast","",https://adguard.com/en/adguard-dns/overview.html,1,no,yes,no,176.103.130.134:5443,2.dnscrypt.family.ns2.adguard.com,8C21:17A9:EBC1:57D6:FB64:056F:0ADB:C11C:5D83:6734:73C4:6E25:8D9B:2F57:D4EE:351F,pk.family.ns2.adguard.com +adguard-dns-ns1,"Adguard DNS 1","Remove ads and protect your computer from malware","Anycast","",https://adguard.com/en/adguard-dns/overview.html,1,no,yes,no,176.103.130.130:5443,2.dnscrypt.default.ns1.adguard.com,D12B:47F2:52DC:F2C2:BBF8:9910:86EA:F79C:E449:5D8B:16C8:A0C4:322E:52CA:3F39:0873,pk.default.ns1.adguard.com +adguard-dns-ns2,"Adguard DNS 2","Remove ads and protect your computer from malware","Anycast","",https://adguard.com/en/adguard-dns/overview.html,1,no,yes,no,176.103.130.131:5443,2.dnscrypt.default.ns2.adguard.com,81D0:02D3:6A4C:A50C:473B:7479:650F:E12E:02B3:21CB:6138:562A:208E:403D:FDC5:5E94,pk.default.ns2.adguard.com +bikinhappy-sg,"BikinHappy Singapore","provided by bikinhappy.com","Singapore","",http://dns.bikinhappy.com,1,yes,yes,no,172.104.46.253:443,2.dnscrypt-cert.dns.bikinhappy.com,7167:91A0:745E:17ED:1E73:D426:C697:E8DF:EE4B:476B:149F:8449:62DD:4615:BD71:5C70, +bn-fr0,"Babylon Network France 0","Non-logging, uncensored DNS resolver provided by Babylon Network","Roubaix, France","",https://babylon.network,1,no,yes,no,5.135.66.222:5353,2.dnscrypt-cert.babylon.network,8794:070A:143D:35CA:1CA6:32E7:B189:3028:4EAE:5DAF:EBB4:01E3:DF52:E9F0:37AB:D182,pk.fr0.dnscrypt.babylon.network +bn-fr0-ipv6,"Babylon Network France 0 (IPv6)","Non-logging, uncensored IPv6 DNS resolver provided by Babylon Network","Roubaix, France","",https://babylon.network,1,no,yes,no,[2001:41d0:8:4480::222]:5353,2.dnscrypt-cert.babylon.network,8794:070A:143D:35CA:1CA6:32E7:B189:3028:4EAE:5DAF:EBB4:01E3:DF52:E9F0:37AB:D182,pk.fr0.dnscrypt.babylon.network +bn-fr1,"Babylon Network France 1","Non-logging, uncensored DNS resolver provided by Babylon Network","Roubaix, France","",https://babylon.network,1,no,yes,no,164.132.130.171:5353,2.dnscrypt-cert.babylon.network,8794:070A:143D:35CA:1CA6:32E7:B189:3028:4EAE:5DAF:EBB4:01E3:DF52:E9F0:37AB:D182,pk.fr1.dnscrypt.babylon.network +bn-fr1-ipv6,"Babylon Network France 1 (IPv6)","Non-logging, uncensored IPv6 DNS resolver provided by Babylon Network","Roubaix, France","",https://babylon.network,1,no,yes,no,[2001:41d0:1:82b5::171]:5353,2.dnscrypt-cert.babylon.network,8794:070A:143D:35CA:1CA6:32E7:B189:3028:4EAE:5DAF:EBB4:01E3:DF52:E9F0:37AB:D182,pk.fr1.dnscrypt.babylon.network +bn-nl0,"Babylon Network Netherlands 0","Non-logging, uncensored DNS resolver provided by Babylon Network","Amsterdam, The Netherlands","",https://babylon.network,1,no,yes,no,87.253.152.190:5353,2.dnscrypt-cert.babylon.network,8794:070A:143D:35CA:1CA6:32E7:B189:3028:4EAE:5DAF:EBB4:01E3:DF52:E9F0:37AB:D182,pk.nl0.dnscrypt.babylon.network +bn-nl0-ipv6,"Babylon Network Netherlands 0 (IPv6)","Non-logging, uncensored IPv6 DNS resolver provided by Babylon Network","Amsterdam, The Netherlands","",https://babylon.network,1,no,yes,no,[2a01:7c8:c020:3::190]:5353,2.dnscrypt-cert.babylon.network,8794:070A:143D:35CA:1CA6:32E7:B189:3028:4EAE:5DAF:EBB4:01E3:DF52:E9F0:37AB:D182,pk.nl0.dnscrypt.babylon.network +cisco,"Cisco OpenDNS","Remove your DNS blind spot","Anycast","",https://www.opendns.com,1,no,no,no,208.67.220.220,2.dnscrypt-cert.opendns.com,B735:1140:206F:225D:3E2B:D822:D7FD:691E:A1C3:3CC8:D666:8D0C:BE04:BFAB:CA43:FB79, +cisco-familyshield,"Cisco OpenDNS with FamilyShield","Block websites not suitable for children","Anycast","",https://www.opendns.com/home-internet-security/parental-controls/,1,no,no,no,208.67.220.123,2.dnscrypt-cert.opendns.com,B735:1140:206F:225D:3E2B:D822:D7FD:691E:A1C3:3CC8:D666:8D0C:BE04:BFAB:CA43:FB79, +cisco-ipv6,"Cisco OpenDNS over IPv6","Cisco OpenDNS IPv6 sandbox","Anycast","",https://www.opendns.com/about/innovations/ipv6/,1,no,no,no,[2620:0:ccc::2]:443,2.dnscrypt-cert.opendns.com,B735:1140:206F:225D:3E2B:D822:D7FD:691E:A1C3:3CC8:D666:8D0C:BE04:BFAB:CA43:FB79, +cpunks-ru,"Cypherpunks.ru","Cypherpunks.ru public DNS server",Russia,,http://www.cypherpunks.ru/DNSCrypt.html,1,no,yes,no,77.51.181.209:5353,2.dnscrypt-cert.cypherpunks.ru,1838:CCA3:D953:0A66:3433:5D50:05BD:3758:44E3:977E:E868:2B6C:5528:12BD:A78D:2E99, +cs-caeast,"CS Canada east DNSCrypt server","provided by cryptostorm.is","Montreal, CA",,"https://cryptostorm.is",1,"no","yes","yes",167.114.84.132:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-cawest,"CS Canada west DNSCrypt server","provided by cryptostorm.is","Vancouver, CA",,"https://cryptostorm.is",1,"no","yes","yes",162.221.207.228:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-cfi,"CS cryptofree France DNSCrypt server","provided by cryptostorm.is","Paris, France",,"https://cryptostorm.is",1,"no","yes","yes",212.83.175.31:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-cfii,"CS secondary cryptofree France DNSCrypt server","provided by cryptostorm.is","Paris, France",,"https://cryptostorm.is",1,"no","yes","yes",23.105.70.204:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-ch,"CS Switzerland DNSCrypt server","provided by cryptostorm.is","Baar, Switzerland",,"https://cryptostorm.is",1,"no","yes","yes",185.60.147.77:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-de,"CS Frankfurt, DE DNSCrypt server","provided by cryptostorm.is","Frankfurt, Germany",,"https://cryptostorm.is",1,"no","yes","yes",84.16.240.43:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-de3,"CS Dusseldorf, DE DNSCrypt server","provided by cryptostorm.is","Dusseldorf, Germany",,"https://cryptostorm.is",1,"no","yes","yes",89.163.214.174:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-dk,"CS Denmark DNSCrypt server","provided by cryptostorm.is","Copenhagen, Denmark",,"https://cryptostorm.is",1,"no","yes","yes",82.103.131.172:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-dk2,"CS secondary Denmark DNSCrypt server","provided by cryptostorm.is","Copenhagen, Denmark",,"https://cryptostorm.is",1,"no","yes","yes",185.212.169.139:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-es,"CS Spain DNSCrypt server","provided by cryptostorm.is","Valencia, Spain",,"https://cryptostorm.is",1,"no","yes","yes",185.140.114.51:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-fi,"CS Finland DNSCrypt server","provided by cryptostorm.is","Helsinki, Finland",,"https://cryptostorm.is",1,"no","yes","yes",185.117.118.20:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-fr,"CS France DNSCrypt server","provided by cryptostorm.is","Paris, France",,"https://cryptostorm.is",1,"no","yes","yes",212.129.46.86:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-fr2,"CS secondary France DNSCrypt server","provided by cryptostorm.is","Paris, France",,"https://cryptostorm.is",1,"no","yes","yes",212.129.46.32:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-lt,"CS Lithuania DNSCrypt server","provided by cryptostorm.is","Vilnius, Lithuania",,"https://cryptostorm.is",1,"no","yes","yes",46.166.170.10:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-lv,"CS Latvia DNSCrypt server","provided by cryptostorm.is","Riga, Latvia",,"https://cryptostorm.is",1,"no","yes","yes",80.233.134.52:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-md,"CS Moldova DNSCrypt server","provided by cryptostorm.is","Chisinau, Moldova",,"https://cryptostorm.is",1,"no","yes","yes",176.123.3.249:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-nl,"CS Netherlands DNSCrypt server","provided by cryptostorm.is","Rotterdam, Netherlands",,"https://cryptostorm.is",1,"no","yes","yes",213.163.64.208:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-pl,"CS Poland DNSCrypt server","provided by cryptostorm.is","Warsaw, Poland",,"https://cryptostorm.is",1,"no","yes","yes",5.133.8.187:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-pt,"CS Portugal DNSCrypt server","provided by cryptostorm.is","Lisbon, Portugal",,"https://cryptostorm.is",1,"no","yes","yes",109.71.42.228:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-ro,"CS Romania DNSCrypt server","provided by cryptostorm.is","Romania",,"https://cryptostorm.is",1,"no","yes","yes",5.254.96.195:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-rome,"CS Italy DNSCrypt server","provided by cryptostorm.is","Rome, Italy",,"https://cryptostorm.is",1,"no","yes","yes",185.94.193.234:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-uk,"CS England DNSCrypt server","provided by cryptostorm.is","Rugby, England",,"https://cryptostorm.is",1,"no","yes","yes",5.101.137.251:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-useast,"CS New York City NY US DNSCrypt server","provided by cryptostorm.is","Buffalo, NY",,"https://cryptostorm.is",1,"no","yes","yes",173.234.159.235:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-useast2,"CS Washington DC US DNSCrypt server","provided by cryptostorm.is","Washington, DC",,"https://cryptostorm.is",1,"no","yes","yes",198.7.58.227:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-usnorth,"CS Chicago IL US DNSCrypt server","provided by cryptostorm.is","Chicago, IL",,"https://cryptostorm.is",1,"no","yes","yes",173.234.56.115:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-ussouth,"CS Dallas TX US DNSCrypt server","provided by cryptostorm.is","Dallas, TX",,"https://cryptostorm.is",1,"no","yes","yes",70.32.38.67:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-ussouth2,"CS Atlanta GA US DNSCrypt server","provided by cryptostorm.is","Atlanta, GA",,"https://cryptostorm.is",1,"no","yes","yes",108.62.19.131:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-uswest,"CS Seattle WA US DNSCrypt server","provided by cryptostorm.is","Seattle, WA",,"https://cryptostorm.is",1,"no","yes","yes",64.120.5.251:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-uswest3,"CS secondary Las Vegas NV US DNSCrypt server","provided by cryptostorm.is","Las Vegas, NV",,"https://cryptostorm.is",1,"no","yes","yes",104.238.195.139:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +cs-uswest5,"CS Los Angeles CA US DNSCrypt server","provided by cryptostorm.is","Los Angeles, CA",,"https://cryptostorm.is",1,"no","yes","yes",173.208.95.75:443,2.dnscrypt-cert.cryptostorm.is,3133:72AD:5956:32C2:416B:872F:098F:851B:DDB9:6528:4C6C:BE9A:4F19:0964:30DB:A95A, +d0wn-at-ns1,"D0wn Resolver Austria 01","Server provided by Martin 'd0wn' Albus","Austria","",https://dns.d0wn.biz,1,yes,yes,no,79.133.33.52,2.dnscrypt-cert.at.d0wn.biz,717E:5DF4:1841:CD4B:D92E:CE16:ECCC:443D:B305:B03D:86E6:69B7:4AC1:FBB6:18D0:2BB4,pubkey.at.dnscrypt.d0wn.biz +d0wn-cz-ns1,"D0wn Resolver Czech Republic 01","Server provided by Martin 'd0wn' Albus","Czech Republic","",https://dns.d0wn.biz,1,yes,yes,no,81.2.237.32,2.dnscrypt-cert.cz.d0wn.biz,EE21:5055:4DA0:1367:BAC3:768A:7C1E:24BF:D777:ACD5:77A4:44F8:BDF3:84E0:5966:D855,pubkey.cz.dnscrypt.d0wn.biz +d0wn-de-ns1,"D0wn Resolver Germany 01","Server provided by Martin 'd0wn' Albus","Germany","",https://dns.d0wn.biz,1,yes,yes,no,82.211.31.248,2.dnscrypt-cert.de.d0wn.biz,B040:19F8:8D49:4682:41E3:EB58:5F61:173F:EF8E:55DA:0597:2DB7:27BB:C153:1DD8:D109,pubkey.de.dnscrypt.d0wn.biz +d0wn-de-ns1-ipv6,"D0wn Resolver Germany 01 over IPv6","Server provided by Martin 'd0wn' Albus","Germany","",https://dns.d0wn.biz,1,yes,yes,no,[2001:1608:10:195:3:dead:beef:cafe]:443,2.dnscrypt-cert.de.d0wn.biz,B040:19F8:8D49:4682:41E3:EB58:5F61:173F:EF8E:55DA:0597:2DB7:27BB:C153:1DD8:D109,pubkey.de.dnscrypt.d0wn.biz +d0wn-es-ns1,"D0wn Resolver Spain 01","Server provided by Martin 'd0wn' Albus","Spain","",https://dns.d0wn.biz,1,yes,yes,no,91.142.220.29,2.dnscrypt-cert.es.d0wn.biz,EB09:E854:AEDA:9705:CB47:ED69:EADD:4156:3653:82C5:C88D:A2E3:6917:3B54:4774:7505,pubkey.es.dnscrypt.d0wn.biz +d0wn-fr-ns1,"D0wn Resolver France 01","Server provided by Martin 'd0wn' Albus","France","",https://dns.d0wn.biz,1,yes,yes,no,151.80.7.115:1053,2.dnscrypt-cert.fr.d0wn.biz,58A8:22D3:29EB:C14F:BCEB:45AF:42EB:2F58:C797:0AD3:ED31:397D:1D34:8636:2375:7251,pubkey.fr.dnscrypt.d0wn.biz +d0wn-fr-ns2,"D0wn Resolver France 02","Server provided by Martin 'd0wn' Albus","France","",https://dns.d0wn.biz,1,yes,yes,no,37.187.0.40,2.dnscrypt-cert.fr2.d0wn.biz,25A7:DB7B:7835:55D5:7DA4:7C0C:57F8:9C5F:0220:3D09:67E3:585A:723E:E0D1:CB38:F767,pubkey.fr2.dnscrypt.d0wn.biz +d0wn-fr-ns2-ipv6,"D0wn Resolver France 02 over IPv6","Server provided by Martin 'd0wn' Albus","France","",https://dns.d0wn.biz,1,yes,yes,no,[2001:41D0:A:0028::1]:443,2.dnscrypt-cert.fr2.d0wn.biz,25A7:DB7B:7835:55D5:7DA4:7C0C:57F8:9C5F:0220:3D09:67E3:585A:723E:E0D1:CB38:F767,pubkey.fr2.dnscrypt.d0wn.biz +d0wn-gr-ns1,"D0wn Resolver Greece 01","Server provided by Martin 'd0wn' Albus","Greece","",https://dns.d0wn.biz,1,yes,yes,no,85.25.105.193,2.dnscrypt-cert.gr.d0wn.biz,B19C:0B5C:48F2:58FA:0BE4:67F4:5F50:BC7F:985F:C544:8A4F:BC9D:5574:5A35:5701:8009,pubkey.gr.dnscrypt.d0wn.biz +d0wn-id-ns1,"D0wn Resolver Indonesia 01","Server provided by Martin 'd0wn' Albus","Indonesia","",https://dns.d0wn.biz,1,yes,yes,no,45.114.118.195,2.dnscrypt-cert.id.d0wn.biz,BE93:B3F1:2A3B:2448:8F33:F91F:9461:5F73:D5CA:56D6:C789:96DE:7A18:D4DE:5182:094D,pubkey.id.dnscrypt.d0wn.biz +d0wn-is-ns1,"D0wn Resolver Iceland 01","Server provided by Martin 'd0wn' Albus","Iceland","",https://dns.d0wn.biz,1,yes,yes,no,37.235.49.61,2.dnscrypt-cert.is.d0wn.biz,2B28:974E:073A:6B38:722A:5BE1:F7A0:250C:508F:A809:238F:8F3D:76D8:6098:20D7:B2D9,pubkey.is.dnscrypt.d0wn.biz +d0wn-is-ns2,"D0wn Resolver Iceland 02","Server provided by Martin 'd0wn' Albus","Iceland","",https://dns.d0wn.biz,1,yes,yes,no,93.95.226.165,2.dnscrypt-cert.is2.d0wn.biz,8460:34A9:C630:CA3C:04AC:4A90:1625:F17A:87B2:ACB9:4180:AC48:1E2C:10E8:CEDE:1A6F,pubkey.is2.dnscrypt.d0wn.biz +d0wn-it-ns1,"D0wn Resolver Italy 01","Server provided by Martin 'd0wn' Albus","Italy","",https://dns.d0wn.biz,1,yes,yes,no,31.14.133.188,2.dnscrypt-cert.it.d0wn.biz,2DEC:CEF8:A4D0:57DE:0D1A:CE8E:0A3C:BEB8:2135:61A8:BF0E:7373:0BA0:EC38:C876:3B50,pubkey.it.dnscrypt.d0wn.biz +d0wn-lv-ns1,"D0wn Resolver Latvia 01","Server provided by Martin 'd0wn' Albus","Latvia","",https://dns.d0wn.biz,1,yes,yes,no,89.111.13.60,2.dnscrypt-cert.lv.d0wn.biz,9AC3:6B4C:7ADB:E7D6:D697:B6BF:151C:151A:B291:8C5D:B912:15F8:B986:5926:33A4:A5E1,pubkey.lv.dnscrypt.d0wn.biz +d0wn-lv-ns2,"D0wn Resolver Latvia 02","Server provided by Martin 'd0wn' Albus","Latvia","",https://dns.d0wn.biz,1,yes,yes,no,185.86.151.28,2.dnscrypt-cert.lv2.d0wn.biz,B111:F80C:E3E0:1C36:CC73:0995:009E:6351:EF08:0503:309D:9417:7AA3:8C67:916D:0CDF,pubkey.lv.dnscrypt.d0wn.biz +d0wn-lv-ns2-ipv6,"D0wn Resolver Latvia 01 over IPv6","Server provided by Martin 'd0wn' Albus","Latvia","",https://dns.d0wn.biz,1,yes,yes,no,[2a02:7aa0:1201::f60e:2719]:443,2.dnscrypt-cert.lv2.d0wn.biz,B111:F80C:E3E0:1C36:CC73:0995:009E:6351:EF08:0503:309D:9417:7AA3:8C67:916D:0CDF,pubkey.lv.dnscrypt.d0wn.biz +d0wn-md-ns1,"D0wn Resolver Moldova 01","Server provided by Martin 'd0wn' Albus","Moldova","",https://dns.d0wn.biz,1,yes,yes,no,178.17.170.67:1053,2.dnscrypt-cert.md.d0wn.biz,3DB2:C4CB:39E2:6B82:FDDF:6D91:1A65:D164:F4F0:D237:8CDD:0C37:469F:24BA:B9A0:F9FF,pubkey.md.dnscrypt.d0wn.biz +d0wn-md-ns1-ipv6,"D0wn Resolver Moldova 01 over IPv6","Server provided by Martin 'd0wn' Albus","Moldova","",https://dns.d0wn.biz,1,yes,yes,no,[2a00:1dc0:cafe::ad86:fa7e]:1053,2.dnscrypt-cert.md.d0wn.biz,3DB2:C4CB:39E2:6B82:FDDF:6D91:1A65:D164:F4F0:D237:8CDD:0C37:469F:24BA:B9A0:F9FF,pubkey.md.dnscrypt.d0wn.biz +d0wn-mx-ns1,"D0wn Resolver Mexico 01","Server provided by Martin 'd0wn' Albus","Mexico","",https://dns.d0wn.biz,1,yes,yes,no,201.131.126.212,2.dnscrypt-cert.mx.d0wn.biz,999E:63F0:0DE7:C171:3A72:5625:2A3F:097B:EC3A:D28F:BE28:7569:5C37:E80D:3D55:4FD0,pubkey.mx.dnscrypt.d0wn.biz +d0wn-nl-ns1,"D0wn Resolver Netherlands 01","Server provided by Martin 'd0wn' Albus","Netherlands","",https://dns.d0wn.biz,1,yes,yes,no,95.85.9.86:1053,2.dnscrypt-cert.nl.d0wn.biz,7BE6:68FE:A505:FFA7:4C27:C2CA:F881:59DA:038C:5741:13AA:2556:A4D2:2D0B:B6F0:009E,pubkey.nl.dnscrypt.d0wn.biz +d0wn-nl-ns1-ipv6,"D0wn Resolver Netherlands 01 over IPv6","Server provided by Martin 'd0wn' Albus","Netherlands","",https://dns.d0wn.biz,1,yes,yes,no,[2a03:b0c0:0:1010::62:f001]:1053,2.dnscrypt-cert.nl.d0wn.biz,7BE6:68FE:A505:FFA7:4C27:C2CA:F881:59DA:038C:5741:13AA:2556:A4D2:2D0B:B6F0:009E,pubkey.nl.dnscrypt.d0wn.biz +d0wn-nl-ns2,"D0wn Resolver Netherlands 02","Server provided by Martin 'd0wn' Albus","Netherlands","",https://dns.d0wn.biz,1,yes,yes,no,185.83.217.248:1053,2.dnscrypt-cert.nl2.d0wn.biz,DFAA:B7D8:29E6:1F34:4FED:2610:4221:70C9:ADC7:7E9F:A65F:4A46:0BAE:A735:3186:3B99,pubkey.nl2.dnscrypt.d0wn.biz +d0wn-nl-ns2-ipv6,"D0wn Resolver Netherlands 02 over IPv6","Server provided by Martin 'd0wn' Albus","Netherlands","",https://dns.d0wn.biz,1,yes,yes,no,[2a02:2ca0:64:22::2]:1053,2.dnscrypt-cert.nl2.d0wn.biz,DFAA:B7D8:29E6:1F34:4FED:2610:4221:70C9:ADC7:7E9F:A65F:4A46:0BAE:A735:3186:3B99,pubkey.nl2.dnscrypt.d0wn.biz +d0wn-nl-ns4,"D0wn Resolver Netherlands 04","Server provided by Martin 'd0wn' Albus","Netherlands","",https://dns.d0wn.biz,1,yes,yes,no,31.220.43.105,2.dnscrypt-cert.nl4.d0wn.biz,2A4F:4389:5CE6:3230:B4C5:76A5:AC38:6418:4D12:6949:B160:FDB0:9166:ABB4:CEC6:0672,pubkey.nl4.dnscrypt.d0wn.biz +d0wn-random-ns1,"D0wn Resolver Moldova Random 01","Server provided by Martin 'd0wn' Albus","Moldova","",https://dns.d0wn.biz,1,yes,yes,no,178.17.170.133:443,2.dnscrypt-cert.random.d0wn.biz,A420:867F:ED5C:024C:C86A:EECE:AA05:194B:017F:D2FF:9E72:385A:874F:8CE5:6832:ED2E,pubkey.random.dnscrypt.d0wn.biz +d0wn-random-ns1-ipv6,"D0wn Resolver Moldova Random 01 over IPv6","Server provided by Martin 'd0wn' Albus","Moldova","",https://dns.d0wn.biz,1,yes,yes,no,[2a00:1dc0:cafe::c6af:c19d]:443,2.dnscrypt-cert.random.d0wn.biz,A420:867F:ED5C:024C:C86A:EECE:AA05:194B:017F:D2FF:9E72:385A:874F:8CE5:6832:ED2E,pubkey.random.dnscrypt.d0wn.biz +d0wn-random-ns2,"D0wn Resolver Netherlands Random 02","Server provided by Martin 'd0wn' Albus","Netherlands","",https://dns.d0wn.biz,1,yes,yes,no,185.14.29.140,2.dnscrypt-cert.random2.d0wn.biz,7D73:F486:3C01:4CC9:B278:D107:F254:7A4F:1EA2:1081:07B0:CB82:645A:D8A4:B98A:B327,pubkey.random2.dnscrypt.d0wn.biz +d0wn-random-ns2-ipv6,"D0wn Resolver Netherlands Random 02 over IPv6","Server provided by Martin 'd0wn' Albus","Netherlands","",https://dns.d0wn.biz,1,yes,yes,no,[2a00:1ca8:a7::1e9]:443,2.dnscrypt-cert.random2.d0wn.biz,7D73:F486:3C01:4CC9:B278:D107:F254:7A4F:1EA2:1081:07B0:CB82:645A:D8A4:B98A:B327,pubkey.random2.dnscrypt.d0wn.biz +d0wn-ru-ns1,"D0wn Resolver Russia 01","Server provided by Martin 'd0wn' Albus","Russia","",https://dns.d0wn.biz,1,yes,yes,no,91.214.71.181,2.dnscrypt-cert.ru.d0wn.biz,0ECA:BC40:E0A1:335F:0221:4240:AB86:2919:D16A:2393:CCEB:4B40:9EB9:4F24:3077:ED99,pubkey.ru.dnscrypt.d0wn.biz +d0wn-se-ns1,"D0wn Resolver Sweden 01","Server provided by Martin 'd0wn' Albus","Sweden","",https://dns.d0wn.biz,1,yes,yes,no,95.215.44.124,2.dnscrypt-cert.se.d0wn.biz,9D4F:762B:DD24:F77A:64B4:7E0F:F5C6:93FD:A02A:39E9:8FEC:0CEE:F252:3A5F:A403:C032,pubkey.se.dnscrypt.d0wn.biz +d0wn-se-ns1-ipv6,"D0wn Resolver Sweden 01 over IPv6","Server provided by Martin 'd0wn' Albus","Sweden","",https://dns.d0wn.biz,1,yes,yes,no,[2a02:7aa0:1619::4f50:a69]:443,2.dnscrypt-cert.se.d0wn.biz,9D4F:762B:DD24:F77A:64B4:7E0F:F5C6:93FD:A02A:39E9:8FEC:0CEE:F252:3A5F:A403:C032,pubkey.se.dnscrypt.d0wn.biz +d0wn-se-ns2,"D0wn Resolver Sweden 02","Server provided by Martin 'd0wn' Albus","Sweden","",https://dns.d0wn.biz,1,yes,yes,no,31.220.5.186,2.dnscrypt-cert.se2.d0wn.biz,C57D:D6A4:178E:ADE2:D0C0:B138:A4D4:074A:DF59:1488:8711:5CAC:EB60:A37B:3492:DA15,pubkey.se2.dnscrypt.d0wn.biz +d0wn-sg-ns1,"D0wn Resolver Singapore 01","Server provided by Martin 'd0wn' Albus","Singapore","",https://dns.d0wn.biz,1,yes,yes,no,128.199.248.105,2.dnscrypt-cert.sg.d0wn.biz,D82B:2B76:1DA0:8470:B55B:820C:FAAB:9F32:D632:E9E0:5616:2CE7:7D21:E970:98FF:4A34,pubkey.sg.dnscrypt.d0wn.biz +d0wn-sg-ns1-ipv6,"D0wn Resolver Singapore 01 over IPv6","Server provided by Martin 'd0wn' Albus","Singapore","",https://dns.d0wn.biz,1,yes,yes,no,[2400:6180:0:d0::38:d001]:443,2.dnscrypt-cert.sg.d0wn.biz,D82B:2B76:1DA0:8470:B55B:820C:FAAB:9F32:D632:E9E0:5616:2CE7:7D21:E970:98FF:4A34,pubkey.sg.dnscrypt.d0wn.biz +d0wn-tz-ns1,"D0wn Resolver Tanzania 01","Server provided by Martin 'd0wn' Albus","Tanzania","",https://dns.d0wn.biz,1,yes,yes,no,41.79.69.13,2.dnscrypt-cert.tz.d0wn.biz,D606:15FB:D145:3BA1:4E76:8A3E:5C5C:B3AC:1746:1331:463D:A0AF:8CF7:DF04:DA4D:756D,pubkey.tz.dnscrypt.d0wn.biz +d0wn-tz-ns1-ipv6,"D0wn Resolver Tanzania 01 over IPv6","Server provided by Martin 'd0wn' Albus","Tanzania","",https://dns.d0wn.biz,1,yes,yes,no,[2c0f:fda8:5::2ed1:d2ec]:443,2.dnscrypt-cert.tz.d0wn.biz,D606:15FB:D145:3BA1:4E76:8A3E:5C5C:B3AC:1746:1331:463D:A0AF:8CF7:DF04:DA4D:756D,pubkey.tz.dnscrypt.d0wn.biz +d0wn-us-ns1,"D0wn Resolver United States of America 01","Server provided by Martin 'd0wn' Albus","United States of America","",https://dns.d0wn.biz,1,yes,yes,no,107.181.187.219,2.dnscrypt-cert.us.d0wn.biz,04BB:6100:7CFF:C72B:AF91:8942:F9DC:12A9:61A1:C6F2:177F:7CF9:F3C9:1B43:9FBE:6B80,pubkey.us.dnscrypt.d0wn.biz +d0wn-us-ns2,"D0wn Resolver United States of America 02","Server provided by Martin 'd0wn' Albus","United States of America","",https://dns.d0wn.biz,1,yes,yes,no,192.252.222.24,2.dnscrypt-cert.us2.d0wn.biz,729B:FABE:2295:D469:E911:F97E:3EE4:F6DB:0190:EA6F:7CF3:F7EE:BB6B:99B1:698A:237D,pubkey.us2.dnscrypt.d0wn.biz +d0wn-us-ns4,"D0wn Resolver United States of America 04","Server provided by Martin 'd0wn' Albus","United States of America","",https://dns.d0wn.biz,1,yes,yes,no,107.181.168.52,2.dnscrypt-cert.us4.d0wn.biz,F392:5D53:A315:66C2:ACF2:B2D2:8A69:6739:B066:1B8C:EF1B:3AFD:E828:0D83:D4EA:6D7D,pubkey.us4.dnscrypt.d0wn.biz +d0wn-za-ns1,"D0wn Resolver South Africa 01","Server provided by Martin 'd0wn' Albus","South Africa","",https://dns.d0wn.biz,1,yes,yes,no,169.239.181.3,2.dnscrypt-cert.za.d0wn.biz,FBBD:0F3A:AF2B:B1BB:CD8F:9324:D5F6:A68C:E722:3890:8B90:92CF:F6D2:BF7C:9EC1:1368,pubkey.za.dnscrypt.d0wn.biz +dnscrypt.ca-1,"dnscrypt.ca Server 1","Uncensored DNSSEC validating and log-free","Montreal, Canada","","https://dnscrypt.ca/",1,yes,yes,no,"192.99.183.132:443","2.dnscrypt-cert.dnscrypt.ca-1",1A53:A3C9:5078:9CBD:D10B:1933:A468:9B6C:846A:40F1:B73D:1752:AECA:C982:9ECB:7CE2, +dnscrypt.ca-2,"dnscrypt.ca Server 2","Uncensored DNSSEC validating and log-free","Montreal, Canada","","https://dnscrypt.ca/",1,yes,yes,no,"149.56.228.45:443","2.dnscrypt-cert.dnscrypt.ca-2",0108:54AB:3B56:A7EE:F9D3:9158:FEF6:820B:FF93:A235:7C89:1608:DB9E:15D3:BBE0:1185, +dnscrypt.eu-dk,"DNSCrypt.eu Denmark","Free, non-logged, uncensored. Hosted by Netgroup.","Denmark","",https://dnscrypt.eu,1,yes,yes,no,77.66.84.233,2.dnscrypt-cert.resolver2.dnscrypt.eu,3748:5585:E3B9:D088:FD25:AD36:B037:01F5:520C:D648:9E9A:DD52:1457:4955:9F0A:9955,pubkey.resolver2.dnscrypt.eu +dnscrypt.eu-dk-ipv6,"DNSCrypt.eu Denmark over IPv6","Free, non-logged, uncensored. Hosted by Netgroup.","Denmark","",https://dnscrypt.eu,1,yes,yes,no,[2001:1448:243::dc2]:443,2.dnscrypt-cert.resolver2.dnscrypt.eu,3748:5585:E3B9:D088:FD25:AD36:B037:01F5:520C:D648:9E9A:DD52:1457:4955:9F0A:9955,pubkey.resolver2.dnscrypt.eu +dnscrypt.eu-nl,"DNSCrypt.eu Holland","Free, non-logged, uncensored. Hosted by RamNode.","Netherlands","",https://dnscrypt.eu,1,yes,yes,no,176.56.237.171,2.dnscrypt-cert.resolver1.dnscrypt.eu,67C0:0F2C:21C5:5481:45DD:7CB4:6A27:1AF2:EB96:9931:40A3:09B6:2B8D:1653:1185:9C66,pubkey.resolver1.dnscrypt.eu +dnscrypt.nl-ns0,"DNSCrypt.nl The Netherlands (NL)","Public DNSCrypt server in Amsterdam, the Netherlands","Netherlands","",https://dnscrypt.nl,1,yes,yes,no,45.76.35.212,2.dnscrypt-cert.ns0.dnscrypt.nl,4C84:FB8C:0511:5DFA:5F97:C5ED:0329:1370:C78A:BCD6:4E15:DD53:AB08:DE72:FB84:4ACA,pkey.ns0.dnscrypt.nl +dnscrypt.nl-ns0-ipv6,"DNSCrypt.nl The Netherlands (NL) over IPv6","Public DNSCrypt server in Amsterdam, the Netherlands","Netherlands","",https://dnscrypt.nl,1,yes,yes,no,[2001:19f0:5001:30a:5400:ff:fe58:7140]:443,2.dnscrypt-cert.ns0.dnscrypt.nl,4C84:FB8C:0511:5DFA:5F97:C5ED:0329:1370:C78A:BCD6:4E15:DD53:AB08:DE72:FB84:4ACA,pkey.ns0.dnscrypt.nl +dnscrypt.org-fr,"DNSCrypt.org France","DNSSEC/Non-logged/Uncensored - ARM server donated by Scaleway.com","Paris, France","",https://fr.dnscrypt.org,2,yes,yes,no,212.47.228.136,2.dnscrypt-cert.fr.dnscrypt.org,E801:B84E:A606:BFB0:BAC0:CE43:445B:B15E:BA64:B02F:A3C4:AA31:AE10:636A:0790:324D,pubkey.fr.dnscrypt.org +fvz-anyone,"Primary OpenNIC Anycast DNS Resolver","Fusl's public primary OpenNIC Tier2 Anycast DNS Resolver","Anycast","",http://dnsrec.meo.ws/,1,no,yes,no,185.121.177.177,2.dnscrypt-cert.dnsrec.meo.ws,1A6A:D0A3:2B4C:5A61:A695:D153:670D:69AB:1690:3F9E:C3F7:F64F:13E5:35A3:18B2:28A5, +fvz-anytwo,"Secondary OpenNIC Anycast DNS Resolver","Fusl's public secondary OpenNIC Tier2 Anycast DNS Resolver","Anycast","",http://dnsrec.meo.ws/,1,no,yes,no,169.239.202.202,2.dnscrypt-cert.dnsrec.meo.ws,1A6A:D0A3:2B4C:5A61:A695:D153:670D:69AB:1690:3F9E:C3F7:F64F:13E5:35A3:18B2:28A5, +ipredator,"Ipredator.se Server","Public DNSCrypt server in Sweden provided by Ipredator.se","Sweden","",https://www.ipredator.se,1,yes,yes,no,194.132.32.32,2.dnscrypt-cert.ipredator.se,C44C:566A:A8D6:46C4:32B1:04F5:3D00:961B:32DC:71CF:1C04:BD9E:B013:E480:E7A4:7828,pubkey.resolver2.ipredator.se +ns0.dnscrypt.is,"ns0.dnscrypt.is in Reykjavík, Iceland","DNSSEC enabled, non-logging, uncensored. Sponsored by 1984 Hosting.","Reykjavík, Iceland","",https://dnscrypt.is,1,yes,yes,no,93.95.228.87,2.dnscrypt-cert.ns0.dnscrypt.is,EE41:6A83:451C:218F:37B2:B736:78C4:999F:7DE6:89D1:31D2:7866:7C8E:A8BB:1C95:B402,pubkey.ns0.dnscrypt.is +okturtles,"okTurtles","For a surveillance-free world. HTTPS is broken. DNSChain fixes it.","Georgia, US","33.032501, -83.895699",http://okturtles.com/,1,no,yes,no,23.226.227.93,2.dnscrypt-cert.okturtles.com,1D85:3953:E34F:AFD0:05F9:4C6F:D1CC:E635:D411:9904:0D48:D19A:5D35:0B6A:7C81:73CB, +opennic-tumabox,"TumaBox","Public DNS server operated by TumaBox.org","Germany","",http://wiki.tumabox.org/doku.php?id=dns,1,no,yes,no,130.255.73.90:5353,2.tumabox.org,D591:7B11:6A35:3114:C238:AA99:A6EB:0C28:7CF7:6805:41AC:5DBF:A8A0:239E:228C:5B06, +opennic-tumabox-ipv6,"TumaBox over IPv6","Public DNS server operated by TumaBox.org","Germany","",http://wiki.tumabox.org/doku.php?id=dns,1,no,yes,no,[2a02:e00:fffd:139::9]:5353,2.tumabox.org,D591:7B11:6A35:3114:C238:AA99:A6EB:0C28:7CF7:6805:41AC:5DBF:A8A0:239E:228C:5B06, +securedns,SecureDNS,Uncensored and no logging,"Amsterdam, Netherlands",,https://securedns.eu,1,yes,yes,no,146.185.167.43:5353,2.dnscrypt-cert.securedns.eu,B3A5:9769:1457:5B04:89E1:9FAE:9C43:E679:FAF2:8C57:1897:0031:7F7B:B496:291F:B095,2.dnscrypt-cert.securedns.eu +securedns-ipv6,SecureDNS over IPv6,Uncensored and no logging,"Amsterdam, Netherlands",,https://securedns.eu,1,yes,yes,no,[2a03:b0c0:0:1010::e9a:3001]:5353,2.dnscrypt-cert.securedns.eu,B3A5:9769:1457:5B04:89E1:9FAE:9C43:E679:FAF2:8C57:1897:0031:7F7B:B496:291F:B095,2.dnscrypt-cert.securedns.eu +soltysiak,"Soltysiak","Public DNSCrypt server in Poland","Poland","52.4014619, 16.9278078",http://dc1.soltysiak.com/,1,yes,yes,yes,178.216.201.222:2053,2.dnscrypt-cert.soltysiak.com,25C4:E188:2915:4697:8F9C:2BBD:B6A7:AFA4:01ED:A051:0508:5D53:03E7:1928:C066:8F21,pubkey.dc1.soltysiak.com +soltysiak-ipv6,"Soltysiak over IPv6","Public DNSCrypt server in Poland","Poland","52.4014619, 16.9278078",http://dc1.soltysiak.com/,1,yes,yes,yes,[2001:470:70:4ff::2]:2053,2.dnscrypt-cert.soltysiak.com,25C4:E188:2915:4697:8F9C:2BBD:B6A7:AFA4:01ED:A051:0508:5D53:03E7:1928:C066:8F21,pubkey.dc1.soltysiak.com +ventricle.us,"Anatomical DNS","Public DNSCrypt resolver provided by Jacob Henner","New York, NY","",https://jacobhenner.com,1,yes,yes,no,107.170.57.34,2.dnscrypt-cert.dnscrypt.ventricle.us,E985:F118:AD4E:3CC6:5FF2:2520:1890:C6F5:58B7:5B5A:52F5:6B17:CFEA:C100:5C8B:9BAA,pubkey.dnscrypt.ventricle.us +yandex,"Yandex","Yandex public DNS server","Anycast","",https://www.yandex.com,1,no,no,no,77.88.8.78:15353,2.dnscrypt-cert.browser.yandex.net,D384:C071:C9F7:4662:AF2A:CCD5:7B5D:CC97:14D4:07B6:AD36:01E1:AEDC:06D5:6D49:6327, diff --git a/net/dnscrypt-proxy/patches/010-internal.patch b/net/dnscrypt-proxy/patches/010-internal.patch new file mode 100644 index 0000000..f10a85f --- /dev/null +++ b/net/dnscrypt-proxy/patches/010-internal.patch @@ -0,0 +1,11 @@ +--- a/src/proxy/app.c ++++ b/src/proxy/app.c +@@ -391,7 +391,7 @@ dnscrypt_proxy_main(int argc, char *argv[]) + } + logger_noformat(&proxy_context, LOG_NOTICE, "Starting " PACKAGE_STRING); + sodium_mlock(&proxy_context, sizeof proxy_context); +- randombytes_set_implementation(&randombytes_salsa20_implementation); ++ randombytes_set_implementation(&randombytes_internal_implementation); + + #ifdef PLUGINS + if (plugin_support_context_load(app_context.dcps_context) != 0) {