~DNS服务器中增加了专门用于解析节点域名的改PROXY-SERVER-DNS选项,并移除了对oix的单独适配

This commit is contained in:
juewuy
2026-04-19 10:40:28 +08:00
parent 75b3baa5d9
commit 791b83ab85
7 changed files with 60 additions and 39 deletions

View File

@@ -42,7 +42,8 @@ DNS_ADV_SINGBOX_LIMIT="注意SingBox内核仅加载第一个DNS"
DNS_ADV_EDIT_DIRECT="修改DIRECT-DNS"
DNS_ADV_EDIT_PROXY="修改PROXY-DNS该DNS查询会经过节点"
DNS_ADV_EDIT_DEFAULT="修改DEFAULT-DNS必须是IP用于解析其他DNS"
DNS_ADV_EDIT_RESOLVER="修改DEFAULT-DNS必须是IP用于解析其他DNS"
DNS_ADV_EDIT_PROXY_SERVER="修改PROXY-SERVER-DNS必须是IP用于解析节点域名"
DNS_ADV_AUTO_ENCRYPT="一键配置加密DNS"
DNS_ADV_RESET="重置默认DNS配置"
@@ -61,12 +62,6 @@ DNS_CONFIRM_ADD="请确认需要添加的地址:"
DNS_CONFIRM_OK="确认无误"
DNS_ADD_OK="添加成功"
DNS_ADD_FAIL="添加失败"
DNS_DIRECT_NOW="当前DIRECT-DNS"
DNS_PROXY_NOW="当前PROXY-DNS"
DNS_DEFAULT_NOW="当前DEFAULT-DNS"
DNS_INPUT_DIRECT_NEW="请直接输入新的DIRECT-DNS地址"
DNS_INPUT_DIRECT_RESET="或输入 r 重置DIRECT-DNS地址"
DNS_INPUT_PROXY_NEW="请直接输入新的PROXY-DNS地址"
DNS_INPUT_PROXY_RESET="或输入 r 重置PROXY-DNS地址"
DNS_INPUT_DEFAULT_NEW="请直接输入新的DEFAULT-DNS地址"
DNS_INPUT_DEFAULT_RESET="或输入 r 重置DEFAULT-DNS地址"
DNS_NOW="当前DNS"
DNS_INPUT_NEW="请直接输入新的DNS地址"
DNS_INPUT_RESET="或输入 r 重置DNS地址"

View File

@@ -43,7 +43,8 @@ DNS_ADV_SINGBOX_LIMIT="Note: SingBox core only loads the first DNS entry"
DNS_ADV_EDIT_DIRECT="Edit DIRECT-DNS"
DNS_ADV_EDIT_PROXY="Edit PROXY-DNS (queries go through the proxy)"
DNS_ADV_EDIT_DEFAULT="Edit DEFAULT-DNS (must be an IP, used to resolve other DNS servers)"
DNS_ADV_EDIT_RESOLVER="Edit DEFAULT-DNS (must be an IP, used to resolve other DNS servers)"
DNS_ADV_EDIT_PROXY_SERVER="Edit PROXY-SERVER-DNS (must be an IP, used to resolve proxy hostnames)"
DNS_ADV_AUTO_ENCRYPT="Auto-configure Encrypted DNS"
DNS_ADV_RESET="Reset to default DNS configuration"
@@ -63,12 +64,6 @@ DNS_CONFIRM_ADD="Please confirm the address to add: "
DNS_CONFIRM_OK="Confirm"
DNS_ADD_OK="Added successfully"
DNS_ADD_FAIL="Add failed"
DNS_DIRECT_NOW="Current DIRECT-DNS: "
DNS_PROXY_NOW="Current PROXY-DNS: "
DNS_DEFAULT_NOW="Current DEFAULT-DNS: "
DNS_INPUT_DIRECT_NEW="Please input new DIRECT-DNS"
DNS_INPUT_DIRECT_RESET="or input r to reset DIRECT-DNS"
DNS_INPUT_PROXY_NEW="Please input new PROXY-DNS"
DNS_INPUT_PROXY_RESET="or input r to reset PROXY-DNS"
DNS_INPUT_DEFAULT_NEW="Please input new DEFAULT-DNS"
DNS_INPUT_DEFAULT_RESET="or input r to reset DEFAULT-DNS"
DNS_NOW="Current DNS: "
DNS_INPUT_NEW="Please input a new DNS address"
DNS_INPUT_RESET="or input r to reset the DNS address"

View File

@@ -20,3 +20,4 @@ routing_mark=$((fwmark + 2))
}
[ -z "$dns_fallback" ] && dns_fallback="1.1.1.1, 8.8.8.8"
[ -z "$dns_resolver" ] && dns_resolver="223.5.5.5, 2400:3200::1"
[ -z "$dns_proxy_server" ] && dns_proxy_server="$dns_resolver"

View File

