luci: add response mode option

This commit is contained in:
Nick Peng
2023-01-26 21:27:31 +08:00
parent 13d028df0d
commit 8bbbcd5e86
6 changed files with 66 additions and 3 deletions

View File

@@ -749,7 +749,7 @@ Note: Merlin firmware is derived from ASUS firmware and can theoretically be use
...
````
1. How to use ipset and nftset
1. How to use ipset and nftset?
Similar to Dnsmasq, smartdns supports ipset and nftset, and can transparently forward specific domain names through TPROXY. The comparison of transparent forwarding and tool modes is as follows:
1. Tools: iptable, nftable

View File

@@ -180,6 +180,15 @@ msgstr "文件类型"
msgid "Filtering IP with blacklist"
msgstr "使用IP黑名单过滤"
msgid "First Ping"
msgstr "最快PING"
msgid "Fastest IP"
msgstr "最快IP"
msgid "Fastest Response"
msgstr "最快响应"
msgid "Force AAAA SOA"
msgstr "停用IPV6地址解析"
@@ -311,6 +320,9 @@ msgstr "重启"
msgid "Restart smartdns"
msgstr "重启服务"
msgid "Response Mode"
msgstr "响应模式"
msgid "Second Server Settings"
msgstr "第二DNS服务器"
@@ -420,6 +432,14 @@ msgstr "测速模式"
msgid "Smartdns speed check mode. "
msgstr "SmartDns测速模式设置。"
msgid ""
"Smartdns response mode, First Ping: return the first ping IP, "
"Fastest IP: return the fastest IP, Fastest Response: return the fastest "
"DNS response."
msgstr ""
"SmartDNS响应模式最快PING 返回最早有ping结果的IP速度适中最快IP "
"返回最快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 "

View File

@@ -102,6 +102,16 @@ function o.validate (section_id, value)
return value
end
---- response mode;
o = s:taboption("advanced", ListValue, "response_mode", translate("Response Mode"),
translate("Smartdns response mode, First Ping: return the first ping IP, Fastest IP: return the fastest IP, Fastest Response: return the fastest DNS response."))
o.rmempty = true
o.placeholder = "default"
o:value("", translate("default"))
o:value("first-ping", translate("First Ping"))
o:value("fastest-ip", translate("Fastest IP"))
o:value("fastest-response", translate("Fastest Response"))
---- Enable TCP server
o = s:taboption("advanced", Flag, "tcp_server", translate("TCP Server"), translate("Enable TCP DNS Server"))
o.rmempty = false

View File

@@ -201,6 +201,15 @@ msgstr "文件类型"
msgid "Filtering IP with blacklist"
msgstr "使用IP黑名单过滤"
msgid "First Ping"
msgstr "最快PING"
msgid "Fastest IP"
msgstr "最快IP"
msgid "Fastest Response"
msgstr "最快响应"
msgid "Force AAAA SOA"
msgstr "停用IPV6地址解析"
@@ -343,6 +352,9 @@ msgstr "解析本地主机名"
msgid "Resolve local hostnames by reading Dnsmasq lease file."
msgstr "读取Dnsmasq的租约文件解析本地主机名。"
msgid "Response Mode"
msgstr "响应模式"
msgid "Restart"
msgstr "重启"
@@ -455,6 +467,14 @@ msgstr "SmartDNS的服务器名称默认为smartdns留空为主机名"
msgid "Smartdns speed check mode."
msgstr "SmartDNS测速模式。"
msgid ""
"Smartdns response mode, First Ping: return the first ping IP, "
"Fastest IP: return the fastest IP, Fastest Response: return the fastest "
"DNS response."
msgstr ""
"SmartDNS响应模式最快PING 返回最早有ping结果的IP速度适中最快IP "
"返回最快IP查询请求可能延长 最快响应:返回最快响应的结果。查询请求时间短。"
msgid "Speed Check Mode"
msgstr "测速模式"

View File

@@ -199,6 +199,16 @@ return view.extend({
return true;
}
// response mode;
o = s.taboption("advanced", form.ListValue, "response_mode", _("Response Mode"),
_("Smartdns response mode, First Ping: return the first ping IP, Fastest IP: return the fastest IP, Fastest Response: return the fastest DNS response."));
o.rmempty = true;
o.placeholder = "default";
o.value("", _("default"));
o.value("first-ping", _("First Ping"));
o.value("fastest-ip", _("Fastest IP"));
o.value("fastest-response", _("Fastest Response"));
// Enable TCP server;
o = s.taboption("advanced", form.Flag, "tcp_server", _("TCP Server"), _("Enable TCP DNS Server"));
o.rmempty = false;
@@ -633,7 +643,7 @@ return view.extend({
o.modalonly = true;
o.optional = true;
o.rempty = true;
o.validate = function(section_id, value) {
o.validate = function (section_id, value) {
var flag = this.formvalue(section_id);
if (flag == "0") {
return true;
@@ -651,7 +661,7 @@ return view.extend({
return true;
}
// other args
o = s.taboption("advanced", form.Value, "addition_arg", _("Additional Server Args"),
_("Additional Args for upstream dns servers"))

View File

@@ -530,6 +530,9 @@ load_service()
config_get log_file "$section" "log_file" ""
[ -z "$log_file" ] || conf_append "log-file" "$log_file"
config_get response_mode "$section" "response_mode" ""
[ -z "$response_mode" ] || conf_append "response-mode" "$response_mode"
config_get_bool enable_auto_update "$section" "enable_auto_update" "0"
[ "$enable_auto_update" = "1" ] && enable_auto_update || disable_auto_update