update-01.01

This commit is contained in:
github-actions[bot] 2022-01-01 13:09:58 +08:00
parent d4b96c60a2
commit e4320c5550
17 changed files with 923 additions and 2891 deletions

View File

@ -1,484 +0,0 @@
/*************************************************************************
*
* Copyright (C) 2018-2020 Ruilin Peng (Nick) <pymumu@gmail.com>.
*
* smartdns is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* smartdns is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
'use strict';
'require fs';
'require uci';
'require form';
'require rpc';
'require view';
var conf = 'smartdns';
var callServiceList = rpc.declare({
object: 'service',
method: 'list',
params: ['name'],
expect: { '': {} }
});
function getPidOfSmartdns() {
return L.resolveDefault(callServiceList(conf), {})
.then(function (res) {
var isrunning = false;
try {
isrunning = res[conf]['instances']['smartdns']['running'];
} catch (e) { }
return isrunning;
});
}
function getIPTablesRedirect() {
return fs.exec('/usr/sbin/iptables', ['-t', 'nat', '-nL', 'PREROUTING']).then(function (res) {
if (res.code === 0) {
return res.stdout.trim();
} else {
return "";
}
});
}
function getIP6TablesRedirect() {
return fs.exec('/usr/sbin/ip6tables', ['-t', 'nat', '-nL', 'PREROUTING']).then(function (res) {
if (res.code === 0) {
return res.stdout.trim();
} else {
return "";
}
});
}
function smartdnsServiceStatus() {
return Promise.all([
getPidOfSmartdns(),
getIPTablesRedirect(),
getIP6TablesRedirect()
]);
}
function smartdnsRenderStatus(res) {
var renderHTML = "";
var isRunning = res[0];
var ipt = res[1];
var ip6t = res[2];
var serverPort = uci.get_first('smartdns', 'smartdns', 'port');
var redirectMode = uci.get_first('smartdns', 'smartdns', 'redirect');
var ipv6Enabled = uci.get_first('smartdns', 'smartdns', 'ipv6_server');
if (isRunning) {
renderHTML += "<span style=\"color:green;font-weight:bold\">SmartDNS - " + _("RUNNING") + "</span>";
} else {
renderHTML += "<span style=\"color:red;font-weight:bold\">SmartDNS - " + _("NOT RUNNING") + "</span>";
return renderHTML;
}
if (redirectMode === "dnsmasq-upstream") {
var matchLine = "127.0.0.1#" + serverPort;
var dnsmasqServer = uci.get_first('dhcp', 'dnsmasq', 'server') || "";
if (dnsmasqServer.indexOf(matchLine) < 0) {
renderHTML += "<br /><span style=\"color:red;font-weight:bold\">" + _("Dnsmasq Forwared To Smartdns Failure") + "</span>";
}
} else if (redirectMode === "redirect") {
var redirectRules = (ipt || '').split(/\n/).filter(function (rule) {
return rule.match(/REDIRECT/) && rule.match(/dpt:53/) && rule.match("ports " + serverPort);
});
if (redirectRules.length <= 0) {
renderHTML += "<br /><span style=\"color:red;font-weight:bold\">" + _("IPV4 53 Port Redirect Failure") + "</span>";
if (ipv6Enabled) {
var redirectRules = (ip6t || '').split(/\n/).filter(function (rule) {
return rule.match(/REDIRECT/) && rule.match(/dpt:53/) && rule.match("ports " + serverPort);
});
if (redirectRules.length <= 0) {
renderHTML += "<br /><span style=\"color:red;font-weight:bold\">" + _("IPV6 53 Port Redirect Failure") + "</span>";
}
}
}
}
return renderHTML;
}
return view.extend({
load: function () {
return Promise.all([
uci.load('smartdns'),
uci.load('dhcp')
]);
},
render: function (stats) {
var m, s, o;
m = new form.Map('smartdns', _('SmartDNS'));
m.title = _("SmartDNS Server");
m.description = _("SmartDNS is a local high-performance DNS server, supports finding fastest IP, "
+ "supports ad filtering, and supports avoiding DNS poisoning.");
s = m.section(form.NamedSection, '_status');
s.anonymous = true;
s.render = function (section_id) {
L.Poll.add(function () {
return L.resolveDefault(smartdnsServiceStatus()).then(function (res) {
var view = document.getElementById("service_status");
view.innerHTML = smartdnsRenderStatus(res);
});
});
return E('div', { class: 'cbi-map' },
E('div', { class: 'cbi-section' }, [
E('div', { id: 'service_status' },
_('Collecting data ...'))
])
);
}
// Basic;
s = m.section(form.TypedSection, "smartdns", _("Settings"), _("General Settings"));
s.anonymous = true;
s.tab("settings", _("General Settings"));
s.tab("seconddns", _("Second Server Settings"));
s.tab("custom", _("Custom Settings"));
// Eanble;
o = s.taboption("settings", form.Flag, "enabled", _("Enable"), _("Enable or disable smartdns server"));
o.default = o.disabled;
o.rempty = false;
// server name;
o = s.taboption("settings", form.Value, "server_name", _("Server Name"), _("Smartdns server name"));
o.default = "smartdns";
o.datatype = "hostname";
o.rempty = false;
// Port;
o = s.taboption("settings", form.Value, "port", _("Local Port"), _("Smartdns local server port"));
o.placeholder = 6053;
o.default = 6053;
o.datatype = "port";
o.rempty = false;
// Enable TCP server;
o = s.taboption("settings", form.Flag, "tcp_server", _("TCP Server"), _("Enable TCP DNS Server"));
o.rmempty = false;
o.default = o.enabled;
// Support IPV6;
o = s.taboption("settings", form.Flag, "ipv6_server", _("IPV6 Server"), _("Enable IPV6 DNS Server"));
o.rmempty = false;
o.default = o.enabled;
// Support DualStack ip selection;
o = s.taboption("settings", form.Flag, "dualstack_ip_selection", _("Dual-stack IP Selection"),
_("Enable IP selection between IPV4 and IPV6"));
o.rmempty = false;
o.default = o.disabled;
// Domain prefetch load ;
o = s.taboption("settings", form.Flag, "prefetch_domain", _("Domain prefetch"),
_("Enable domain prefetch, accelerate domain response speed."));
o.rmempty = false;
o.default = o.disabled;
// Domain Serve expired
o = s.taboption("settings", form.Flag, "serve_expired", _("Serve expired"),
_("Attempts to serve old responses from cache with a TTL of 0 in the response without waiting for the actual resolution to finish."));
o.rmempty = false;
o.default = o.disabled;
// Redirect;
o = s.taboption("settings", form.ListValue, "redirect", _("Redirect"), _("SmartDNS redirect mode"));
o.placeholder = "none";
o.value("none", _("none"));
o.value("dnsmasq-upstream", _("Run as dnsmasq upstream server"));
o.value("redirect", _("Redirect 53 port to SmartDNS"));
o.default = "none";
o.rempty = false;
// cache-size;
o = s.taboption("settings", form.Value, "cache_size", _("Cache Size"), _("DNS domain result cache size"));
o.rempty = true;
// rr-ttl;
o = s.taboption("settings", form.Value, "rr_ttl", _("Domain TTL"), _("TTL for all domain result."));
o.rempty = true;
// rr-ttl-min;
o = s.taboption("settings", form.Value, "rr_ttl_min", _("Domain TTL Min"),
_("Minimum TTL for all domain result."));
o.rempty = true;
o.placeholder = "300";
o.default = 300;
o.optional = true;
// second dns server;
// rr-ttl-max;
o = s.taboption("settings", form.Value, "rr_ttl_max", _("Domain TTL Max"),
_("Maximum TTL for all domain result."));
o.rempty = true;
// Eanble;
o = s.taboption("seconddns", form.Flag, "seconddns_enabled", _("Enable"),
_("Enable or disable second DNS server."));
o.default = o.disabled;
o.rempty = false;
// Port;
o = s.taboption("seconddns", form.Value, "seconddns_port", _("Local Port"), _("Smartdns local server port"));
o.placeholder = 6553;
o.default = 6553;
o.datatype = "port";
o.rempty = false;
// Enable TCP server;
o = s.taboption("seconddns", form.Flag, "seconddns_tcp_server", _("TCP Server"), _("Enable TCP DNS Server"));
o.rmempty = false;
o.default = o.enabled;
// dns server group;
o = s.taboption("seconddns", form.Value, "seconddns_server_group", _("Server Group"),
_("Query DNS through specific dns server group, such as office, home."));
o.rmempty = true;
o.placeholder = "default";
o.datatype = "hostname";
o.rempty = true;
o = s.taboption("seconddns", form.Flag, "seconddns_no_speed_check", _("Skip Speed Check"),
_("Do not check speed."));
o.rmempty = false;
o.default = o.disabled;
// skip address rules;
o = s.taboption("seconddns", form.Flag, "seconddns_no_rule_addr", _("Skip Address Rules"),
_("Skip address rules."));
o.rmempty = false;
o.default = o.disabled;
// skip name server rules;
o = s.taboption("seconddns", form.Flag, "seconddns_no_rule_nameserver", _("Skip Nameserver Rule"),
_("Skip nameserver rules."));
o.rmempty = false;
o.default = o.disabled;
// skip ipset rules;
o = s.taboption("seconddns", form.Flag, "seconddns_no_rule_ipset", _("Skip Ipset Rule"),
_("Skip ipset rules."));
o.rmempty = false;
o.default = o.disabled;
// skip soa address rule;
o = s.taboption("seconddns", form.Flag, "seconddns_no_rule_soa", _("Skip SOA Address Rule"),
_("Skip SOA address rules."));
o.rmempty = false;
o.default = o.disabled;
o = s.taboption("seconddns", form.Flag, "seconddns_no_dualstack_selection", _("Skip Dualstack Selection"),
_("Skip Dualstack Selection."));
o.rmempty = false;
o.default = o.disabled;
// skip cache;
o = s.taboption("seconddns", form.Flag, "seconddns_no_cache", _("Skip Cache"), _("Skip Cache."));
o.rmempty = false;
o.default = o.disabled;
// Force AAAA SOA
o = s.taboption("seconddns", form.Flag, "force_aaaa_soa", _("Force AAAA SOA"), _("Force AAAA SOA."));
o.rmempty = false;
o.default = o.disabled;
// custom settings;
o = s.taboption("custom", form.TextValue, "custom_conf",
"", _("smartdns custom settings"));
o.rows = 20;
o.cfgvalue = function (section_id) {
return fs.trimmed('/etc/smartdns/custom.conf');
};
o.write = function (section_id, formvalue) {
return fs.write('/etc/smartdns/custom.conf', formvalue.trim().replace(/\r\n/g, '\n') + '\n');
};
o = s.taboption("custom", form.Flag, "coredump", _("Generate Coredump"),
_("Generate Coredump file when smartdns crash, coredump file is located at /tmp/smartdns.xxx.core."));
o.rmempty = false;
o.default = o.disabled;
// Upstream servers;
s = m.section(form.GridSection, "server", _("Upstream Servers"),
_("Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS servers, "
+ "including multiple foreign DNS servers."));
s.anonymous = true;
s.addremove = true;
s.tab('general', _('General Settings'));
s.tab('advanced', _('Advanced Settings'));
// enable flag;
o = s.taboption("general", form.Flag, "enabled", _("Enable"), _("Enable"));
o.rmempty = false;
o.default = o.enabled;
o.editable = true;
// name;
o = s.taboption("general", form.Value, "name", _("DNS Server Name"), _("DNS Server Name"));
// IP address;
o = s.taboption("general", form.Value, "ip", _("ip"), _("DNS Server ip"));
o.datatype = "or(ipaddr, string)";
o.rmempty = false;
// port;
o = s.taboption("general", form.Value, "port", _("port"), _("DNS Server port"));
o.placeholder = "default";
o.datatype = "port";
o.rempty = true;
o.depends("type", "udp");
o.depends("type", "tcp");
o.depends("type", "tls");
// type;
o = s.taboption("general", form.ListValue, "type", _("type"), _("DNS Server type"));
o.placeholder = "udp";
o.value("udp", _("udp"));
o.value("tcp", _("tcp"));
o.value("tls", _("tls"));
o.value("https", _("https"));
o.default = "udp";
o.rempty = false;
// Advanced Options
// server group
o = s.taboption("advanced", form.Value, "server_group", _("Server Group"), _("DNS Server group belongs to, "
+ "used with nameserver, such as office, home."))
o.rmempty = true
o.placeholder = "default"
o.datatype = "hostname"
o.rempty = true
o.modalonly = true;
// blacklist_ip
o = s.taboption("advanced", form.Flag, "blacklist_ip", _("IP Blacklist Filtering"),
_("Filtering IP with blacklist"))
o.rmempty = false
o.default = o.disabled
o.modalonly = true;
// TLS host verify
o = s.taboption("advanced", form.Value, "tls_host_verify", _("TLS Hostname Verify"),
_("Set TLS hostname to verify."))
o.default = ""
o.datatype = "string"
o.rempty = true
o.modalonly = true;
o.depends("type", "tls")
o.depends("type", "https")
// SNI host name
o = s.taboption("advanced", form.Value, "host_name", _("TLS SNI name"),
_("Sets the server name indication for query."))
o.default = ""
o.datatype = "hostname"
o.rempty = true
o.modalonly = true;
o.depends("type", "tls")
o.depends("type", "https")
// http host
o = s.taboption("advanced", form.Value, "http_host", _("HTTP Host"),
_("Set the HTTP host used for the query. Use this parameter when the host of the URL address is an IP address."))
o.default = ""
o.datatype = "hostname"
o.rempty = true
o.modalonly = true;
o.depends("type", "https")
// SPKI pin
o = s.taboption("advanced", form.Value, "spki_pin", _("TLS SPKI Pinning"),
_("Used to verify the validity of the TLS server, The value is Base64 encoded SPKI fingerprint, "
+ "leaving blank to indicate that the validity of TLS is not verified."))
o.default = ""
o.datatype = "string"
o.rempty = true
o.modalonly = true;
o.depends("type", "tls")
o.depends("type", "https")
// other args
o = s.taboption("advanced", form.Value, "addition_arg", _("Additional Server Args"),
_("Additional Args for upstream dns servers"))
o.default = ""
o.rempty = true
o.modalonly = true;
// Doman addresss;
s = m.section(form.TypedSection, "smartdns", _("Advanced Settings"), _("Advanced Settings"));
s.anonymous = true;
s.tab("domain-address", _("Domain Address"), _("Set Specific domain ip address."));
s.tab("blackip-list", _("IP Blacklist"), _("Set Specific ip blacklist."));
o = s.taboption("domain-address", form.TextValue, "address_conf",
"",
_("Specify an IP address to return for any host in the given domains, Queries in the domains are never "
+ "forwarded and always replied to with the specified IP address which may be IPv4 or IPv6."));
o.rows = 20;
o.cfgvalue = function (section_id) {
return fs.trimmed('/etc/smartdns/address.conf');
};
o.write = function (section_id, formvalue) {
return fs.write('/etc/smartdns/address.conf', formvalue.trim().replace(/\r\n/g, '\n') + '\n');
};
// IP Blacklist;
// blacklist;
o = s.taboption("blackip-list", form.TextValue, "blackip_ip_conf",
"", _("Configure IP blacklists that will be filtered from the results of specific DNS server."));
o.rows = 20;
o.cfgvalue = function (section_id) {
return fs.trimmed('/etc/smartdns/blacklist-ip.conf');
};
o.write = function (section_id, formvalue) {
return fs.write('/etc/smartdns/blacklist-ip.conf', formvalue.trim().replace(/\r\n/g, '\n') + '\n');
};
// Doman addresss;
s = m.section(form.TypedSection, "smartdns", _("Technical Support"),
_("If you like this software, please buy me a cup of coffee."));
s.anonymous = true;
o = s.option(form.Button, "web");
o.title = _("SmartDNS official website");
o.inputtitle = _("open website");
o.inputstyle = "apply";
o.onclick = function () {
window.open("https://pymumu.github.io/smartdns", '_blank');
};
o = s.option(form.Button, "Donate");
o.title = _("Donate to smartdns");
o.inputtitle = _("Donate");
o.inputstyle = "apply";
o.onclick = function () {
window.open("https://pymumu.github.io/smartdns/#donate", '_blank');
};
return m.render();
}
});

View File

@ -0,0 +1,83 @@
--
-- Copyright (C) 2018-2020 Ruilin Peng (Nick) <pymumu@gmail.com>.
--
-- smartdns is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- smartdns is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
module("luci.controller.smartdns", package.seeall)
local smartdns = require "luci.model.smartdns"
function index()
if not nixio.fs.access("/etc/config/smartdns") then
return
end
local page
page = entry({"admin", "services", "smartdns"}, cbi("smartdns/smartdns"), _("SmartDNS"), 60)
page.dependent = true
page = entry({"admin", "services", "smartdns", "status"}, call("act_status"))
page.leaf = true
page = entry({"admin", "services", "smartdns", "upstream"}, cbi("smartdns/upstream"), nil)
page.leaf = true
end
local function is_running()
return luci.sys.call("pidof smartdns >/dev/null") == 0
end
function act_status()
local e={}
local ipv6_server;
local redirect_mode="none";
e.ipv6_works = 2;
e.ipv4_works = 2;
e.ipv6_server = 1;
e.dnsmasq_forward = 0;
redirect_mode = smartdns.get_config_option("smartdns", "smartdns", "redirect", nil);
if redirect_mode == "redirect" then
e.redirect = 1
elseif redirect_mode == "dnsmasq-upstream" then
e.redirect = 2
else
e.redirect = 0
end
e.local_port = smartdns.get_config_option("smartdns", "smartdns", "port", nil);
ipv6_server = smartdns.get_config_option("smartdns", "smartdns", "ipv6_server", nil);
if e.redirect == 1 then
if e.local_port ~= nil and e.local_port ~= "53" then
e.ipv4_works = luci.sys.call("iptables -t nat -nL PREROUTING 2>/dev/null | grep REDIRECT | grep dpt:53 | grep %q >/dev/null 2>&1" % e.local_port) == 0
if ipv6_server == "1" then
e.ipv6_works = luci.sys.call("ip6tables -t nat -nL PREROUTING 2>/dev/null| grep REDIRECT | grep dpt:53 | grep %q >/dev/null 2>&1" % e.local_port) == 0
else
e.ipv6_works = 2
end
else
e.redirect = 0
end
elseif e.redirect == 2 then
local str;
local dnsmasq_server = luci.sys.exec("uci get dhcp.@dnsmasq[0].server")
if e.local_port ~= nil then
str = "127.0.0.1#" .. e.local_port
if string.sub(dnsmasq_server,1,string.len(str)) == str then
e.dnsmasq_forward = 1
end
end
end
e.running = is_running()
luci.http.prepare_content("application/json")
luci.http.write_json(e)
end

View File

@ -0,0 +1,342 @@
--
-- Copyright (C) 2018-2020 Ruilin Peng (Nick) <pymumu@gmail.com>.
--
-- smartdns is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- smartdns is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
require ("nixio.fs")
require ("luci.http")
require ("luci.dispatcher")
require ("nixio.fs")
m = Map("smartdns")
m.title = translate("SmartDNS Server")
m.description = translate("SmartDNS is a local high-performance DNS server, supports finding fastest IP, supports ad filtering, and supports avoiding DNS poisoning.")
m:section(SimpleSection).template = "smartdns/smartdns_status"
-- Basic
s = m:section(TypedSection, "smartdns", translate("Settings"), translate("General Settings"))
s.anonymous = true
s:tab("settings", translate("General Settings"))
s:tab("seconddns", translate("Second Server Settings"))
s:tab("custom", translate("Custom Settings"))
---- Eanble
o = s:taboption("settings", Flag, "enabled", translate("Enable"), translate("Enable or disable smartdns server"))
o.default = o.disabled
o.rempty = false
---- server name
o = s:taboption("settings", Value, "server_name", translate("Server Name"), translate("Smartdns server name"))
o.default = "smartdns"
o.datatype = "hostname"
o.rempty = false
---- Port
o = s:taboption("settings", Value, "port", translate("Local Port"), translate("Smartdns local server port"))
o.placeholder = 6053
o.default = 6053
o.datatype = "port"
o.rempty = false
---- Enable TCP server
o = s:taboption("settings", Flag, "tcp_server", translate("TCP Server"), translate("Enable TCP DNS Server"))
o.rmempty = false
o.default = o.enabled
o.cfgvalue = function(...)
return Flag.cfgvalue(...) or "1"
end
---- Support IPV6
o = s:taboption("settings", Flag, "ipv6_server", translate("IPV6 Server"), translate("Enable IPV6 DNS Server"))
o.rmempty = false
o.default = o.enabled
o.cfgvalue = function(...)
return Flag.cfgvalue(...) or "1"
end
---- Support DualStack ip selection
o = s:taboption("settings", Flag, "dualstack_ip_selection", translate("Dual-stack IP Selection"), translate("Enable IP selection between IPV4 and IPV6"))
o.rmempty = false
o.default = o.disabled
o.cfgvalue = function(...)
return Flag.cfgvalue(...) or "0"
end
---- Domain prefetch load
o = s:taboption("settings", Flag, "prefetch_domain", translate("Domain prefetch"), translate("Enable domain prefetch, accelerate domain response speed."))
o.rmempty = false
o.default = o.disabled
o.cfgvalue = function(...)
return Flag.cfgvalue(...) or "0"
end
---- Domain Serve expired
o = s:taboption("settings", Flag, "serve_expired", translate("Serve expired"),
translate("Attempts to serve old responses from cache with a TTL of 0 in the response without waiting for the actual resolution to finish."))
o.rmempty = false
o.default = o.disabled
o.cfgvalue = function(...)
return Flag.cfgvalue(...) or "0"
end
---- Redirect
o = s:taboption("settings", ListValue, "redirect", translate("Redirect"), translate("SmartDNS redirect mode"))
o.placeholder = "none"
o:value("none", translate("none"))
o:value("dnsmasq-upstream", translate("Run as dnsmasq upstream server"))
o:value("redirect", translate("Redirect 53 port to SmartDNS"))
o.default = "none"
o.rempty = false
---- cache-size
o = s:taboption("settings", Value, "cache_size", translate("Cache Size"), translate("DNS domain result cache size"))
o.rempty = true
---- rr-ttl
o = s:taboption("settings", Value, "rr_ttl", translate("Domain TTL"), translate("TTL for all domain result."))
o.rempty = true
---- rr-ttl-min
o = s:taboption("settings", Value, "rr_ttl_min", translate("Domain TTL Min"), translate("Minimum TTL for all domain result."))
o.rempty = true
o.placeholder = "300"
o.default = 300
o.optional = true
---- second dns server
---- rr-ttl-max
o = s:taboption("settings", Value, "rr_ttl_max", translate("Domain TTL Max"), translate("Maximum TTL for all domain result."))
o.rempty = true
---- Eanble
o = s:taboption("seconddns", Flag, "seconddns_enabled", translate("Enable"), translate("Enable or disable second DNS server."))
o.default = o.disabled
o.rempty = false
---- Port
o = s:taboption("seconddns", Value, "seconddns_port", translate("Local Port"), translate("Smartdns local server port"))
o.placeholder = 6553
o.default = 6553
o.datatype = "port"
o.rempty = false
---- Enable TCP server
o = s:taboption("seconddns", Flag, "seconddns_tcp_server", translate("TCP Server"), translate("Enable TCP DNS Server"))
o.rmempty = false
o.default = o.enabled
o.cfgvalue = function(...)
return Flag.cfgvalue(...) or "1"
end
---- dns server group
o = s:taboption("seconddns", Value, "seconddns_server_group", translate("Server Group"), translate("Query DNS through specific dns server group, such as office, home."))
o.rmempty = true
o.placeholder = "default"
o.datatype = "hostname"
o.rempty = true
o = s:taboption("seconddns", Flag, "seconddns_no_speed_check", translate("Skip Speed Check"), translate("Do not check speed."))
o.rmempty = false
o.default = o.disabled
o.cfgvalue = function(...)
return Flag.cfgvalue(...) or "0"
end
---- skip address rules
o = s:taboption("seconddns", Flag, "seconddns_no_rule_addr", translate("Skip Address Rules"), translate("Skip address rules."))
o.rmempty = false
o.default = o.disabled
o.cfgvalue = function(...)
return Flag.cfgvalue(...) or "0"
end
---- skip name server rules
o = s:taboption("seconddns", Flag, "seconddns_no_rule_nameserver", translate("Skip Nameserver Rule"), translate("Skip nameserver rules."))
o.rmempty = false
o.default = o.disabled
o.cfgvalue = function(...)
return Flag.cfgvalue(...) or "0"
end
---- skip ipset rules
o = s:taboption("seconddns", Flag, "seconddns_no_rule_ipset", translate("Skip Ipset Rule"), translate("Skip ipset rules."))
o.rmempty = false
o.default = o.disabled
o.cfgvalue = function(...)
return Flag.cfgvalue(...) or "0"
end
---- skip soa address rule
o = s:taboption("seconddns", Flag, "seconddns_no_rule_soa", translate("Skip SOA Address Rule"), translate("Skip SOA address rules."))
o.rmempty = false
o.default = o.disabled
o.cfgvalue = function(...)
return Flag.cfgvalue(...) or "0"
end
o = s:taboption("seconddns", Flag, "seconddns_no_dualstack_selection", translate("Skip Dualstack Selection"), translate("Skip Dualstack Selection."))
o.rmempty = false
o.default = o.disabled
o.cfgvalue = function(...)
return Flag.cfgvalue(...) or "0"
end
---- skip cache
o = s:taboption("seconddns", Flag, "seconddns_no_cache", translate("Skip Cache"), translate("Skip Cache."))
o.rmempty = false
o.default = o.disabled
o.cfgvalue = function(...)
return Flag.cfgvalue(...) or "0"
end
---- Force AAAA SOA
o = s:taboption("seconddns", Flag, "force_aaaa_soa", translate("Force AAAA SOA"), translate("Force AAAA SOA."))
o.rmempty = false
o.default = o.disabled
o.cfgvalue = function(...)
return Flag.cfgvalue(...) or "0"
end
----- custom settings
custom = s:taboption("custom", Value, "Custom Settings",
translate(""),
translate("smartdns custom settings"))
custom.template = "cbi/tvalue"
custom.rows = 20
function custom.cfgvalue(self, section)
return nixio.fs.readfile("/etc/smartdns/custom.conf")
end
function custom.write(self, section, value)
value = value:gsub("\r\n?", "\n")
nixio.fs.writefile("/etc/smartdns/custom.conf", value)
end
o = s:taboption("custom", Flag, "coredump", translate("Generate Coredump"), translate("Generate Coredump file when smartdns crash, coredump file is located at /tmp/smartdns.xxx.core."))
o.rmempty = false
o.default = o.disabled
o.cfgvalue = function(...)
return Flag.cfgvalue(...) or "0"
end
-- Upstream servers
s = m:section(TypedSection, "server", translate("Upstream Servers"), translate("Upstream Servers, support UDP, TCP protocol. " ..
"Please configure multiple DNS servers, including multiple foreign DNS servers."))
s.anonymous = true
s.addremove = true
s.template = "cbi/tblsection"
s.extedit = luci.dispatcher.build_url("admin/services/smartdns/upstream/%s")
---- enable flag
o = s:option(Flag, "enabled", translate("Enable"), translate("Enable"))
o.rmempty = false
o.default = o.enabled
o.cfgvalue = function(...)
return Flag.cfgvalue(...) or "1"
end
---- name
s:option(Value, "name", translate("DNS Server Name"), translate("DNS Server Name"))
---- IP address
o = s:option(Value, "ip", translate("ip"), translate("DNS Server ip"))
o.datatype = "or(ipaddr, string)"
o.rmempty = false
---- port
o = s:option(Value, "port", translate("port"), translate("DNS Server port"))
o.placeholder = "default"
o.datatype = "port"
o.rempty = true
o:depends("type", "udp")
o:depends("type", "tcp")
o:depends("type", "tls")
---- type
o = s:option(ListValue, "type", translate("type"), translate("DNS Server type"))
o.placeholder = "udp"
o:value("udp", translate("udp"))
o:value("tcp", translate("tcp"))
o:value("tls", translate("tls"))
o:value("https", translate("https"))
o.default = "udp"
o.rempty = false
s = m:section(TypedSection, "smartdns", translate("Advanced Settings"), translate("Advanced Settings"));
s.anonymous = true;
s:tab("domain-address", translate("Domain Address"), translate("Set Specific domain ip address."));
s:tab("blackip-list", translate("IP Blacklist"), translate("Set Specific ip blacklist."));
-- Doman addresss
addr = s:taboption("domain-address", Value, "address",
translate(""),
translate("Specify an IP address to return for any host in the given domains, Queries in the domains are never forwarded and always replied to with the specified IP address which may be IPv4 or IPv6."))
addr.template = "cbi/tvalue"
addr.rows = 20
function addr.cfgvalue(self, section)
return nixio.fs.readfile("/etc/smartdns/address.conf")
end
function addr.write(self, section, value)
value = value:gsub("\r\n?", "\n")
nixio.fs.writefile("/etc/smartdns/address.conf", value)
end
-- IP Blacklist
addr = s:taboption("blackip-list", Value, "blacklist_ip",
translate(""),
translate("Configure IP blacklists that will be filtered from the results of specific DNS server."))
addr.template = "cbi/tvalue"
addr.rows = 20
function addr.cfgvalue(self, section)
return nixio.fs.readfile("/etc/smartdns/blacklist-ip.conf")
end
function addr.write(self, section, value)
value = value:gsub("\r\n?", "\n")
nixio.fs.writefile("/etc/smartdns/blacklist-ip.conf", value)
end
-- Technical Support
s = m:section(TypedSection, "smartdns", translate("Technical Support"),
translate("If you like this software, please buy me a cup of coffee."))
s.anonymous = true
o = s:option(Button, "web")
o.title = translate("SmartDNS official website")
o.inputtitle = translate("open website")
o.inputstyle = "apply"
o.write = function()
luci.http.redirect("https://pymumu.github.io/smartdns")
end
o = s:option(Button, "Donate")
o.title = translate("Donate to smartdns")
o.inputtitle = translate("Donate")
o.inputstyle = "apply"
o.write = function()
luci.http.redirect("https://pymumu.github.io/smartdns/#donate")
end
return m

View File

@ -0,0 +1,119 @@
--
-- Copyright (C) 2018-2020 Ruilin Peng (Nick) <pymumu@gmail.com>.
--
-- smartdns is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- smartdns is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
local sid = arg[1]
m = Map("smartdns", "%s - %s" %{translate("SmartDNS Server"), translate("Upstream DNS Server Configuration")})
m.redirect = luci.dispatcher.build_url("admin/services/smartdns")
if m.uci:get("smartdns", sid) ~= "server" then
luci.http.redirect(m.redirect)
return
end
-- [[ Edit Server ]]--
s = m:section(NamedSection, sid, "server")
s.anonymous = true
s.addremove = false
---- name
s:option(Value, "name", translate("DNS Server Name"), translate("DNS Server Name"))
---- IP address
o = s:option(Value, "ip", translate("ip"), translate("DNS Server ip"))
o.datatype = "or(host, string)"
o.rmempty = false
---- port
o = s:option(Value, "port", translate("port"), translate("DNS Server port"))
o.placeholder = "default"
o.datatype = "port"
o.rempty = true
o:depends("type", "udp")
o:depends("type", "tcp")
o:depends("type", "tls")
---- type
o = s:option(ListValue, "type", translate("type"), translate("DNS Server type"))
o.placeholder = "udp"
o:value("udp", translate("udp"))
o:value("tcp", translate("tcp"))
o:value("tls", translate("tls"))
o:value("https", translate("https"))
o.default = "udp"
o.rempty = false
---- server group
o = s:option(Value, "server_group", translate("Server Group"), translate("DNS Server group belongs to, used with nameserver, such as office, home."))
o.rmempty = true
o.placeholder = "default"
o.datatype = "hostname"
o.rempty = true
---- blacklist_ip
o = s:option(Flag, "blacklist_ip", translate("IP Blacklist Filtering"), translate("Filtering IP with blacklist"))
o.rmempty = false
o.default = o.disabled
o.cfgvalue = function(...)
return Flag.cfgvalue(...) or "0"
end
---- TLS host verify
o = s:option(Value, "tls_host_verify", translate("TLS Hostname Verify"), translate("Set TLS hostname to verify."))
o.default = ""
o.datatype = "string"
o.rempty = true
o:depends("type", "tls")
o:depends("type", "https")
---- SNI host name
o = s:option(Value, "host_name", translate("TLS SNI name"), translate("Sets the server name indication for query."))
o.default = ""
o.datatype = "hostname"
o.rempty = true
o:depends("type", "tls")
o:depends("type", "https")
---- http host
o = s:option(Value, "http_host", translate("HTTP Host"), translate("Set the HTTP host used for the query. Use this parameter when the host of the URL address is an IP address."))
o.default = ""
o.datatype = "hostname"
o.rempty = true
o:depends("type", "https")
---- anti-Answer-Forgery
-- o = s:option(Flag, "check_edns", translate("Anti Answer Forgery"), translate("Anti answer forgery, if DNS does not work properly after enabling, please turn off this feature"))
-- o.rmempty = false
-- o.default = o.disabled
-- o:depends("type", "udp")
-- o.cfgvalue = function(...)
-- return Flag.cfgvalue(...) or "0"
-- end
---- SPKI pin
o = s:option(Value, "spki_pin", translate("TLS SPKI Pinning"), translate("Used to verify the validity of the TLS server, The value is Base64 encoded SPKI fingerprint, leaving blank to indicate that the validity of TLS is not verified."))
o.default = ""
o.datatype = "string"
o.rempty = true
o:depends("type", "tls")
o:depends("type", "https")
---- other args
o = s:option(Value, "addition_arg", translate("Additional Server Args"), translate("Additional Args for upstream dns servers"))
o.default = ""
o.rempty = true
o.optional = true
return m

View File

@ -0,0 +1,31 @@
--
-- Copyright (C) 2018-2020 Ruilin Peng (Nick) <pymumu@gmail.com>.
--
-- smartdns is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- smartdns is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
require ("nixio.fs")
require ("luci.http")
require ("luci.dispatcher")
require ("nixio.fs")
local uci = require "luci.model.uci".cursor()
module("luci.model.smartdns", package.seeall)
function get_config_option(module, section, option, default)
return uci:get_first(module, section, option) or default
end
return m

View File

@ -0,0 +1,41 @@
<script type="text/javascript">//<![CDATA[
XHR.poll(3, '<%=luci.dispatcher.build_url("admin", "services", "smartdns", "status")%>', null,
function(x, data) {
var tb = document.getElementById('smartdns_status');
if (data && tb) {
var links = "";
if (data.running) {
links = '<b><font color=green>SmartDNS - <%:RUNNING%></font></b></em>';
if (data.redirect) {
if (data.redirect == 1) {
if (data.ipv4_works == 0) {
links += "<br></br><b><font color=red><%:IPV4 53 Port Redirect Failure%></font></b>"
}
if (data.ipv6_works != 2) {
if (data.ipv6_works == 0) {
links += "<br></br><b><font color=red><%:IPV6 53 Port Redirect Failure%></font></b>"
}
}
} else if (data.redirect == 2) {
if (data.dnsmasq_forward == 0) {
links += "<br></br><b><font color=red><%:Dnsmasq Forwared To Smartdns Failure%></font></b>"
}
}
}
} else {
links = '<b><font color=red>SmartDNS - <%:NOT RUNNING%></font></b>';
}
tb.innerHTML = links;
}
}
);
//]]>
</script>
<style>.mar-10 {margin-left: 50px; margin-right: 10px;}</style>
<fieldset class="cbi-section">
<p id="smartdns_status">
<em><%:Collecting data...%></em>
</p>
</fieldset>

View File

@ -1,459 +0,0 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2021-02-08 04:46+0000\n"
"Last-Translator: Zocker1012 <julian.schoemer.1997@gmail.com>\n"
"Language-Team: German <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationssmartdns/de/>\n"
"Language: de\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.5-dev\n"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425
msgid "Additional Args for upstream dns servers"
msgstr "Zusätzliche Argumente für Upstream-DNS-Server"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:424
msgid "Additional Server Args"
msgstr "Zusätzliche Server Parameter"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:331
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431
msgid "Advanced Settings"
msgstr "Erweiterte Einstellungen"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202
msgid ""
"Attempts to serve old responses from cache with a TTL of 0 in the response "
"without waiting for the actual resolution to finish."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216
msgid "Cache Size"
msgstr "Zwischenspeichergröße"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147
msgid "Collecting data ..."
msgstr "Ermittle Daten..."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452
msgid ""
"Configure IP blacklists that will be filtered from the results of specific "
"DNS server."
msgstr ""
"Definition einer IP basierten Blockierliste, welche Ergebnisse eines "
"spezifischen DNS Servers filtert."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:158
msgid "Custom Settings"
msgstr "Benutzerdefinierte Einstellungen"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:340
msgid "DNS Server Name"
msgstr "DNS Server Name"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:368
msgid ""
"DNS Server group belongs to, used with nameserver, such as office, home."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:343
msgid "DNS Server ip"
msgstr "DNS-Server IP"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:348
msgid "DNS Server port"
msgstr "DNS-Server-Port"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:357
msgid "DNS Server type"
msgstr "DNS-Server Typ"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216
msgid "DNS domain result cache size"
msgstr "DNS Domain Ergebnisspeichergröße"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96
msgid "Dnsmasq Forwared To Smartdns Failure"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:264
msgid "Do not check speed."
msgstr "Geschwindigkeit nicht testen."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:434
msgid "Domain Address"
msgstr "Domain Adresse"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:220
msgid "Domain TTL"
msgstr "Domain TTL"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:233
msgid "Domain TTL Max"
msgstr "Domain TTL Max"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224
msgid "Domain TTL Min"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:195
msgid "Domain prefetch"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:476
msgid "Donate"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:475
msgid "Donate to smartdns"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:189
msgid "Dual-stack IP Selection"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:238
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:334
msgid "Enable"
msgstr "Aktivieren"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:190
msgid "Enable IP selection between IPV4 and IPV6"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:184
msgid "Enable IPV6 DNS Server"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:179
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:251
msgid "Enable TCP DNS Server"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196
msgid "Enable domain prefetch, accelerate domain response speed."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:239
msgid "Enable or disable second DNS server."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161
msgid "Enable or disable smartdns server"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:378
msgid "Filtering IP with blacklist"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303
msgid "Force AAAA SOA"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303
msgid "Force AAAA SOA."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:156
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:330
msgid "General Settings"
msgstr "Allgemeine Einstellungen"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:319
msgid "Generate Coredump"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:320
msgid ""
"Generate Coredump file when smartdns crash, coredump file is located at /tmp/"
"smartdns.xxx.core."
msgstr ""
#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3
msgid "Grant access to LuCI app smartdns"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:404
msgid "HTTP Host"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:435
msgid "IP Blacklist"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377
msgid "IP Blacklist Filtering"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:104
msgid "IPV4 53 Port Redirect Failure"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:110
msgid "IPV6 53 Port Redirect Failure"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:184
msgid "IPV6 Server"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:463
msgid "If you like this software, please buy me a cup of coffee."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:244
msgid "Local Port"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234
msgid "Maximum TTL for all domain result."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:225
msgid "Minimum TTL for all domain result."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:87
msgid "NOT RUNNING"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:257
msgid "Query DNS through specific dns server group, such as office, home."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:85
msgid "RUNNING"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:207
msgid "Redirect"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:211
msgid "Redirect 53 port to SmartDNS"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210
msgid "Run as dnsmasq upstream server"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:157
msgid "Second Server Settings"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:201
msgid "Serve expired"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:256
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:368
msgid "Server Group"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:166
msgid "Server Name"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:434
msgid "Set Specific domain ip address."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:435
msgid "Set Specific ip blacklist."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:385
msgid "Set TLS hostname to verify."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:405
msgid ""
"Set the HTTP host used for the query. Use this parameter when the host of "
"the URL address is an IP address."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:395
msgid "Sets the server name indication for query."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153
msgid "Settings"
msgstr "Einstellungen"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:269
msgid "Skip Address Rules"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:298
msgid "Skip Cache"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:298
msgid "Skip Cache."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:292
msgid "Skip Dualstack Selection"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:293
msgid "Skip Dualstack Selection."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:281
msgid "Skip Ipset Rule"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:275
msgid "Skip Nameserver Rule"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:287
msgid "Skip SOA Address Rule"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:288
msgid "Skip SOA address rules."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:263
msgid "Skip Speed Check"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:270
msgid "Skip address rules."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282
msgid "Skip ipset rules."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:276
msgid "Skip nameserver rules."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:129
#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3
msgid "SmartDNS"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:130
msgid "SmartDNS Server"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131
msgid ""
"SmartDNS is a local high-performance DNS server, supports finding fastest "
"IP, supports ad filtering, and supports avoiding DNS poisoning."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:467
msgid "SmartDNS official website"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:207
msgid "SmartDNS redirect mode"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:244
msgid "Smartdns local server port"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:166
msgid "Smartdns server name"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:439
msgid ""
"Specify an IP address to return for any host in the given domains, Queries "
"in the domains are never forwarded and always replied to with the specified "
"IP address which may be IPv4 or IPv6."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:179
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:251
msgid "TCP Server"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384
msgid "TLS Hostname Verify"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:394
msgid "TLS SNI name"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:413
msgid "TLS SPKI Pinning"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:220
msgid "TTL for all domain result."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:462
msgid "Technical Support"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324
msgid "Upstream Servers"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:325
msgid ""
"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS "
"servers, including multiple foreign DNS servers."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414
msgid ""
"Used to verify the validity of the TLS server, The value is Base64 encoded "
"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not "
"verified."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:362
msgid "https"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:343
msgid "ip"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209
msgid "none"
msgstr "kein"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:468
msgid "open website"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:348
msgid "port"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:309
msgid "smartdns custom settings"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:360
msgid "tcp"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:361
msgid "tls"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:357
msgid "type"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:359
msgid "udp"
msgstr ""

View File

@ -1,517 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2020-07-02 17:20-0300\n"
"PO-Revision-Date: 2021-08-10 19:02+0000\n"
"Last-Translator: Franco Castillo <castillofrancodamian@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationssmartdns/es/>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.8-dev\n"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425
msgid "Additional Args for upstream dns servers"
msgstr "Args adicionales para servidores DNS aguas arriba"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:424
msgid "Additional Server Args"
msgstr "Args adicionales del servidor"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:331
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431
msgid "Advanced Settings"
msgstr "Configuración avanzada"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202
msgid ""
"Attempts to serve old responses from cache with a TTL of 0 in the response "
"without waiting for the actual resolution to finish."
msgstr ""
"Intenta servir respuestas antiguas de la memoria caché con un TTL de 0 en la "
"respuesta sin esperar a que finalice la resolución real."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216
msgid "Cache Size"
msgstr "Tamaño del caché"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147
msgid "Collecting data ..."
msgstr "Recolectando datos..."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452
msgid ""
"Configure IP blacklists that will be filtered from the results of specific "
"DNS server."
msgstr ""
"Configure listas negras de IP que se filtrarán de los resultados de un "
"servidor DNS específico."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:158
msgid "Custom Settings"
msgstr "Configuraciones personalizadas"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:340
msgid "DNS Server Name"
msgstr "Nombre del servidor DNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:368
msgid ""
"DNS Server group belongs to, used with nameserver, such as office, home."
msgstr ""
"El grupo del servidor DNS pertenece a, usado con el servidor de nombres, "
"como la oficina, el hogar."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:343
msgid "DNS Server ip"
msgstr "IP del servidor DNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:348
msgid "DNS Server port"
msgstr "Puerto del servidor DNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:357
msgid "DNS Server type"
msgstr "Tipo de servidor DNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216
msgid "DNS domain result cache size"
msgstr "Tamaño del caché de resultados del dominio DNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96
msgid "Dnsmasq Forwared To Smartdns Failure"
msgstr "Fallo en el reenvío de dnsmasq a SmartDNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:264
msgid "Do not check speed."
msgstr "No verifique la velocidad."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:434
msgid "Domain Address"
msgstr "Dirección de dominio"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:220
msgid "Domain TTL"
msgstr "TTL del dominio"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:233
msgid "Domain TTL Max"
msgstr "TTL Máx. del dominio"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224
msgid "Domain TTL Min"
msgstr "TTL Mín. del dominio"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:195
msgid "Domain prefetch"
msgstr "Prebúsqueda de dominios"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:476
msgid "Donate"
msgstr "Donar"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:475
msgid "Donate to smartdns"
msgstr "Donar a smartdns"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:189
msgid "Dual-stack IP Selection"
msgstr "Selección de IP de doble pila"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:238
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:334
msgid "Enable"
msgstr "Activar"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:190
msgid "Enable IP selection between IPV4 and IPV6"
msgstr "Activar la selección de IP entre IPv4 e IPv6"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:184
msgid "Enable IPV6 DNS Server"
msgstr "Activar servidor DNS IPv6"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:179
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:251
msgid "Enable TCP DNS Server"
msgstr "Activar el servidor DNS TCP"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196
msgid "Enable domain prefetch, accelerate domain response speed."
msgstr ""
"Active la captación previa del dominio, acelere la velocidad de respuesta "
"del dominio."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:239
msgid "Enable or disable second DNS server."
msgstr "Activar o desactivar el segundo servidor DNS."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161
msgid "Enable or disable smartdns server"
msgstr "Activar o desactivar el servidor smartdns"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:378
msgid "Filtering IP with blacklist"
msgstr "Filtrado de IP con lista negra"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303
msgid "Force AAAA SOA"
msgstr "Forzar AAAA SOA"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303
msgid "Force AAAA SOA."
msgstr "Forzar AAAA SOA."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:156
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:330
msgid "General Settings"
msgstr "Configuración general"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:319
msgid "Generate Coredump"
msgstr "Generar Coredump"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:320
msgid ""
"Generate Coredump file when smartdns crash, coredump file is located at /tmp/"
"smartdns.xxx.core."
msgstr ""
"Genere el archivo Coredump cuando smartdns falla, el archivo coredump se "
"encuentra en /tmp/smartdns.xxx.core."
#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3
msgid "Grant access to LuCI app smartdns"
msgstr "Conceder acceso a la aplicación LuCI smartdns"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:404
msgid "HTTP Host"
msgstr "Host HTTP"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:435
msgid "IP Blacklist"
msgstr "Lista negra de IP"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377
msgid "IP Blacklist Filtering"
msgstr "Filtrado de la lista negra de IP"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:104
msgid "IPV4 53 Port Redirect Failure"
msgstr "Error de reenvío de puerto IPv4 53"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:110
msgid "IPV6 53 Port Redirect Failure"
msgstr "Error de reenvío de puerto IPv6 53"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:184
msgid "IPV6 Server"
msgstr "Servidor IPv6"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:463
msgid "If you like this software, please buy me a cup of coffee."
msgstr "Si le gusta este software, cómpreme una taza de café."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:244
msgid "Local Port"
msgstr "Puerto local"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234
msgid "Maximum TTL for all domain result."
msgstr "TTL máximo para todos los resultados de dominio."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:225
msgid "Minimum TTL for all domain result."
msgstr "TTL mínimo para todos los resultados de dominio."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:87
#, fuzzy
msgid "NOT RUNNING"
msgstr "NO SE ESTÁ EJECUTANDO"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:257
msgid "Query DNS through specific dns server group, such as office, home."
msgstr ""
"Consulta DNS a través de un grupo de servidores dns específico, como "
"oficina, hogar."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:85
msgid "RUNNING"
msgstr "EJECUTANDO"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:207
msgid "Redirect"
msgstr "Redirigir"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:211
msgid "Redirect 53 port to SmartDNS"
msgstr "Redirigir el puerto 53 a SmartDNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210
msgid "Run as dnsmasq upstream server"
msgstr "Ejecutar como servidor dnsmasq aguas arriba"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:157
msgid "Second Server Settings"
msgstr "Segunda configuración del servidor"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:201
msgid "Serve expired"
msgstr "Servir expirado"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:256
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:368
msgid "Server Group"
msgstr "Grupo de servidores"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:166
msgid "Server Name"
msgstr "Nombre del servidor"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:434
msgid "Set Specific domain ip address."
msgstr "Establecer dirección IP de dominio específico."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:435
msgid "Set Specific ip blacklist."
msgstr "Establecer lista negra de IP específica."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:385
msgid "Set TLS hostname to verify."
msgstr "Establezca el nombre de host TLS para verificar."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:405
msgid ""
"Set the HTTP host used for the query. Use this parameter when the host of "
"the URL address is an IP address."
msgstr ""
"Establezca el host HTTP utilizado para la consulta. Use este parámetro "
"cuando el host de la dirección URL sea una dirección IP."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:395
msgid "Sets the server name indication for query."
msgstr "Establece la indicación del nombre del servidor para la consulta."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153
msgid "Settings"
msgstr "Configuraciones"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:269
msgid "Skip Address Rules"
msgstr "Omitir reglas de dirección"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:298
msgid "Skip Cache"
msgstr "Omitir caché"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:298
msgid "Skip Cache."
msgstr "Omitir caché."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:292
msgid "Skip Dualstack Selection"
msgstr "Omitir selección de pila doble"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:293
msgid "Skip Dualstack Selection."
msgstr "Omitir selección de pila doble."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:281
msgid "Skip Ipset Rule"
msgstr "Omitir regla de Ipset"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:275
msgid "Skip Nameserver Rule"
msgstr "Omitir regla de servidor de nombres"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:287
msgid "Skip SOA Address Rule"
msgstr "Omitir regla de dirección SOA"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:288
msgid "Skip SOA address rules."
msgstr "Omita las reglas de dirección SOA."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:263
msgid "Skip Speed Check"
msgstr "Omitir comprobación de velocidad"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:270
msgid "Skip address rules."
msgstr "Omitir reglas de dirección."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282
msgid "Skip ipset rules."
msgstr "Omitir las reglas de ipset."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:276
msgid "Skip nameserver rules."
msgstr "Omitir las reglas del servidor de nombres."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:129
#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3
msgid "SmartDNS"
msgstr "SmartDNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:130
msgid "SmartDNS Server"
msgstr "Servidor SmartDNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131
msgid ""
"SmartDNS is a local high-performance DNS server, supports finding fastest "
"IP, supports ad filtering, and supports avoiding DNS poisoning."
msgstr ""
"SmartDNS es un servidor DNS local de alto rendimiento, admite la búsqueda de "
"la IP más rápida, admite el filtrado de anuncios y evita el envenenamiento "
"de DNS."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:467
msgid "SmartDNS official website"
msgstr "Sitio web oficial de SmartDNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:207
msgid "SmartDNS redirect mode"
msgstr "Modo de redireccionamiento SmartDNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:244
msgid "Smartdns local server port"
msgstr "Puerto del servidor local Smartdns"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:166
msgid "Smartdns server name"
msgstr "Nombre del servidor de Smartdns"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:439
msgid ""
"Specify an IP address to return for any host in the given domains, Queries "
"in the domains are never forwarded and always replied to with the specified "
"IP address which may be IPv4 or IPv6."
msgstr ""
"Especifique una dirección IP para devolver para cualquier host en los "
"dominios dados, las consultas en los dominios nunca se reenvían y siempre se "
"responden con la dirección IP especificada que puede ser IPv4 o IPv6."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:179
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:251
msgid "TCP Server"
msgstr "Servidor TCP"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384
msgid "TLS Hostname Verify"
msgstr "Verificar nombre de host TLS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:394
msgid "TLS SNI name"
msgstr "Nombre SNI de TLS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:413
msgid "TLS SPKI Pinning"
msgstr "TLS SPKI Anclado"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:220
msgid "TTL for all domain result."
msgstr "TTL para todos los resultados de dominio."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:462
msgid "Technical Support"
msgstr "Soporte técnico"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324
msgid "Upstream Servers"
msgstr "Servidores aguas arriba"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:325
msgid ""
"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS "
"servers, including multiple foreign DNS servers."
msgstr ""
"Servidores aguas arriba, soporte UDP, protocolo TCP. Configure varios "
"servidores DNS, incluidos varios servidores DNS externos."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414
msgid ""
"Used to verify the validity of the TLS server, The value is Base64 encoded "
"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not "
"verified."
msgstr ""
"Se utiliza para verificar la validez del servidor TLS. El valor es la huella "
"digital SPKI codificada en Base64, y se deja en blanco para indicar que no "
"se verifica la validez de TLS."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:362
msgid "https"
msgstr "https"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:343
msgid "ip"
msgstr "ip"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209
msgid "none"
msgstr "ninguno"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:468
msgid "open website"
msgstr "abrir sitio web"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:348
msgid "port"
msgstr "puerto"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:309
msgid "smartdns custom settings"
msgstr "configuraciones personalizadas de smartdns"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:360
msgid "tcp"
msgstr "tcp"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:361
msgid "tls"
msgstr "tls"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:357
msgid "type"
msgstr "tipo"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:359
msgid "udp"
msgstr "udp"
#~ msgid "DNS Server group belongs to,"
#~ msgstr "El grupo del servidor DNS pertenece a,"
#~ msgid ""
#~ "SmartDNS is a local high-performance DNS server, supports finding fastest "
#~ "IP,"
#~ msgstr ""
#~ "SmartDNS es un servidor DNS local de alto rendimiento, admite la búsqueda "
#~ "de IP más rápida,"
#~ msgid ""
#~ "Specify an IP address to return for any host in the given domains, "
#~ "Queries in the domains are never"
#~ msgstr ""
#~ "Especifique una dirección IP para devolver para cualquier host en los "
#~ "dominios dados, las consultas en los dominios nunca son"
#~ msgid ""
#~ "Upstream Servers, support UDP, TCP protocol. Please configure multiple "
#~ "DNS servers,"
#~ msgstr ""
#~ "Servidores aguas arriba, soporte UDP, protocolo TCP. Configura varios "
#~ "servidores DNS,"
#~ msgid ""
#~ "Used to verify the validity of the TLS server, The value is Base64 "
#~ "encoded SPKI fingerprint,"
#~ msgstr ""
#~ "Se utiliza para verificar la validez del servidor TLS. El valor es la "
#~ "huella digital SPKI codificada en Base64,"

View File

@ -1,483 +0,0 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2021-07-22 08:04+0000\n"
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"openwrt/luciapplicationssmartdns/pt_BR/>\n"
"Language: pt-BR\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.7.2-dev\n"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425
msgid "Additional Args for upstream dns servers"
msgstr "Args adicionais para servidores dns upstream"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:424
msgid "Additional Server Args"
msgstr "Args Adicionais Sobre o Servidor"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:331
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431
msgid "Advanced Settings"
msgstr "Configurações Avançadas"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202
msgid ""
"Attempts to serve old responses from cache with a TTL of 0 in the response "
"without waiting for the actual resolution to finish."
msgstr ""
"Tentativas de servir respostas antigas do cache com um TTL de 0 na resposta "
"sem esperar o término da resolução real."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216
msgid "Cache Size"
msgstr "Tamanho do Cache"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147
msgid "Collecting data ..."
msgstr "Coletando dados ..."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452
msgid ""
"Configure IP blacklists that will be filtered from the results of specific "
"DNS server."
msgstr ""
"Configure as listas negras dos IP que serão filtradas a partir dos "
"resultados de um servidor DNS específico."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:158
msgid "Custom Settings"
msgstr "Configurações Personalizadas"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:340
msgid "DNS Server Name"
msgstr "Nome do Servidor DNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:368
msgid ""
"DNS Server group belongs to, used with nameserver, such as office, home."
msgstr ""
"O grupo do Servidor DNS pertence a, usado em conjunto com o nameserver (nome "
"do servidor), assim como em office, em casa."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:343
msgid "DNS Server ip"
msgstr "Endereço IP do Servidor DNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:348
msgid "DNS Server port"
msgstr "Porta do Servidor DNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:357
msgid "DNS Server type"
msgstr "Tipo do Servidor DNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216
msgid "DNS domain result cache size"
msgstr "Tamanho do cache para o resultado do domínio DNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96
msgid "Dnsmasq Forwared To Smartdns Failure"
msgstr "Encaminhamento do Dnsmasq para Falha do Smartdns"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:264
msgid "Do not check speed."
msgstr "Não verifique a velocidade."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:434
msgid "Domain Address"
msgstr "Endereço do domínio"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:220
msgid "Domain TTL"
msgstr "TTL do domínio"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:233
msgid "Domain TTL Max"
msgstr "TTL Max. do Domínio"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224
msgid "Domain TTL Min"
msgstr "TTL Min. do Domínio"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:195
msgid "Domain prefetch"
msgstr "Pré-aquisição do Domínio"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:476
msgid "Donate"
msgstr "Doe"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:475
msgid "Donate to smartdns"
msgstr "Doar para o smartdns"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:189
msgid "Dual-stack IP Selection"
msgstr "Seleção IP com pilha dupla"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:238
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:334
msgid "Enable"
msgstr "Ativar"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:190
msgid "Enable IP selection between IPV4 and IPV6"
msgstr "Ative a seleção do IP entre o IPV4 e o IPV6"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:184
msgid "Enable IPV6 DNS Server"
msgstr "Ativar o Servidor IPV6 do DNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:179
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:251
msgid "Enable TCP DNS Server"
msgstr "Ative o TCP do servidor DNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196
msgid "Enable domain prefetch, accelerate domain response speed."
msgstr ""
"Ative a pré-aquisição do domínio, acelera a velocidade de resposta do "
"domínio."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:239
msgid "Enable or disable second DNS server."
msgstr "Ative ou desative o segundo servidor DNS."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161
msgid "Enable or disable smartdns server"
msgstr "Ative ou desative o servidor smartdns"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:378
msgid "Filtering IP with blacklist"
msgstr "Filtrando o IP com um alista negra"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303
msgid "Force AAAA SOA"
msgstr "Impor AAAA SOA"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303
msgid "Force AAAA SOA."
msgstr "Impor AAAA SOA."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:156
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:330
msgid "General Settings"
msgstr "Configurações gerais"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:319
msgid "Generate Coredump"
msgstr "Gerar Coredump"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:320
msgid ""
"Generate Coredump file when smartdns crash, coredump file is located at /tmp/"
"smartdns.xxx.core."
msgstr ""
"Gere um arquivo Coredump quando o smartdns falhar, o arquivo coredump está "
"localizado em /tmp/smartdns.xxx.core."
#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3
msgid "Grant access to LuCI app smartdns"
msgstr "Conceda acesso ao LuCI app smartdns"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:404
msgid "HTTP Host"
msgstr "Host HTTP"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:435
msgid "IP Blacklist"
msgstr "Lista negra de IPs"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377
msgid "IP Blacklist Filtering"
msgstr "Filtragem da Lista Negra dos IPs"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:104
msgid "IPV4 53 Port Redirect Failure"
msgstr "Falha no Redirecionamento da Porta IPV4 53"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:110
msgid "IPV6 53 Port Redirect Failure"
msgstr "Falha no Redirecionamento da Porta IPV6 53"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:184
msgid "IPV6 Server"
msgstr "Servidor IPV6"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:463
msgid "If you like this software, please buy me a cup of coffee."
msgstr "Caso goste deste software, por favor, me pague uma xícara de café."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:244
msgid "Local Port"
msgstr "Porta Local"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234
msgid "Maximum TTL for all domain result."
msgstr "TTL máximo para todos os resultados do domínio."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:225
msgid "Minimum TTL for all domain result."
msgstr "TTL mínimo para todos os resultados do domínio."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:87
msgid "NOT RUNNING"
msgstr "NÃO ESTÁ EM EXECUÇÃO"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:257
msgid "Query DNS through specific dns server group, such as office, home."
msgstr ""
"Consulta o DNS através de um grupo específico de servidores dns, como "
"office, casa."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:85
msgid "RUNNING"
msgstr "EM EXECUÇÃO"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:207
msgid "Redirect"
msgstr "Redirecione"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:211
msgid "Redirect 53 port to SmartDNS"
msgstr "Redirecionar a porta 53 para o SmartDNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210
msgid "Run as dnsmasq upstream server"
msgstr "Executar como servidor dnsmasq upstream"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:157
msgid "Second Server Settings"
msgstr "Configurações do Segundo Servidor"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:201
msgid "Serve expired"
msgstr "O servir expirou"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:256
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:368
msgid "Server Group"
msgstr "Grupo dos Servidores"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:166
msgid "Server Name"
msgstr "Nome do Servidor"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:434
msgid "Set Specific domain ip address."
msgstr "Defina um endereço IP específico para o domínio."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:435
msgid "Set Specific ip blacklist."
msgstr "Defina um IP específico para a lista negra."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:385
msgid "Set TLS hostname to verify."
msgstr "Defina o nome do host TLS para verificar."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:405
msgid ""
"Set the HTTP host used for the query. Use this parameter when the host of "
"the URL address is an IP address."
msgstr ""
"Defina o host HTTP utilizado para a consulta. Use este parâmetro quando o "
"host da URL do endereço for um endereço IP."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:395
msgid "Sets the server name indication for query."
msgstr "Define a indicação do nome do servidor para consulta."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153
msgid "Settings"
msgstr "Configurações"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:269
msgid "Skip Address Rules"
msgstr "Ignora as Regras do Endereço"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:298
msgid "Skip Cache"
msgstr "Ignora a Cache"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:298
msgid "Skip Cache."
msgstr "Ignora a Cache."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:292
msgid "Skip Dualstack Selection"
msgstr "Ignora a Seleção da Pilha Dupla"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:293
msgid "Skip Dualstack Selection."
msgstr "Ignora a Seleção da Pilha Dupla."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:281
msgid "Skip Ipset Rule"
msgstr "Ignora a Regra Ipset"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:275
msgid "Skip Nameserver Rule"
msgstr "Ignora a Regra do Servidor de Nomes"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:287
msgid "Skip SOA Address Rule"
msgstr "Ignorar a Regra do Endereço SOA"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:288
msgid "Skip SOA address rules."
msgstr "Ignorar a Regra do Endereço SOA."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:263
msgid "Skip Speed Check"
msgstr "Ignorar a Verificação da Velocidade"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:270
msgid "Skip address rules."
msgstr "Ignora as Regras do Endereço."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282
msgid "Skip ipset rules."
msgstr "Ignore as regras do ipset."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:276
msgid "Skip nameserver rules."
msgstr "Ignora a regra do servidor de nomes."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:129
#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3
msgid "SmartDNS"
msgstr "SmartDNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:130
msgid "SmartDNS Server"
msgstr "Servidor SmartDNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131
msgid ""
"SmartDNS is a local high-performance DNS server, supports finding fastest "
"IP, supports ad filtering, and supports avoiding DNS poisoning."
msgstr ""
"O SmartDNS é um servidor DNS local de alto desempenho, é compatível com a "
"localização rápida do IP, suporta filtragem de anúncios e previne o "
"envenenamento do DNS."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:467
msgid "SmartDNS official website"
msgstr "Site oficial do SmartDNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:207
msgid "SmartDNS redirect mode"
msgstr "SmartDNS, modo de redirecionamento"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:244
msgid "Smartdns local server port"
msgstr "Porta do servidor local Smartdns"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:166
msgid "Smartdns server name"
msgstr "Nome do servidor Smartdns"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:439
msgid ""
"Specify an IP address to return for any host in the given domains, Queries "
"in the domains are never forwarded and always replied to with the specified "
"IP address which may be IPv4 or IPv6."
msgstr ""
"Especifique um endereço IP para retornar para qualquer host nos domínios "
"determinados, as consultas nos domínios nunca são encaminhadas e sempre "
"respondidas de forma especificada com o endereço IP que tanto pode ser IPv4 "
"ou IPv6."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:179
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:251
msgid "TCP Server"
msgstr "Servidor TCP"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384
msgid "TLS Hostname Verify"
msgstr "Verificar o Nome do Host TLS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:394
msgid "TLS SNI name"
msgstr "Nome TLS SNI"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:413
msgid "TLS SPKI Pinning"
msgstr "Fixação TLS SPKI"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:220
msgid "TTL for all domain result."
msgstr "O TTL para todos os resultados do domínio."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:462
msgid "Technical Support"
msgstr "Suporte Técnico"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324
msgid "Upstream Servers"
msgstr "Servidores upstream"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:325
msgid ""
"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS "
"servers, including multiple foreign DNS servers."
msgstr ""
"Servidores upstream, suporte UDP, protocolo TCP. Configure os vários "
"servidores DNS, incluindo vários servidores DNS externos."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414
msgid ""
"Used to verify the validity of the TLS server, The value is Base64 encoded "
"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not "
"verified."
msgstr ""
"Utilizado para verificar a validade do servidor TLS, o valor é a impressão "
"digital SPKI codificada com base64, deixando em branco para indicar que a "
"validade do TLS não será verificada."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:362
msgid "https"
msgstr "https"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:343
msgid "ip"
msgstr "IP"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209
msgid "none"
msgstr "nenhum"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:468
msgid "open website"
msgstr "abrir o website"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:348
msgid "port"
msgstr "porta"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:309
msgid "smartdns custom settings"
msgstr "configurações personalizadas do smartdns"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:360
msgid "tcp"
msgstr "tcp"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:361
msgid "tls"
msgstr "tls"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:357
msgid "type"
msgstr "tipo"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:359
msgid "udp"
msgstr "udp"

View File

@ -1,448 +0,0 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425
msgid "Additional Args for upstream dns servers"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:424
msgid "Additional Server Args"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:331
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431
msgid "Advanced Settings"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202
msgid ""
"Attempts to serve old responses from cache with a TTL of 0 in the response "
"without waiting for the actual resolution to finish."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216
msgid "Cache Size"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147
msgid "Collecting data ..."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452
msgid ""
"Configure IP blacklists that will be filtered from the results of specific "
"DNS server."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:158
msgid "Custom Settings"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:340
msgid "DNS Server Name"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:368
msgid ""
"DNS Server group belongs to, used with nameserver, such as office, home."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:343
msgid "DNS Server ip"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:348
msgid "DNS Server port"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:357
msgid "DNS Server type"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216
msgid "DNS domain result cache size"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96
msgid "Dnsmasq Forwared To Smartdns Failure"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:264
msgid "Do not check speed."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:434
msgid "Domain Address"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:220
msgid "Domain TTL"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:233
msgid "Domain TTL Max"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224
msgid "Domain TTL Min"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:195
msgid "Domain prefetch"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:476
msgid "Donate"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:475
msgid "Donate to smartdns"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:189
msgid "Dual-stack IP Selection"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:238
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:334
msgid "Enable"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:190
msgid "Enable IP selection between IPV4 and IPV6"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:184
msgid "Enable IPV6 DNS Server"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:179
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:251
msgid "Enable TCP DNS Server"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196
msgid "Enable domain prefetch, accelerate domain response speed."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:239
msgid "Enable or disable second DNS server."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161
msgid "Enable or disable smartdns server"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:378
msgid "Filtering IP with blacklist"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303
msgid "Force AAAA SOA"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303
msgid "Force AAAA SOA."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:156
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:330
msgid "General Settings"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:319
msgid "Generate Coredump"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:320
msgid ""
"Generate Coredump file when smartdns crash, coredump file is located at /tmp/"
"smartdns.xxx.core."
msgstr ""
#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3
msgid "Grant access to LuCI app smartdns"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:404
msgid "HTTP Host"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:435
msgid "IP Blacklist"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377
msgid "IP Blacklist Filtering"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:104
msgid "IPV4 53 Port Redirect Failure"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:110
msgid "IPV6 53 Port Redirect Failure"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:184
msgid "IPV6 Server"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:463
msgid "If you like this software, please buy me a cup of coffee."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:244
msgid "Local Port"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234
msgid "Maximum TTL for all domain result."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:225
msgid "Minimum TTL for all domain result."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:87
msgid "NOT RUNNING"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:257
msgid "Query DNS through specific dns server group, such as office, home."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:85
msgid "RUNNING"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:207
msgid "Redirect"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:211
msgid "Redirect 53 port to SmartDNS"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210
msgid "Run as dnsmasq upstream server"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:157
msgid "Second Server Settings"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:201
msgid "Serve expired"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:256
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:368
msgid "Server Group"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:166
msgid "Server Name"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:434
msgid "Set Specific domain ip address."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:435
msgid "Set Specific ip blacklist."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:385
msgid "Set TLS hostname to verify."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:405
msgid ""
"Set the HTTP host used for the query. Use this parameter when the host of "
"the URL address is an IP address."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:395
msgid "Sets the server name indication for query."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153
msgid "Settings"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:269
msgid "Skip Address Rules"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:298
msgid "Skip Cache"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:298
msgid "Skip Cache."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:292
msgid "Skip Dualstack Selection"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:293
msgid "Skip Dualstack Selection."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:281
msgid "Skip Ipset Rule"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:275
msgid "Skip Nameserver Rule"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:287
msgid "Skip SOA Address Rule"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:288
msgid "Skip SOA address rules."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:263
msgid "Skip Speed Check"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:270
msgid "Skip address rules."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282
msgid "Skip ipset rules."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:276
msgid "Skip nameserver rules."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:129
#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3
msgid "SmartDNS"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:130
msgid "SmartDNS Server"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131
msgid ""
"SmartDNS is a local high-performance DNS server, supports finding fastest "
"IP, supports ad filtering, and supports avoiding DNS poisoning."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:467
msgid "SmartDNS official website"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:207
msgid "SmartDNS redirect mode"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:244
msgid "Smartdns local server port"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:166
msgid "Smartdns server name"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:439
msgid ""
"Specify an IP address to return for any host in the given domains, Queries "
"in the domains are never forwarded and always replied to with the specified "
"IP address which may be IPv4 or IPv6."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:179
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:251
msgid "TCP Server"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384
msgid "TLS Hostname Verify"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:394
msgid "TLS SNI name"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:413
msgid "TLS SPKI Pinning"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:220
msgid "TTL for all domain result."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:462
msgid "Technical Support"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324
msgid "Upstream Servers"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:325
msgid ""
"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS "
"servers, including multiple foreign DNS servers."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414
msgid ""
"Used to verify the validity of the TLS server, The value is Base64 encoded "
"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not "
"verified."
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:362
msgid "https"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:343
msgid "ip"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209
msgid "none"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:468
msgid "open website"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:348
msgid "port"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:309
msgid "smartdns custom settings"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:360
msgid "tcp"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:361
msgid "tls"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:357
msgid "type"
msgstr ""
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:359
msgid "udp"
msgstr ""

View File

@ -1 +0,0 @@
zh_Hans

View File

@ -0,0 +1,293 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8\n"
msgid "SmartDNS"
msgstr "SmartDNS"
msgid "SmartDNS is a local high-performance DNS server"
msgstr "SmartDNS是一个本地高性能DNS服务器"
msgid "SmartDNS Server"
msgstr "SmartDNS 服务器"
msgid "SmartDNS is a local high-performance DNS server, supports finding fastest IP, supports ad filtering, and supports avoiding DNS poisoning."
msgstr "SmartDNS是一个本地高性能DNS服务器支持返回最快IP支持广告过滤。"
msgid "Custom Settings"
msgstr "自定义设置"
msgid "General Settings"
msgstr "基本设置"
msgid "Settings"
msgstr "设置"
msgid "Advanced Settings"
msgstr "高级设置"
msgid "Generate Coredump"
msgstr "生成coredump"
msgid "Generate Coredump file when smartdns crash, coredump file is located at /tmp/smartdns.xxx.core."
msgstr "当smartdns异常时生成coredump文件coredump文件在/tmp/smartdns.xxx.core."
msgid "Server Name"
msgstr "服务器名称"
msgid "Smartdns server name"
msgstr "SmartDNS的服务器名称默认为smartdns留空为主机名"
msgid "SmartDNS is a local dns server to find fastest ip."
msgstr "本地高性能服务器,优化网络访问性能。"
msgid "Enable or disable smartdns server"
msgstr "启用或禁用SmartDNS服务"
msgid "Local Port"
msgstr "本地端口"
msgid "Smartdns local server port"
msgstr "SmartDNS本地服务端口"
msgid "IPV4 53 Port Redirect Failure"
msgstr "IPV4 53端口重定向失败"
msgid "IPV6 53 Port Redirect Failure"
msgstr "IPV6 53端口重定向失败"
msgid "Dnsmasq Forwared To Smartdns Failure"
msgstr "重定向dnsmasq到smartdns失败"
msgid "TCP Server"
msgstr "TCP服务器"
msgid "Enable TCP DNS Server"
msgstr "启用TCP服务器"
msgid "IPV6 Server"
msgstr "IPV6服务器"
msgid "Enable IPV6 DNS Server"
msgstr "启用IPV6服务器"
msgid "Dual-stack IP Selection"
msgstr "双栈IP优选"
msgid "Enable IP selection between IPV4 and IPV6"
msgstr "启用或禁用IPV4IPV6间的IP优选策略。"
msgid "Domain prefetch"
msgstr "域名预加载"
msgid "Enable domain prefetch, accelerate domain response speed."
msgstr "启用域名预加载,加速域名响应速度。"
msgid "Serve expired"
msgstr "过期缓存服务"
msgid "Attempts to serve old responses from cache with a TTL of 0 in the response without waiting for the actual resolution to finish."
msgstr "查询性能优化有请求时尝试回应TTL为0的过期记录以避免查询等待。"
msgid "Redirect"
msgstr "重定向"
msgid "SmartDNS redirect mode"
msgstr "SmartDNS 重定向模式"
msgid "Run as dnsmasq upstream server"
msgstr "作为dnsmasq的上游服务器"
msgid "Redirect 53 port to SmartDNS"
msgstr "重定向53端口到SmartDNS"
msgid "Cache Size"
msgstr "缓存大小"
msgid "DNS domain result cache size"
msgstr "缓存DNS的结果缓存大小配置零则不缓存"
msgid "Domain TTL"
msgstr "域名TTL"
msgid "TTL for all domain result."
msgstr "设置所有域名的TTL值"
msgid "Domain TTL Min"
msgstr "域名TTL最小值"
msgid "Minimum TTL for all domain result."
msgstr "设置所有域名的TTL最小值"
msgid "Domain TTL Max"
msgstr "域名TTL最大值"
msgid "Maximum TTL for all domain result."
msgstr "设置所有域名的TTL最大值"
msgid "smartdns custom settings"
msgstr "smartdns 自定义设置,具体配置参数参考指导"
msgid "Second Server Settings"
msgstr "第二DNS服务器"
msgid "Enable or disable second DNS server."
msgstr "是否启用第二DNS服务器。"
msgid "Skip Speed Check"
msgstr "跳过测速"
msgid "Do not check speed."
msgstr "禁用测速。"
msgid "Server Group"
msgstr "服务器组"
msgid "Query DNS through specific dns server group, such as office, home."
msgstr "使用指定服务器组查询比如office, home。"
msgid "Skip Address Rules"
msgstr "跳过address规则"
msgid "Skip address rules."
msgstr "跳过address规则。"
msgid "Skip Nameserver Rule"
msgstr "跳过Nameserver规则"
msgid "Skip nameserver rules."
msgstr "跳过Nameserver规则。"
msgid "Skip Ipset Rule"
msgstr "跳过ipset规则"
msgid "Skip ipset rules."
msgstr "跳过ipset规则。"
msgid "Skip SOA Address Rule"
msgstr "跳过address SOA(#)规则"
msgid "Skip SOA address rules."
msgstr "跳过address SOA(#)规则。"
msgid "Skip Dualstack Selection"
msgstr "跳过双栈优选"
msgid "Skip Dualstack Selection."
msgstr "跳过双栈优选。"
msgid "Skip Cache"
msgstr "跳过cache"
msgid "Skip Cache."
msgstr "跳过cache。"
msgid "Upstream Servers"
msgstr "上游服务器"
msgid "Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS servers, including multiple foreign DNS servers."
msgstr "上游DNS服务器列表支持UDPTCP协议请配置多个上游DNS服务器包括多个国内外服务器"
msgid "DNS Server Name"
msgstr "DNS服务器名称"
msgid "port"
msgstr "端口"
msgid "DNS Server port"
msgstr "DNS服务器端口"
msgid "DNS Server ip"
msgstr "DNS服务器IP"
msgid "type"
msgstr "类型"
msgid "DNS Server type"
msgstr "协议类型"
msgid "Domain Address"
msgstr "域名地址"
msgid "TLS Hostname Verify"
msgstr "校验TLS主机名"
msgid "Set TLS hostname to verify."
msgstr "设置校验TLS主机名。"
msgid "TLS SNI name"
msgstr "TLS SNI名称"
msgid "HTTP Host"
msgstr "HTTP主机"
msgid "Sets the server name indication for query."
msgstr "设置查询时使用的服务器SNI名称。"
msgid "Set the HTTP host used for the query. Use this parameter when the host of the URL address is an IP address."
msgstr "设置查询时使用的HTTP主机当URL地址的host是IP地址时使用此参数。"
msgid "Server Group"
msgstr "服务器组"
msgid "DNS Server group belongs to, used with nameserver, such as office, home."
msgstr "DNS服务器所属组 配合nameserver使用例如officehome。"
msgid "IP Blacklist Filtering"
msgstr "IP黑名单过滤"
msgid "Anti Answer Forgery"
msgstr "反回答伪造"
msgid "Anti answer forgery, if DNS does not work properly after enabling, please turn off this feature"
msgstr "反回答伪造如果启用后DNS工作不正常请关闭此功能。"
msgid "Filtering IP with blacklist"
msgstr "使用IP黑名单过滤"
msgid "TLS SPKI Pinning"
msgstr "TLS SPKI 指纹"
msgid "Used to verify the validity of the TLS server, The value is Base64 encoded SPKI fingerprint, leaving blank to indicate that the validity of TLS is not verified."
msgstr "用于校验TLS服务器的有效性数值为Base64编码的SPKI指纹, 留空表示不验证TLS的合法性"
msgid "Additional Server Args"
msgstr "额外的服务器参数"
msgid "Additional Args for upstream dns servers"
msgstr "额外的上游DNS服务器参数"
msgid "Upstream DNS Server Configuration"
msgstr "上游DNS服务器配置"
msgid "Set Specific domain ip address."
msgstr "指定特定域名的IP地址"
msgid "Specify an IP address to return for any host in the given domains, Queries in the domains are never forwarded and always replied to with the specified IP address which may be IPv4 or IPv6."
msgstr "配置特定域名返回特定的IP地址域名查询将不到上游服务器请求直接返回配置的IP地址可用于广告屏蔽。"
msgid "IP Blacklist"
msgstr "IP黑名单"
msgid "Set Specific ip blacklist."
msgstr "设置IP黑名单列表"
msgid "Configure IP blacklists that will be filtered from the results of specific DNS server."
msgstr "配置需要从指定域名服务器结果过滤的IP黑名单。"
msgid "Technical Support"
msgstr "技术支持"
msgid "If you like this software, please buy me a cup of coffee."
msgstr "如果本软件对你有帮助,请给作者加个蛋。"
msgid "SmartDNS official website"
msgstr "SmartDNS官方网站"
msgid "open website"
msgstr "打开网站"
msgid "Donate to smartdns"
msgstr "捐助smartdns项目"
msgid "Donate"
msgstr "捐助"

View File

@ -0,0 +1 @@
zh-cn

View File

@ -1,464 +0,0 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2021-04-12 08:24+0000\n"
"Last-Translator: xiazhang <xz@xia.plus>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"openwrt/luciapplicationssmartdns/zh_Hans/>\n"
"Language: zh_Hans\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.6-dev\n"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425
msgid "Additional Args for upstream dns servers"
msgstr "额外的上游 DNS 服务器参数"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:424
msgid "Additional Server Args"
msgstr "额外的服务器参数"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:331
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431
msgid "Advanced Settings"
msgstr "高级设置"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202
msgid ""
"Attempts to serve old responses from cache with a TTL of 0 in the response "
"without waiting for the actual resolution to finish."
msgstr "查询性能优化有请求时尝试回应TTL为0的过期记录以避免查询等待。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216
msgid "Cache Size"
msgstr "缓存大小"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147
msgid "Collecting data ..."
msgstr "正在收集数据..."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452
msgid ""
"Configure IP blacklists that will be filtered from the results of specific "
"DNS server."
msgstr "配置需要从指定域名服务器结果过滤的IP黑名单。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:158
msgid "Custom Settings"
msgstr "自定义设置"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:340
msgid "DNS Server Name"
msgstr "DNS服务器名称"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:368
msgid ""
"DNS Server group belongs to, used with nameserver, such as office, home."
msgstr "DNS服务器所属组 配合nameserver使用例如officehome。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:343
msgid "DNS Server ip"
msgstr "DNS服务器IP"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:348
msgid "DNS Server port"
msgstr "DNS服务器端口"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:357
msgid "DNS Server type"
msgstr "协议类型"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216
msgid "DNS domain result cache size"
msgstr "缓存DNS的结果缓存大小配置零则不缓存"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96
msgid "Dnsmasq Forwared To Smartdns Failure"
msgstr "重定向dnsmasq到smartdns失败"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:264
msgid "Do not check speed."
msgstr "禁用测速。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:434
msgid "Domain Address"
msgstr "域名地址"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:220
msgid "Domain TTL"
msgstr "域名TTL"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:233
msgid "Domain TTL Max"
msgstr "域名TTL最大值"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224
msgid "Domain TTL Min"
msgstr "域名TTL最小值"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:195
msgid "Domain prefetch"
msgstr "域名预加载"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:476
msgid "Donate"
msgstr "捐助"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:475
msgid "Donate to smartdns"
msgstr "捐助smartdns项目"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:189
msgid "Dual-stack IP Selection"
msgstr "双栈IP优选"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:238
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:334
msgid "Enable"
msgstr "启用"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:190
msgid "Enable IP selection between IPV4 and IPV6"
msgstr "启用 IPV4 和 IPV6 间的 IP 优选策略"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:184
msgid "Enable IPV6 DNS Server"
msgstr "启用IPV6服务器"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:179
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:251
msgid "Enable TCP DNS Server"
msgstr "启用TCP服务器"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196
msgid "Enable domain prefetch, accelerate domain response speed."
msgstr "启用域名预加载,加速域名响应速度。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:239
msgid "Enable or disable second DNS server."
msgstr "是否启用第二DNS服务器。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161
msgid "Enable or disable smartdns server"
msgstr "启用或禁用SmartDNS服务"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:378
msgid "Filtering IP with blacklist"
msgstr "使用IP黑名单过滤"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303
msgid "Force AAAA SOA"
msgstr "停用IPV6地址解析"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303
msgid "Force AAAA SOA."
msgstr "停用IPV6地址解析。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:156
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:330
msgid "General Settings"
msgstr "常规设置"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:319
msgid "Generate Coredump"
msgstr "生成coredump"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:320
msgid ""
"Generate Coredump file when smartdns crash, coredump file is located at /tmp/"
"smartdns.xxx.core."
msgstr ""
"当smartdns异常时生成coredump文件coredump文件在/tmp/smartdns.xxx.core."
#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3
msgid "Grant access to LuCI app smartdns"
msgstr "授予访问 LuCI 应用 smartdns 的权限"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:404
msgid "HTTP Host"
msgstr "HTTP主机"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:435
msgid "IP Blacklist"
msgstr "IP黑名单"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377
msgid "IP Blacklist Filtering"
msgstr "IP黑名单过滤"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:104
msgid "IPV4 53 Port Redirect Failure"
msgstr "IPV4 53端口重定向失败"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:110
msgid "IPV6 53 Port Redirect Failure"
msgstr "IPV6 53端口重定向失败"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:184
msgid "IPV6 Server"
msgstr "IPV6服务器"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:463
msgid "If you like this software, please buy me a cup of coffee."
msgstr "如果本软件对你有帮助,请给作者加个蛋。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:244
msgid "Local Port"
msgstr "本地端口"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234
msgid "Maximum TTL for all domain result."
msgstr "所有域名的最大 TTL 值。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:225
msgid "Minimum TTL for all domain result."
msgstr "所有域名的最小 TTL 值。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:87
msgid "NOT RUNNING"
msgstr "未运行"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:257
msgid "Query DNS through specific dns server group, such as office, home."
msgstr "使用指定服务器组查询比如office, home。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:85
msgid "RUNNING"
msgstr "运行中"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:207
msgid "Redirect"
msgstr "重定向"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:211
msgid "Redirect 53 port to SmartDNS"
msgstr "重定向53端口到SmartDNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210
msgid "Run as dnsmasq upstream server"
msgstr "作为dnsmasq的上游服务器"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:157
msgid "Second Server Settings"
msgstr "第二DNS服务器"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:201
msgid "Serve expired"
msgstr "缓存过期服务"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:256
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:368
msgid "Server Group"
msgstr "服务器组"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:166
msgid "Server Name"
msgstr "服务器名称"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:434
msgid "Set Specific domain ip address."
msgstr "设置指定域名的IP地址。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:435
msgid "Set Specific ip blacklist."
msgstr "设置指定的 IP 黑名单列表。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:385
msgid "Set TLS hostname to verify."
msgstr "设置校验TLS主机名。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:405
msgid ""
"Set the HTTP host used for the query. Use this parameter when the host of "
"the URL address is an IP address."
msgstr "设置查询时使用的HTTP主机当URL地址的host是IP地址时使用此参数。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:395
msgid "Sets the server name indication for query."
msgstr "设置查询时使用的服务器SNI名称。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153
msgid "Settings"
msgstr "设置"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:269
msgid "Skip Address Rules"
msgstr "跳过address规则"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:298
msgid "Skip Cache"
msgstr "跳过cache"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:298
msgid "Skip Cache."
msgstr "跳过cache。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:292
msgid "Skip Dualstack Selection"
msgstr "跳过双栈优选"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:293
msgid "Skip Dualstack Selection."
msgstr "跳过双栈优选。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:281
msgid "Skip Ipset Rule"
msgstr "跳过ipset规则"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:275
msgid "Skip Nameserver Rule"
msgstr "跳过Nameserver规则"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:287
msgid "Skip SOA Address Rule"
msgstr "跳过address SOA(#)规则"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:288
msgid "Skip SOA address rules."
msgstr "跳过address SOA(#)规则。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:263
msgid "Skip Speed Check"
msgstr "跳过测速"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:270
msgid "Skip address rules."
msgstr "跳过address规则。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282
msgid "Skip ipset rules."
msgstr "跳过ipset规则。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:276
msgid "Skip nameserver rules."
msgstr "跳过Nameserver规则。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:129
#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3
msgid "SmartDNS"
msgstr "SmartDNS"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:130
msgid "SmartDNS Server"
msgstr "SmartDNS 服务器"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131
msgid ""
"SmartDNS is a local high-performance DNS server, supports finding fastest "
"IP, supports ad filtering, and supports avoiding DNS poisoning."
msgstr "SmartDNS是一个本地高性能DNS服务器支持返回最快IP支持广告过滤。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:467
msgid "SmartDNS official website"
msgstr "SmartDNS官方网站"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:207
msgid "SmartDNS redirect mode"
msgstr "SmartDNS 重定向模式"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:244
msgid "Smartdns local server port"
msgstr "SmartDNS本地服务端口"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:166
msgid "Smartdns server name"
msgstr "SmartDNS的服务器名称默认为smartdns留空为主机名"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:439
msgid ""
"Specify an IP address to return for any host in the given domains, Queries "
"in the domains are never forwarded and always replied to with the specified "
"IP address which may be IPv4 or IPv6."
msgstr ""
"配置特定域名返回特定的IP地址域名查询将不到上游服务器请求直接返回配置的IP"
"地址,可用于广告屏蔽。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:179
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:251
msgid "TCP Server"
msgstr "TCP服务器"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384
msgid "TLS Hostname Verify"
msgstr "校验TLS主机名"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:394
msgid "TLS SNI name"
msgstr "TLS SNI名称"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:413
msgid "TLS SPKI Pinning"
msgstr "TLS SPKI 指纹"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:220
msgid "TTL for all domain result."
msgstr "设置所有域名的 TTL 值。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:462
msgid "Technical Support"
msgstr "技术支持"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324
msgid "Upstream Servers"
msgstr "上游服务器"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:325
msgid ""
"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS "
"servers, including multiple foreign DNS servers."
msgstr ""
"上游 DNS 服务器,支持 UDPTCP 协议。请配置多个上游 DNS 服务器,包括多个国内"
"外服务器。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414
msgid ""
"Used to verify the validity of the TLS server, The value is Base64 encoded "
"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not "
"verified."
msgstr ""
"用于校验 TLS 服务器的有效性,数值为 Base64 编码的 SPKI 指纹,留空表示不验证 "
"TLS 的合法性。"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:362
msgid "https"
msgstr "https"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:343
msgid "ip"
msgstr "ip"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209
msgid "none"
msgstr "无"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:468
msgid "open website"
msgstr "打开网站"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:348
msgid "port"
msgstr "端口"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:309
msgid "smartdns custom settings"
msgstr "smartdns 自定义设置,具体配置参数参考指导"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:360
msgid "tcp"
msgstr "tcp"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:361
msgid "tls"
msgstr "tls"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:357
msgid "type"
msgstr "类型"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:359
msgid "udp"
msgstr "udp"

View File

@ -0,0 +1,13 @@
#!/bin/sh
# Copyright 2018-2020 Nick Peng <pymumu@gmail.com>
# Licensed to the public under the GPL V3 License.
uci -q batch <<-EOF >/dev/null
delete ucitrack.@smartdns[-1]
add ucitrack smartdns
set ucitrack.@smartdns[-1].init=smartdns
commit ucitrack
EOF
rm -f /tmp/luci-indexcache
exit 0

View File

@ -1,12 +0,0 @@
{
"admin/services/smartdns": {
"title": "SmartDNS",
"action": {
"type": "view",
"path": "smartdns/smartdns"
},
"depends": {
"uci": { "smartdns": true }
}
}
}

View File

@ -1,23 +0,0 @@
{
"luci-app-smartdns": {
"description": "Grant access to LuCI app smartdns",
"read": {
"file": {
"/etc/smartdns/*": [ "read" ],
"/usr/sbin/iptables -t nat -nL PREROUTING": [ "exec" ],
"/usr/sbin/ip6tables -t nat -nL PREROUTING": [ "exec" ],
"/usr/sbin/smartdns": [ "exec" ]
},
"ubus": {
"service": [ "list" ]
},
"uci": [ "smartdns" ]
},
"write": {
"file": {
"/etc/smartdns/*": [ "write" ]
},
"uci": [ "smartdns" ]
}
}
}