summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-dnscrypt-proxy
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-app-dnscrypt-proxy')
-rw-r--r--applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua60
-rw-r--r--applications/luci-app-dnscrypt-proxy/po/ru/dnscrypt-proxy.po276
2 files changed, 313 insertions, 23 deletions
diff --git a/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua b/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua
index 368c6673ad..999c81dee7 100644
--- a/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua
+++ b/applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua
@@ -1,4 +1,4 @@
--- Copyright 2017 Dirk Brenken (dev@brenken.org)
+-- Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
-- This is free software, licensed under the Apache License, Version 2.0
local fs = require("nixio.fs")
@@ -6,10 +6,11 @@ local uci = require("luci.model.uci").cursor()
local util = require("luci.util")
local date = require("luci.http.protocol.date")
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://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-resolvers.csv"
+local url = "https://raw.githubusercontent.com/dyne/dnscrypt-proxy/master/dnscrypt-resolvers.csv"
if not fs.access(res_input) then
if not fs.access("/lib/libustream-ssl.so") then
@@ -29,22 +30,24 @@ if not uci:get_first("dnscrypt-proxy", "global") then
uci:commit("dnscrypt-proxy")
end
-for line in io.lines(res_input) 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 = "-"
+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
- res_list[#res_list + 1] = { name = name, location = location, dnssec = dnssec, nolog = nolog }
end
end
@@ -60,7 +63,7 @@ function m.on_after_commit(self)
if value == "1" then
uci:commit("dnscrypt-proxy")
uci:set("dhcp", s1, "noresolv", 1)
- if not fs.access("/etc/resolv-crypt.conf") or nixio.fs.stat("/etc/resolv-crypt.conf").size == 0 then
+ 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")
@@ -98,32 +101,43 @@ o1.value = res_input
o2 = s:option(DummyValue, "", translate("File Date"))
o2.template = "dnscrypt-proxy/res_options"
-o2.value = date.to_http(nixio.fs.stat(res_input).mtime)
+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"
-o3.value = luci.sys.exec("sha256sum " .. res_input .. " | awk '{print $1}'")
+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 'download.dnscrypt.org'."))
+ 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.<br />")
- .. translate("Please install a 'libustream-ssl' library to download the current resolver list from 'download.dnscrypt.org'."))
+ .. 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 nixio.fs.stat("/etc/resolv-crypt.conf").size == 0 then
+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.<br />")
.. translatef("For further information "
diff --git a/applications/luci-app-dnscrypt-proxy/po/ru/dnscrypt-proxy.po b/applications/luci-app-dnscrypt-proxy/po/ru/dnscrypt-proxy.po
new file mode 100644
index 0000000000..385d81219c
--- /dev/null
+++ b/applications/luci-app-dnscrypt-proxy/po/ru/dnscrypt-proxy.po
@@ -0,0 +1,276 @@
+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-06 14:20+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 <picfun@ya.ru>\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"
+
+msgid "-------"
+msgstr ""
+
+msgid "Advanced"
+msgstr "Дополнительно"
+
+msgid "Alternate Resolver List"
+msgstr "Альтернативный список разрешенных серверов"
+
+msgid ""
+"Apply DNSCrypt-Proxy specific settings to the Dnsmasq configuration.<br />"
+msgstr ""
+"Применить специальные настройки DNSCrypt-Proxy для Dnsmasq config файла.<br /"
+">"
+
+msgid "Blacklist"
+msgstr "Черный список"
+
+msgid "Block IPv6"
+msgstr "Блокировать IPv6"
+
+msgid ""
+"By default the DNSCrypt-Proxy startup will be triggered by ifup events of "
+"'All' available network interfaces.<br />"
+msgstr ""
+"По дефолту DNSCrypt-Proxy стартует на всех доступных интерфейсах 'All'.<br />"
+
+msgid "Configuration of the DNSCrypt-Proxy package."
+msgstr "Настройка DNSCrypt-Proxy. "
+
+msgid ""
+"Create '/etc/resolv-crypt.conf' with 'options timeout:1' to reduce DNS "
+"upstream timeouts with multiple DNSCrypt instances.<br />"
+msgstr ""
+"Создать конфиг файл '/etc/resolv-crypt.conf' с 'options timeout:1' для "
+"уменьшения восходящих тайм-аутов DNS с многократными DNSCrypt instances.<br /"
+">"
+
+msgid "Create Config File"
+msgstr "Создать сonfig файл"
+
+msgid "Create Custom Config File"
+msgstr "Создать config"
+
+msgid "DNS Query Logfile"
+msgstr "Файл системного журнала запроса DNS"
+
+msgid "DNSCrypt-Proxy"
+msgstr "DNSCrypt-Proxy"
+
+msgid "DNSCrypt-Proxy Logfile"
+msgstr "Файл системного журнала DNSCrypt-Proxy"
+
+msgid "DNSCrypt-Proxy Resolver List"
+msgstr "DNSCrypt-Proxy список разрешенных серверов"
+
+msgid "Default Resolver List"
+msgstr "Дефолтный список разрешенных серверов"
+
+msgid "Disable IPv6 to speed up DNSCrypt-Proxy."
+msgstr "Отключить IPv6 для DNSCrypt-Proxy."
+
+msgid "Dnsmasq Options"
+msgstr "Настройка Dnsmasq"
+
+msgid "Download the current resolver list from 'download.dnscrypt.org'."
+msgstr "Скачать текущий список разрешенных серверов с 'download.dnscrypt.org'."
+
+msgid "Edit DNSCrypt-Proxy Configuration"
+msgstr "Настройка config файла DNSCrypt-Proxy"
+
+msgid "Edit Dnsmasq Configuration"
+msgstr "Настройка config файла Dnsmasq"
+
+msgid "Edit Resolvcrypt Configuration"
+msgstr "Настройка config файла Resolvcrypt"
+
+msgid "Enable Caching to speed up DNSCcrypt-Proxy."
+msgstr "Включить кэширование для ускорения DNSCcrypt-Proxy."
+
+msgid "Ephemeral Keys"
+msgstr "Эфемерные ключи"
+
+msgid "File Checksum"
+msgstr "Контрольная сумма файла"
+
+msgid "File Date"
+msgstr "Дата и время создания файла"
+
+msgid ""
+"For further information <a href=\"%s\" target=\"_blank\">see the wiki "
+"online</a>"
+msgstr ""
+"Для более подробной информации <a href=\"%s\" target=\"_blank\">обратитесь к "
+"wiki онлайн</a>."
+
+msgid "General Options"
+msgstr "Основные настройки"
+
+msgid "IP Address"
+msgstr "IP адрес"
+
+msgid "Improve privacy by using an ephemeral public key for each query."
+msgstr ""
+"Улучшить безопасность, используя эфемерный открытый ключ для каждого запроса."
+
+msgid "Input file not found, please check your configuration."
+msgstr "Введенный файл не найден, пожалуйста проверьте ваши настройки."
+
+msgid "Instance Options"
+msgstr "Дополнительные настройки"
+
+msgid "Local Cache"
+msgstr "Местный кэш"
+
+msgid ""
+"Local blacklists allow you to block abuse sites by domains or ip addresses."
+msgstr ""
+"Локальные Черные списки, позволяют блокировать сайты по их доменам или IP-"
+"адресам."
+
+msgid ""
+"Log the received DNS queries to a file, so you can watch in real-time what "
+"is happening on the network."
+msgstr ""
+"Записывайте в журнал полученные запросы DNS. Таким образом, Вы сможете "
+"наблюдать в режиме реального времени, что происходит в сети."
+
+msgid ""
+"Name of the remote DNS service for resolving queries incl. Location, DNSSEC- "
+"and NOLOG-Flag."
+msgstr ""
+"Имя удаленного сервера DNS для разрешения запросов к нему. Location, DNSSEC- "
+"и NOLOG-Flag (LOC/SEC/NOLOG)."
+
+msgid "No SSL support available.<br />"
+msgstr "Отсутствует поддержка SSL.<br />"
+
+msgid "No default resolver list and no SSL support available.<br />"
+msgstr "Отсутствует список разрешенных серверов и не поддерживается SSL.<br />"
+
+msgid "Overview"
+msgstr "Главное меню"
+
+msgid "Please edit the file manually in the 'Advanced' section."
+msgstr "Пожалуйста, отредактируйте файл вручную в разделе 'Дополнительно'."
+
+msgid ""
+"Please install a 'libustream-ssl' library to download the current resolver "
+"list from 'download.dnscrypt.org'."
+msgstr ""
+"Пожалуйста установите 'libustream-openssl' для загрузки текущего списка "
+"разрешенных серверов с 'download.dnscrypt.org'."
+
+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' для использования данного сервиса."
+
+msgid ""
+"Please note: This may change the values for 'noresolv', 'resolvfile', "
+"'allservers' and the list 'server' settings."
+msgstr ""
+"Примечание: Этот режим, может изменить значения для 'noresolv', "
+"'resolvfile', 'allservers' и параметры настройки списка 'серверов'."
+
+msgid "Port"
+msgstr "Порт"
+
+msgid "Refresh List"
+msgstr "Обновить список"
+
+msgid "Refresh Resolver List"
+msgstr "Обновить список разрешенных серверов"
+
+msgid "Resolver (LOC/SEC/NOLOG)"
+msgstr "Разрешено(LOC/SEC/NOLOG)"
+
+msgid "Save"
+msgstr "Сохранить"
+
+msgid "Specify a non-default Resolver List."
+msgstr "Специальный недефолтный список разрешенных серверов."
+
+msgid "Startup Trigger"
+msgstr "Выберите интерфейс"
+
+msgid "The config file '/etc/resolv-crypt.conf' already exist.<br />"
+msgstr "Config файл '/etc/resolv-crypt.conf' уже существует.<br />"
+
+msgid "The listening port for DNS queries."
+msgstr "Прослушивание порта для DNS запросов."
+
+msgid ""
+"The local IPv4 or IPv6 address. The latter one should be specified within "
+"brackets, e.g. '[::1]'."
+msgstr ""
+"Локальные IPv4 или IPv6 адреса. Заключить в скобки, как образец '[::1]'."
+
+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'."
+
+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)."
+
+msgid ""
+"This form allows you to modify the content of the main Dnsmasq configuration "
+"file (/etc/config/dhcp)."
+msgstr ""
+"Страница позволяет изменять содержимое config файла Dnsmasq (/etc/config/"
+"dhcp)."
+
+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)."
+
+msgid "This form shows the content of the current DNSCrypt Resolver List."
+msgstr ""
+"Страница демонстрирует содержимое DNSCrypt списка разрешенных серверов."
+
+msgid ""
+"This form shows the syslog output, pre-filtered for DNSCrypt-Proxy related "
+"messages only."
+msgstr ""
+"Страница показывает вывод системного журнала, предварительно фильтруемый "
+"только для DNSCrypt-Proxy."
+
+msgid ""
+"This option requires extra CPU cycles and is useless with most DNSCrypt "
+"server."
+msgstr ""
+"Этот режим нагружает CPU и большинством DNSCrypt серверов не поддерживается."
+
+msgid ""
+"To restrict the trigger, select only the relevant network interface. Usually "
+"the 'wan' interface should work for most users."
+msgstr ""
+"Выберите только соответствующий сетевой интерфейс. Обычно интерфейса 'wan', "
+"достаточно для большинства пользователей."
+
+msgid "Transfer Options To Dnsmasq"
+msgstr "Режим передачи Dnsmasq-у"
+
+msgid "View Logfile"
+msgstr "Системный журнал"
+
+msgid "View Resolver List"
+msgstr "Список разрешенных серверов"