diff options
Diffstat (limited to 'applications/luci-app-dnscrypt-proxy')
-rw-r--r-- | applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua | 60 | ||||
-rw-r--r-- | applications/luci-app-dnscrypt-proxy/po/ru/dnscrypt-proxy.po | 276 |
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 "Список разрешенных серверов" |