~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_DIRECT="修改DIRECT-DNS"
DNS_ADV_EDIT_PROXY="修改PROXY-DNS该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_AUTO_ENCRYPT="一键配置加密DNS"
DNS_ADV_RESET="重置默认DNS配置" DNS_ADV_RESET="重置默认DNS配置"
@@ -61,12 +62,6 @@ DNS_CONFIRM_ADD="请确认需要添加的地址:"
DNS_CONFIRM_OK="确认无误" DNS_CONFIRM_OK="确认无误"
DNS_ADD_OK="添加成功" DNS_ADD_OK="添加成功"
DNS_ADD_FAIL="添加失败" DNS_ADD_FAIL="添加失败"
DNS_DIRECT_NOW="当前DIRECT-DNS" DNS_NOW="当前DNS"
DNS_PROXY_NOW="当前PROXY-DNS" DNS_INPUT_NEW="请直接输入新的DNS地址"
DNS_DEFAULT_NOW="当前DEFAULT-DNS" DNS_INPUT_RESET="或输入 r 重置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地址"

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_DIRECT="Edit DIRECT-DNS"
DNS_ADV_EDIT_PROXY="Edit PROXY-DNS (queries go through the proxy)" 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_AUTO_ENCRYPT="Auto-configure Encrypted DNS"
DNS_ADV_RESET="Reset to default DNS configuration" 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_CONFIRM_OK="Confirm"
DNS_ADD_OK="Added successfully" DNS_ADD_OK="Added successfully"
DNS_ADD_FAIL="Add failed" DNS_ADD_FAIL="Add failed"
DNS_DIRECT_NOW="Current DIRECT-DNS: " DNS_NOW="Current DNS: "
DNS_PROXY_NOW="Current PROXY-DNS: " DNS_INPUT_NEW="Please input a new DNS address"
DNS_DEFAULT_NOW="Current DEFAULT-DNS: " DNS_INPUT_RESET="or input r to reset the DNS address"
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"

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

View File

@@ -117,7 +117,6 @@ EOF
fi fi
# 通用部分生成 # 通用部分生成
[ "$skip_cert" != "OFF" ] && override_tls='true' || override_tls='false' [ "$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 cat >>"$TMPDIR"/providers/providers.json <<EOF
"health_check": { "health_check": {
"enabled": true, "enabled": true,
@@ -126,7 +125,7 @@ EOF
"timeout": "3s" "timeout": "3s"
}, },
"override_dialer": { "override_dialer": {
"domain_resolver": "$domain_resolver" "domain_resolver": "$dns_proxy_server"
}, },
"override_tls": { "override_tls": {
"enabled": true, "enabled": true,

View File

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

View File

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