From cb5d086dd264a0f046a835d31501ac66e520e108 Mon Sep 17 00:00:00 2001 From: xiaorouji <60100640+xiaorouji@users.noreply.github.com> Date: Tue, 22 Aug 2023 16:00:33 +0800 Subject: [PATCH] luci: remove direct DNS option --- .../model/cbi/passwall2/client/acl_config.lua | 42 ------------------- .../model/cbi/passwall2/client/global.lua | 41 ------------------ .../root/usr/share/passwall2/app.sh | 25 ++--------- 3 files changed, 3 insertions(+), 105 deletions(-) diff --git a/luci-app-passwall2/luasrc/model/cbi/passwall2/client/acl_config.lua b/luci-app-passwall2/luasrc/model/cbi/passwall2/client/acl_config.lua index dae0ac0ac..c3fec1d01 100644 --- a/luci-app-passwall2/luasrc/model/cbi/passwall2/client/acl_config.lua +++ b/luci-app-passwall2/luasrc/model/cbi/passwall2/client/acl_config.lua @@ -189,48 +189,6 @@ for k, v in pairs(nodes_table) do node:value(v.id, v["remark"]) end -o = s:option(ListValue, "direct_dns_protocol", translate("Direct DNS Protocol")) -o.default = "auto" -o:value("auto", translate("Auto")) ---[[ -o:value("udp", "UDP") -o:value("tcp", "TCP") -o:value("doh", "DoH") -o:depends({ node = "default", ['!reverse'] = true }) -]]-- ----- DNS Forward -o = s:option(Value, "direct_dns", translate("Direct DNS")) -o.datatype = "or(ipaddr,ipaddrport)" -o.default = "119.29.29.29" -o:value("114.114.114.114", "114.114.114.114 (114DNS)") -o:value("119.29.29.29", "119.29.29.29 (DNSPod)") -o:value("223.5.5.5", "223.5.5.5 (AliDNS)") -o:depends("direct_dns_protocol", "udp") -o:depends("direct_dns_protocol", "tcp") - ----- DoH -o = s:option(Value, "direct_dns_doh", translate("Direct DNS DoH")) -o.default = "https://223.5.5.5/dns-query" -o:value("https://1.12.12.12/dns-query", "DNSPod 1") -o:value("https://120.53.53.53/dns-query", "DNSPod 2") -o:value("https://223.5.5.5/dns-query", "AliDNS") -o.validate = doh_validate -o:depends("direct_dns_protocol", "doh") - -o = s:option(Value, "direct_dns_client_ip", translate("Direct DNS EDNS Client Subnet")) -o.description = translate("Notify the DNS server when the DNS query is notified, the location of the client (cannot be a private IP address).") .. "
" .. - translate("This feature requires the DNS server to support the Edns Client Subnet (RFC7871).") -o.datatype = "ipaddr" -o:depends("direct_dns_protocol", "tcp") -o:depends("direct_dns_protocol", "doh") - -o = s:option(ListValue, "direct_dns_query_strategy", translate("Direct Query Strategy")) -o.default = "UseIP" -o:value("UseIP") -o:value("UseIPv4") -o:value("UseIPv6") -o:depends({ node = "default", ['!reverse'] = true }) - o = s:option(ListValue, "remote_dns_protocol", translate("Remote DNS Protocol")) o:value("tcp", "TCP") o:value("doh", "DoH") diff --git a/luci-app-passwall2/luasrc/model/cbi/passwall2/client/global.lua b/luci-app-passwall2/luasrc/model/cbi/passwall2/client/global.lua index 9b87a11bc..8d0c3b890 100644 --- a/luci-app-passwall2/luasrc/model/cbi/passwall2/client/global.lua +++ b/luci-app-passwall2/luasrc/model/cbi/passwall2/client/global.lua @@ -261,47 +261,6 @@ end s:tab("DNS", translate("DNS")) -o = s:taboption("DNS", ListValue, "direct_dns_protocol", translate("Direct DNS Protocol")) -o.default = "auto" -o:value("auto", translate("Auto")) ---[[ -o:value("udp", "UDP") -o:value("tcp", "TCP") -o:value("doh", "DoH") -]]-- - ----- DNS Forward -o = s:taboption("DNS", Value, "direct_dns", translate("Direct DNS")) -o.datatype = "or(ipaddr,ipaddrport)" -o.default = "119.29.29.29" -o:value("114.114.114.114", "114.114.114.114 (114DNS)") -o:value("119.29.29.29", "119.29.29.29 (DNSPod)") -o:value("223.5.5.5", "223.5.5.5 (AliDNS)") -o:depends("direct_dns_protocol", "udp") -o:depends("direct_dns_protocol", "tcp") - ----- DoH -o = s:taboption("DNS", Value, "direct_dns_doh", translate("Direct DNS DoH")) -o.default = "https://223.5.5.5/dns-query" -o:value("https://1.12.12.12/dns-query", "DNSPod 1") -o:value("https://120.53.53.53/dns-query", "DNSPod 2") -o:value("https://223.5.5.5/dns-query", "AliDNS") -o.validate = doh_validate -o:depends("direct_dns_protocol", "doh") - -o = s:taboption("DNS", Value, "direct_dns_client_ip", translate("Direct DNS EDNS Client Subnet")) -o.description = translate("Notify the DNS server when the DNS query is notified, the location of the client (cannot be a private IP address).") .. "
" .. - translate("This feature requires the DNS server to support the Edns Client Subnet (RFC7871).") -o.datatype = "ipaddr" -o:depends("direct_dns_protocol", "tcp") -o:depends("direct_dns_protocol", "doh") - -o = s:taboption("DNS", ListValue, "direct_dns_query_strategy", translate("Direct Query Strategy")) -o.default = "UseIP" -o:value("UseIP") -o:value("UseIPv4") -o:value("UseIPv6") - o = s:taboption("DNS", ListValue, "remote_dns_protocol", translate("Remote DNS Protocol")) o:value("tcp", "TCP") o:value("doh", "DoH") diff --git a/luci-app-passwall2/root/usr/share/passwall2/app.sh b/luci-app-passwall2/root/usr/share/passwall2/app.sh index 93a5d5f58..f78c2a216 100755 --- a/luci-app-passwall2/root/usr/share/passwall2/app.sh +++ b/luci-app-passwall2/root/usr/share/passwall2/app.sh @@ -329,6 +329,7 @@ run_v2ray() { [ "$direct_dns_protocol" = "auto" ] && { direct_dns_protocol="udp" direct_dns_udp_server=${AUTO_DNS} + direct_dns_query_strategy="UseIP" } case "$direct_dns_protocol" in udp) @@ -337,25 +338,6 @@ run_v2ray() { local _dns_port=$(echo ${_dns} | awk -F ':' '{print $2}') V2RAY_DNS_DIRECT_ARGS="${V2RAY_DNS_DIRECT_ARGS} -direct_dns_server ${_dns_address} -direct_dns_port ${_dns_port} -direct_dns_udp_server ${_dns_address}" ;; - tcp) - local _dns=$(get_first_dns direct_dns_tcp_server 53 | sed 's/#/:/g') - local _dns_address=$(echo ${_dns} | awk -F ':' '{print $1}') - local _dns_port=$(echo ${_dns} | awk -F ':' '{print $2}') - V2RAY_DNS_DIRECT_ARGS="${V2RAY_DNS_DIRECT_ARGS} -direct_dns_server ${_dns_address} -direct_dns_port ${_dns_port} -direct_dns_tcp_server tcp://${_dns}" - ;; - doh) - local _doh_url=$(echo $direct_dns_doh | awk -F ',' '{print $1}') - local _doh_host_port=$(lua_api "get_domain_from_url(\"${_doh_url}\")") - #local _doh_host_port=$(echo $_doh_url | sed "s/https:\/\///g" | awk -F '/' '{print $1}') - local _doh_host=$(echo $_doh_host_port | awk -F ':' '{print $1}') - local is_ip=$(lua_api "is_ip(\"${_doh_host}\")") - local _doh_port=$(echo $_doh_host_port | awk -F ':' '{print $2}') - [ -z "${_doh_port}" ] && _doh_port=443 - local _doh_bootstrap=$(echo $direct_dns_doh | cut -d ',' -sf 2-) - [ "${is_ip}" = "true" ] && _doh_bootstrap=${_doh_host} - [ -n "$_doh_bootstrap" ] && V2RAY_DNS_DIRECT_ARGS="${V2RAY_DNS_DIRECT_ARGS} -direct_dns_server ${_doh_bootstrap}" - V2RAY_DNS_DIRECT_ARGS="${V2RAY_DNS_DIRECT_ARGS} -direct_dns_port ${_doh_port} -direct_dns_doh_url ${_doh_url} -direct_dns_doh_host ${_doh_host}" - ;; esac [ -n "$direct_dns_query_strategy" ] && V2RAY_DNS_DIRECT_ARGS="${V2RAY_DNS_DIRECT_ARGS} -dns_query_strategy ${direct_dns_query_strategy}" [ -n "$direct_dns_client_ip" ] && V2RAY_DNS_DIRECT_ARGS="${V2RAY_DNS_DIRECT_ARGS} -dns_client_ip ${direct_dns_client_ip}" @@ -614,7 +596,7 @@ run_global() { PROXY_IPV6_UDP=1 fi V2RAY_ARGS="flag=global node=$NODE redir_port=$REDIR_PORT" - V2RAY_ARGS="${V2RAY_ARGS} dns_listen_port=${TUN_DNS_PORT} direct_dns_query_strategy=${DIRECT_DNS_QUERY_STRATEGY} remote_dns_query_strategy=${REMOTE_DNS_QUERY_STRATEGY} dns_cache=${DNS_CACHE}" + V2RAY_ARGS="${V2RAY_ARGS} dns_listen_port=${TUN_DNS_PORT} direct_dns_query_strategy=UseIP remote_dns_query_strategy=${REMOTE_DNS_QUERY_STRATEGY} dns_cache=${DNS_CACHE}" local msg="${TUN_DNS} (" [ -n "$DIRECT_DNS_PROTOCOL" ] && { V2RAY_ARGS="${V2RAY_ARGS} direct_dns_protocol=${DIRECT_DNS_PROTOCOL}" @@ -911,7 +893,7 @@ acl_app() { direct_dns_protocol="auto" direct_dns=${direct_dns:-119.29.29.29} [ "$direct_dns_protocol" = "doh" ] && direct_dns=${direct_dns_doh:-https://223.5.5.5/dns-query} - direct_dns_query_strategy=${direct_dns_query_strategy:-UseIP} + direct_dns_query_strategy="UseIP" remote_dns_protocol=${remote_dns_protocol:-tcp} remote_dns=${remote_dns:-1.1.1.1} [ "$remote_dns_protocol" = "doh" ] && remote_dns=${remote_dns_doh:-https://1.1.1.1/dns-query} @@ -1072,7 +1054,6 @@ LOCALHOST_PROXY=$(config_t_get global localhost_proxy '1') DIRECT_DNS_PROTOCOL=$(config_t_get global direct_dns_protocol tcp) DIRECT_DNS_PROTOCOL="auto" DIRECT_DNS=$(config_t_get global direct_dns 119.29.29.29:53 | sed 's/#/:/g' | sed -E 's/\:([^:]+)$/#\1/g') -DIRECT_DNS_QUERY_STRATEGY=$(config_t_get global direct_dns_query_strategy UseIP) REMOTE_DNS_PROTOCOL=$(config_t_get global remote_dns_protocol tcp) REMOTE_DNS=$(config_t_get global remote_dns 1.1.1.1:53 | sed 's/#/:/g' | sed -E 's/\:([^:]+)$/#\1/g') REMOTE_FAKEDNS=$(config_t_get global remote_fakedns '0')