luci: add server flags option and suppress some log
This commit is contained in:
@@ -12,6 +12,9 @@ msgstr "额外规则标识"
|
||||
msgid "Additional Server Args"
|
||||
msgstr "额外的服务器参数"
|
||||
|
||||
msgid "Additional server args, refer to the help description of the bind option."
|
||||
msgstr "额外的服务器参数,参考bind选项的帮助说明。"
|
||||
|
||||
msgid "Advanced Settings"
|
||||
msgstr "高级设置"
|
||||
|
||||
@@ -287,6 +290,18 @@ msgstr "监听在指定的设备上,避免非本地网络的DNS查询请求。
|
||||
msgid "Local Port"
|
||||
msgstr "本地端口"
|
||||
|
||||
msgid "Log Size"
|
||||
msgstr "日志大小"
|
||||
|
||||
msgid "Log Level"
|
||||
msgstr "日志级别"
|
||||
|
||||
msgid "Log Number"
|
||||
msgstr "日志数量"
|
||||
|
||||
msgid "Log File"
|
||||
msgstr "日志文件路径"
|
||||
|
||||
msgid "Marking Packets"
|
||||
msgstr "数据包标记"
|
||||
|
||||
@@ -563,6 +578,9 @@ msgstr "上传域名列表文件"
|
||||
msgid "Upload smartdns config file to /etc/smartdns/conf.d"
|
||||
msgstr "上传配置文件到/etc/smartdns/conf.d"
|
||||
|
||||
msgid "Upstream DNS Server Configuration"
|
||||
msgstr "上游DNS服务器配置"
|
||||
|
||||
msgid "Upstream Servers"
|
||||
msgstr "上游服务器"
|
||||
|
||||
|
||||
@@ -162,7 +162,7 @@ end
|
||||
|
||||
---- Domain prefetch load
|
||||
o = s:taboption("advanced", Flag, "prefetch_domain", translate("Domain prefetch"), translate("Enable domain prefetch, accelerate domain response speed."))
|
||||
o.rmempty = false
|
||||
o.rmempty = true
|
||||
o.default = o.disabled
|
||||
o.cfgvalue = function(...)
|
||||
return Flag.cfgvalue(...) or "0"
|
||||
@@ -183,8 +183,8 @@ o.rempty = true
|
||||
|
||||
---- cache-persist;
|
||||
o = s:taboption("advanced", Flag, "cache_persist", translate("Cache Persist"), translate("Write cache to disk on exit and load on startup."))
|
||||
o.rmempty = false;
|
||||
o.default = o.enabled;
|
||||
o.rmempty = false
|
||||
o.default = o.enabled
|
||||
o.cfgvalue = function(...)
|
||||
return Flag.cfgvalue(...) or "1"
|
||||
end
|
||||
@@ -199,8 +199,8 @@ end
|
||||
|
||||
-- Force AAAA SOA
|
||||
o = s:taboption("advanced", Flag, "force_aaaa_soa", translate("Force AAAA SOA"), translate("Force AAAA SOA."))
|
||||
o.rmempty = false
|
||||
o.default = o.enabled
|
||||
o.rmempty = true
|
||||
o.default = o.disabled
|
||||
o.cfgvalue = function(...)
|
||||
return Flag.cfgvalue(...) or "0"
|
||||
end
|
||||
@@ -268,6 +268,12 @@ uci:foreach("smartdns", "download-file", function(section)
|
||||
o:value(section.name);
|
||||
end)
|
||||
|
||||
---- other args
|
||||
o = s:taboption("advanced", Value, "server_flags", translate("Additional Server Args"), translate("Additional server args, refer to the help description of the bind option."))
|
||||
o.default = ""
|
||||
o.rempty = true
|
||||
o.optional = true
|
||||
|
||||
---- second dns server
|
||||
---- Eanble
|
||||
o = s:taboption("seconddns", Flag, "seconddns_enabled", translate("Enable"), translate("Enable or disable second DNS server."))
|
||||
@@ -297,7 +303,7 @@ 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.rmempty = true
|
||||
o.default = o.disabled
|
||||
o.cfgvalue = function(...)
|
||||
return Flag.cfgvalue(...) or "0"
|
||||
@@ -305,7 +311,7 @@ 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.rmempty = true
|
||||
o.default = o.disabled
|
||||
o.cfgvalue = function(...)
|
||||
return Flag.cfgvalue(...) or "0"
|
||||
@@ -313,7 +319,7 @@ 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.rmempty = true
|
||||
o.default = o.disabled
|
||||
o.cfgvalue = function(...)
|
||||
return Flag.cfgvalue(...) or "0"
|
||||
@@ -321,7 +327,7 @@ 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.rmempty = true
|
||||
o.default = o.disabled
|
||||
o.cfgvalue = function(...)
|
||||
return Flag.cfgvalue(...) or "0"
|
||||
@@ -329,14 +335,14 @@ 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.rmempty = true
|
||||
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.rmempty = true
|
||||
o.default = o.disabled
|
||||
o.cfgvalue = function(...)
|
||||
return Flag.cfgvalue(...) or "0"
|
||||
@@ -344,7 +350,7 @@ end
|
||||
|
||||
---- skip cache
|
||||
o = s:taboption("seconddns", Flag, "seconddns_no_cache", translate("Skip Cache"), translate("Skip Cache."))
|
||||
o.rmempty = false
|
||||
o.rmempty = true
|
||||
o.default = o.disabled
|
||||
o.cfgvalue = function(...)
|
||||
return Flag.cfgvalue(...) or "0"
|
||||
@@ -352,7 +358,7 @@ end
|
||||
|
||||
---- Force AAAA SOA
|
||||
o = s:taboption("seconddns", Flag, "seconddns_force_aaaa_soa", translate("Force AAAA SOA"), translate("Force AAAA SOA."))
|
||||
o.rmempty = false
|
||||
o.rmempty = true
|
||||
o.default = o.disabled
|
||||
o.cfgvalue = function(...)
|
||||
return Flag.cfgvalue(...) or "0"
|
||||
@@ -379,6 +385,12 @@ function o.validate(self, value)
|
||||
return nil, translate("NFTset name format error, format: [#[4|6]:[family#table#set]]")
|
||||
end
|
||||
|
||||
---- other args
|
||||
o = s:taboption("seconddns", Value, "seconddns_server_flags", translate("Additional Server Args"), translate("Additional server args, refer to the help description of the bind option."))
|
||||
o.default = ""
|
||||
o.rempty = true
|
||||
o.optional = true
|
||||
|
||||
----- Proxy server settings
|
||||
o = s:taboption("proxy", Value, "proxy_server", translate("Proxy Server"), translate("Proxy Server URL, format: [socks5|http]://user:pass@ip:port."));
|
||||
o.datatype = 'string';
|
||||
@@ -418,12 +430,36 @@ function custom.write(self, section, 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.rmempty = true
|
||||
o.default = o.disabled
|
||||
o.cfgvalue = function(...)
|
||||
return Flag.cfgvalue(...) or "0"
|
||||
end
|
||||
|
||||
o = s:taboption("custom", Value, "log_size", translate("Log Size"))
|
||||
o.rmempty = true
|
||||
o.placeholder = "default"
|
||||
|
||||
o = s:taboption("custom", ListValue, "log_level", translate("Log Level"))
|
||||
o.rmempty = true
|
||||
o.placeholder = "default"
|
||||
o:value("", translate("default"))
|
||||
o:value("debug")
|
||||
o:value("info")
|
||||
o:value("notice")
|
||||
o:value("warn")
|
||||
o:value("error")
|
||||
o:value("fatal")
|
||||
o:value("off")
|
||||
|
||||
o = s:taboption("custom", Value, "log_num", translate("Log Number"))
|
||||
o.rmempty = true
|
||||
o.placeholder = "default"
|
||||
|
||||
o = s:taboption("custom", Value, "log_file", translate("Log File"))
|
||||
o.rmempty = true
|
||||
o.placeholder = "/var/log/smartdns/smartdns.log"
|
||||
|
||||
-- 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."))
|
||||
@@ -522,11 +558,11 @@ end
|
||||
|
||||
o = s:taboption("forwarding", Flag, "no_speed_check", translate("Skip Speed Check"),
|
||||
translate("Do not check speed."))
|
||||
o.rmempty = false
|
||||
o.rmempty = true
|
||||
o.default = o.disabled
|
||||
|
||||
o = s:taboption("forwarding", Flag, "force_aaaa_soa", translate("Force AAAA SOA"), translate("Force AAAA SOA."))
|
||||
o.rmempty = false
|
||||
o.rmempty = true
|
||||
o.default = o.disabled
|
||||
|
||||
o = s:taboption("forwarding", Value, "ipset_name", translate("IPset Name"), translate("IPset name."))
|
||||
@@ -636,7 +672,7 @@ s.anonymous = true
|
||||
|
||||
---- download Files Settings
|
||||
o = s:option(Flag, "enable_auto_update", translate("Enable Auto Update"), translate("Enable daily auto update."))
|
||||
o.rmempty = false
|
||||
o.rmempty = true
|
||||
o.default = o.disabled
|
||||
o.rempty = true
|
||||
|
||||
@@ -670,11 +706,11 @@ s.addremove = true
|
||||
s.template = "cbi/tblsection"
|
||||
|
||||
o = s:option(Value, 'name', translate('File Name'), translate('File Name'))
|
||||
o.rmempty = false
|
||||
o.rmempty = true
|
||||
o.datatype = 'string'
|
||||
|
||||
o = s:option(Value, 'url', translate('URL'), translate('URL'))
|
||||
o.rmempty = false
|
||||
o.rmempty = true
|
||||
o.datatype = 'string'
|
||||
function o.validate(self, value, section)
|
||||
if value == "" then
|
||||
@@ -736,7 +772,7 @@ o.write = function()
|
||||
end
|
||||
|
||||
o = s:option(Button, "Restart")
|
||||
o.title = translate("Restart smartdns")
|
||||
o.title = translate("Restart Service")
|
||||
o.inputtitle = translate("Restart")
|
||||
o.inputstyle = "apply"
|
||||
o.write = function()
|
||||
|
||||
@@ -56,7 +56,7 @@ 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 = s:option(Value, "server_group", translate("Server Group"), translate("DNS Server group belongs to, such as office, home."))
|
||||
o.rmempty = true
|
||||
o.placeholder = "default"
|
||||
o.datatype = "hostname"
|
||||
@@ -64,14 +64,14 @@ o.rempty = true
|
||||
|
||||
---- exclude default group
|
||||
o = s:option(Flag, "exclude_default_group", translate("Exclude Default Group"), translate("Exclude DNS Server from default group."))
|
||||
o.rmempty = false
|
||||
o.rmempty = true
|
||||
o.default = o.disabled
|
||||
o.editable = true
|
||||
o.modalonly = true
|
||||
|
||||
---- blacklist_ip
|
||||
o = s:option(Flag, "blacklist_ip", translate("IP Blacklist Filtering"), translate("Filtering IP with blacklist"))
|
||||
o.rmempty = false
|
||||
o.rmempty = true
|
||||
o.default = o.disabled
|
||||
o.cfgvalue = function(...)
|
||||
return Flag.cfgvalue(...) or "0"
|
||||
@@ -87,7 +87,7 @@ o:depends("type", "https")
|
||||
|
||||
---- certificate verify
|
||||
o = s:option(Flag, "no_check_certificate", translate("No check certificate"), translate("Do not check certificate."))
|
||||
o.rmempty = false
|
||||
o.rmempty = true
|
||||
o.default = o.disabled
|
||||
o.cfgvalue = function(...)
|
||||
return Flag.cfgvalue(...) or "0"
|
||||
@@ -154,6 +154,5 @@ end
|
||||
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
|
||||
@@ -12,6 +12,9 @@ msgstr "额外规则标识"
|
||||
msgid "Additional Server Args"
|
||||
msgstr "额外的服务器参数"
|
||||
|
||||
msgid "Additional server args, refer to the help description of the bind option."
|
||||
msgstr "额外的服务器参数,参考bind选项的帮助说明。"
|
||||
|
||||
msgid "Advanced Settings"
|
||||
msgstr "高级设置"
|
||||
|
||||
@@ -287,6 +290,18 @@ msgstr "监听在指定的设备上,避免非本地网络的DNS查询请求。
|
||||
msgid "Local Port"
|
||||
msgstr "本地端口"
|
||||
|
||||
msgid "Log Size"
|
||||
msgstr "日志大小"
|
||||
|
||||
msgid "Log Level"
|
||||
msgstr "日志级别"
|
||||
|
||||
msgid "Log Number"
|
||||
msgstr "日志数量"
|
||||
|
||||
msgid "Log File"
|
||||
msgstr "日志文件路径"
|
||||
|
||||
msgid "Marking Packets"
|
||||
msgstr "数据包标记"
|
||||
|
||||
|
||||
@@ -245,7 +245,7 @@ return view.extend({
|
||||
// Domain prefetch load ;
|
||||
o = s.taboption("advanced", form.Flag, "prefetch_domain", _("Domain prefetch"),
|
||||
_("Enable domain prefetch, accelerate domain response speed."));
|
||||
o.rmempty = false;
|
||||
o.rmempty = true;
|
||||
o.default = o.disabled;
|
||||
|
||||
// Domain Serve expired
|
||||
@@ -270,7 +270,7 @@ return view.extend({
|
||||
|
||||
// Force AAAA SOA
|
||||
o = s.taboption("advanced", form.Flag, "force_aaaa_soa", _("Force AAAA SOA"), _("Force AAAA SOA."));
|
||||
o.rmempty = false;
|
||||
o.rmempty = true;
|
||||
o.default = o.disabled;
|
||||
|
||||
// Force HTTPS SOA
|
||||
@@ -342,6 +342,12 @@ return view.extend({
|
||||
_("Reply maximum TTL for all domain result."));
|
||||
o.rempty = true;
|
||||
|
||||
// other args
|
||||
o = s.taboption("advanced", form.Value, "server_flags", _("Additional Server Args"),
|
||||
_("Additional server args, refer to the help description of the bind option."))
|
||||
o.default = ""
|
||||
o.rempty = true
|
||||
|
||||
// include config
|
||||
download_files = uci.sections('smartdns', 'download-file');
|
||||
o = s.taboption("advanced", form.DynamicList, "conf_files", _("Include Config Files<br>/etc/smartdns/conf.d"),
|
||||
@@ -365,7 +371,7 @@ return view.extend({
|
||||
o = s.taboption("seconddns", form.Flag, "seconddns_enabled", _("Enable"),
|
||||
_("Enable or disable second DNS server."));
|
||||
o.default = o.disabled;
|
||||
o.rempty = false;
|
||||
o.rempty = true;
|
||||
|
||||
// Port;
|
||||
o = s.taboption("seconddns", form.Value, "seconddns_port", _("Local Port"), _("Smartdns local server port"));
|
||||
@@ -389,46 +395,46 @@ return view.extend({
|
||||
|
||||
o = s.taboption("seconddns", form.Flag, "seconddns_no_speed_check", _("Skip Speed Check"),
|
||||
_("Do not check speed."));
|
||||
o.rmempty = false;
|
||||
o.rmempty = true;
|
||||
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.rmempty = true;
|
||||
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.rmempty = true;
|
||||
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.rmempty = true;
|
||||
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.rmempty = true;
|
||||
o.default = o.disabled;
|
||||
|
||||
o = s.taboption("seconddns", form.Flag, "seconddns_no_dualstack_selection", _("Skip Dualstack Selection"),
|
||||
_("Skip Dualstack Selection."));
|
||||
o.rmempty = false;
|
||||
o.rmempty = true;
|
||||
o.default = o.disabled;
|
||||
|
||||
// skip cache;
|
||||
o = s.taboption("seconddns", form.Flag, "seconddns_no_cache", _("Skip Cache"), _("Skip Cache."));
|
||||
o.rmempty = false;
|
||||
o.rmempty = true;
|
||||
o.default = o.disabled;
|
||||
|
||||
// Force AAAA SOA
|
||||
o = s.taboption("seconddns", form.Flag, "seconddns_force_aaaa_soa", _("Force AAAA SOA"), _("Force AAAA SOA."));
|
||||
o.rmempty = false;
|
||||
o.rmempty = true;
|
||||
o.default = o.disabled;
|
||||
|
||||
o = s.taboption("seconddns", form.Value, "seconddns_ipset_name", _("IPset Name"), _("IPset name."));
|
||||
@@ -469,6 +475,12 @@ return view.extend({
|
||||
return true;
|
||||
}
|
||||
|
||||
// other args
|
||||
o = s.taboption("seconddns", form.Value, "seconddns_server_flags", _("Additional Server Args"),
|
||||
_("Additional server args, refer to the help description of the bind option."))
|
||||
o.default = ""
|
||||
o.rempty = true
|
||||
|
||||
///////////////////////////////////////
|
||||
// DNS64 Settings
|
||||
///////////////////////////////////////
|
||||
@@ -481,7 +493,7 @@ return view.extend({
|
||||
// download Files Settings
|
||||
///////////////////////////////////////
|
||||
o = s.taboption("files", form.Flag, "enable_auto_update", _("Enable Auto Update"), _("Enable daily auto update."));
|
||||
o.rmempty = false;
|
||||
o.rmempty = true;
|
||||
o.default = o.disabled;
|
||||
o.rempty = true;
|
||||
|
||||
@@ -521,11 +533,11 @@ return view.extend({
|
||||
ss.sortable = true;
|
||||
|
||||
so = ss.option(form.Value, 'name', _('File Name'), _('File Name'));
|
||||
so.rmempty = false;
|
||||
so.rmempty = true;
|
||||
so.datatype = 'file';
|
||||
|
||||
so = ss.option(form.Value, 'url', _('URL'), _('URL'));
|
||||
so.rmempty = false;
|
||||
so.rmempty = true;
|
||||
so.datatype = 'string';
|
||||
so.validate = function (section_id, value) {
|
||||
if (value == "") {
|
||||
@@ -586,9 +598,33 @@ return view.extend({
|
||||
|
||||
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.rmempty = true;
|
||||
o.default = o.disabled;
|
||||
|
||||
o = s.taboption("custom", form.Value, "log_size", _("Log Size"));
|
||||
o.rmempty = true;
|
||||
o.placeholder = "default";
|
||||
|
||||
o = s.taboption("custom", form.ListValue, "log_level", _("Log Level"));
|
||||
o.rmempty = true;
|
||||
o.placeholder = "default";
|
||||
o.value("", _("default"));
|
||||
o.value("debug");
|
||||
o.value("info");
|
||||
o.value("notice");
|
||||
o.value("warn");
|
||||
o.value("error");
|
||||
o.value("fatal");
|
||||
o.value("off");
|
||||
|
||||
o = s.taboption("custom", form.Value, "log_num", _("Log Number"));
|
||||
o.rmempty = true;
|
||||
o.placeholder = "default";
|
||||
|
||||
o = s.taboption("custom", form.Value, "log_file", _("Log File"))
|
||||
o.rmempty = true
|
||||
o.placeholder = "/var/log/smartdns/smartdns.log"
|
||||
|
||||
////////////////
|
||||
// Upstream servers;
|
||||
////////////////
|
||||
@@ -656,7 +692,7 @@ return view.extend({
|
||||
|
||||
// Advanced Options
|
||||
o = s.taboption("advanced", form.Flag, "exclude_default_group", _("Exclude Default Group"), _("Exclude DNS Server from default group."))
|
||||
o.rmempty = false;
|
||||
o.rmempty = true;
|
||||
o.default = o.disabled;
|
||||
o.editable = true;
|
||||
o.modalonly = true;
|
||||
@@ -664,7 +700,7 @@ return view.extend({
|
||||
// blacklist_ip
|
||||
o = s.taboption("advanced", form.Flag, "blacklist_ip", _("IP Blacklist Filtering"),
|
||||
_("Filtering IP with blacklist"))
|
||||
o.rmempty = false
|
||||
o.rmempty = true
|
||||
o.default = o.disabled
|
||||
o.modalonly = true;
|
||||
|
||||
@@ -681,7 +717,7 @@ return view.extend({
|
||||
// certificate verify
|
||||
o = s.taboption("advanced", form.Flag, "no_check_certificate", _("No check certificate"),
|
||||
_("Do not check certificate."))
|
||||
o.rmempty = false
|
||||
o.rmempty = true
|
||||
o.default = o.disabled
|
||||
o.modalonly = true;
|
||||
o.depends("type", "tls")
|
||||
@@ -800,11 +836,11 @@ return view.extend({
|
||||
|
||||
o = s.taboption("forwarding", form.Flag, "no_speed_check", _("Skip Speed Check"),
|
||||
_("Do not check speed."));
|
||||
o.rmempty = false;
|
||||
o.rmempty = true;
|
||||
o.default = o.disabled;
|
||||
|
||||
o = s.taboption("forwarding", form.Flag, "force_aaaa_soa", _("Force AAAA SOA"), _("Force AAAA SOA."));
|
||||
o.rmempty = false;
|
||||
o.rmempty = true;
|
||||
o.default = o.disabled;
|
||||
|
||||
o = s.taboption("forwarding", form.Value, "ipset_name", _("IPset Name"), _("IPset name."));
|
||||
@@ -954,7 +990,7 @@ return view.extend({
|
||||
|
||||
so = ss.option(form.FileUpload, "domain_list_file", _("Domain List File"),
|
||||
_("Upload domain list file, or configure auto download from Download File Setting page."));
|
||||
so.rmempty = false
|
||||
so.rmempty = true
|
||||
so.datatype = "file"
|
||||
so.rempty = true
|
||||
so.root_directory = "/etc/smartdns/domain-set"
|
||||
|
||||
@@ -1,14 +1,2 @@
|
||||
# Add custom settings here.
|
||||
|
||||
# set log level
|
||||
# log-level [level], level=fatal, error, warn, notice, info, debug
|
||||
# log-level error
|
||||
|
||||
# log-size k,m,g
|
||||
# log-size 128k
|
||||
|
||||
# log-file /var/log/smartdns.log
|
||||
# log-num 2
|
||||
|
||||
# List of hosts that supply bogus NX domain results
|
||||
# bogus-nxdomain [ip/subnet]
|
||||
# please read https://pymumu.github.io/smartdns/config/basic-config/
|
||||
@@ -445,6 +445,9 @@ load_second_server()
|
||||
config_get_bool "seconddns_tcp_server" "$section" "seconddns_tcp_server" "1"
|
||||
config_get ipv6_server "$section" "ipv6_server" "1"
|
||||
|
||||
config_get seconddns_server_flags "$section" "seconddns_server_flags" ""
|
||||
[ -z "$seconddns_server_flags" ] || ARGS="$ARGS $seconddns_server_flags"
|
||||
|
||||
conf_append_bind "$seconddns_port" "$device" "$seconddns_tcp_server" "$ipv6_server" "$ARGS"
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user