@@ -185,13 +185,17 @@ set_dns_adv() {
"PROXY-DNS" \
"\033[36m$dns_fallback\033[0m" \
"" \
"DEFAULT-DNS" \
"RESOLVER-DNS" \
"\033[33m$dns_resolver\033[0m" \
"" \
"PROXY-SERVER-DNS" \
"\033[33m$dns_proxy_server\033[0m" \
""
btm_box "1) $DNS_ADV_EDIT_DIRECT" \
"2) $DNS_ADV_EDIT_PROXY" \
"3) $DNS_ADV_EDIT_DEFAULT" \
"4) \033[32m$DNS_ADV_AUTO_ENCRYPT\033[0m" \
"3) $DNS_ADV_EDIT_RESOLVER" \
"4) $DNS_ADV_EDIT_PROXY_SERVER" \
"5) \033[32m$DNS_ADV_AUTO_ENCRYPT\033[0m" \
"9) \033[33m$DNS_ADV_RESET\033[0m" \
"" \
"0) $COMMON_BACK"
@@ -201,9 +205,9 @@ set_dns_adv() {
break
;;
1)
comp_box "$DNS_DIRECT_NOW\033[32m$dns_nameserver\033[0m"
btm_box "\033[36m$DNS_INPUT_DIRECT_NEW\033[0m" \
"$DNS_INPUT_DIRECT_RESET" \
comp_box "$DNS_NOW\033[32m$dns_nameserver\033[0m"
btm_box "\033[36m$DNS_INPUT_NEW\033[0m" \
"$DNS_INPUT_RESET" \
"$DNS_INPUT_REDIR_BACK"
read -r -p "$DNS_INPUT> " res
case "$res" in
@@ -227,9 +231,9 @@ set_dns_adv() {
esac
;;
2)
comp_box "$DNS_PROXY_NOW\033[32m$dns_fallback\033[0m"
btm_box "\033[36m$DNS_INPUT_PROXY_NEW\033[0m" \
"$DNS_INPUT_PROXY_RESET" \
comp_box "$DNS_NOW\033[32m$dns_fallback\033[0m"
btm_box "\033[36m$DNS_INPUT_NEW\033[0m" \
"$DNS_INPUT_RESET" \
"$DNS_INPUT_REDIR_BACK"
read -r -p "$DNS_INPUT> " res
case "$res" in
@@ -253,9 +257,9 @@ set_dns_adv() {
esac
;;
3)
comp_box "$DNS_DEFAULT_NOW\033[32m$dns_resolver\033[0m"
btm_box "\033[36m$DNS_INPUT_DEFAULT_NEW\033[0m" \
"$DNS_INPUT_DEFAULT_RESET" \
comp_box "$DNS_NOW\033[32m$dns_resolver\033[0m"
btm_box "\033[36m$DNS_INPUT_NEW\033[0m" \
"$DNS_INPUT_RESET" \
"$DNS_INPUT_REDIR_BACK"
separator_line "="
read -r -p "$DNS_INPUT> " res
@@ -266,7 +270,7 @@ set_dns_adv() {
"r")
dns_resolver="223.5.5.5, 2400:3200::1"
setconfig dns_resolver "'$dns_resolver'"
common_failed
common_success
;;
*)
if echo "$res" | grep -qE '://.*::'; then
@@ -280,6 +284,33 @@ set_dns_adv() {
esac
;;
4)
comp_box "$DNS_NOW\033[32m$dns_proxy_server\033[0m"
btm_box "\033[36m$DNS_INPUT_NEW\033[0m" \
"$DNS_INPUT_RESET" \
"$DNS_INPUT_REDIR_BACK"
separator_line "="
read -r -p "$DNS_INPUT> " res
case "$res" in
0)
continue
;;
"r")
dns_proxy_server="$dns_resolver"
setconfig dns_proxy_server "'$dns_proxy_server'"
common_success
;;
*)
if echo "$res" | grep -qE '://.*::'; then
msg_alert "\033[31m$DNS_IPV6_NOT_SUPPORT\033[0m"
else
dns_proxy_server=$(echo "$res" | sed 's#|#,\ #g')
setconfig dns_proxy_server "'$dns_proxy_server'"
msg_alert "\033[32m$COMMON_SUCCESS\033[0m"
fi
;;
esac
;;
5)
line_break
separator_line "="
if echo "$crashcore" | grep -qE 'meta|singbox'; then

View File

@@ -117,7 +117,6 @@ EOF
fi
# 通用部分生成
[ "$skip_cert" != "OFF" ] && override_tls='true' || override_tls='false'
[ -n "$(echo "$2" | grep 'oics.net')" ] && domain_resolver='dns_oix' || domain_resolver='dns_resolver'
cat >>"$TMPDIR"/providers/providers.json <<EOF
"health_check": {
"enabled": true,
@@ -126,7 +125,7 @@ EOF
"timeout": "3s"
},
"override_dialer": {
"domain_resolver": "$domain_resolver"
"domain_resolver": "$dns_proxy_server"
},
"override_tls": {
"enabled": true,

View File

@@ -54,9 +54,9 @@ EOF
cat >>"$TMPDIR"/dns.yaml <<EOF
respect-rules: true
nameserver-policy: {'rule-set:cn': [ $dns_nameserver ]}
proxy-server-nameserver : [ $dns_resolver ]
proxy-server-nameserver : [ $dns_proxy_server ]
proxy-server-nameserver-policy:
'*.oix_nodes.com': '124.221.68.73:1053'
'+.cloud-nodes.com': '124.221.68.73:1053'
nameserver: [ $dns_final ]
EOF
else

View File

@@ -189,8 +189,8 @@ EOF
"routing_mark": $routing_mark
},
{
"tag": "dns_oix",
"type": "udp", "server": "124.221.68.73", "server_port": 1053,
"tag": "dns_proxy_server",
$(parse_singbox_dns "$dns_proxy_server")
"routing_mark": $routing_mark
}
],