luci-app-passwall: sync upstream

last commit: 4dbb164492
This commit is contained in:
actions 2024-07-18 01:00:07 +08:00
parent e2c5b48222
commit 9ed9b3c51f
12 changed files with 7981 additions and 1998 deletions

View File

@ -6,7 +6,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-passwall PKG_NAME:=luci-app-passwall
PKG_VERSION:=4.77-6 PKG_VERSION:=4.78-1
PKG_RELEASE:= PKG_RELEASE:=
PKG_CONFIG_DEPENDS:= \ PKG_CONFIG_DEPENDS:= \

View File

@ -266,6 +266,20 @@ dns_shunt = s:taboption("DNS", ListValue, "dns_shunt", "DNS " .. translate("Shun
dns_shunt:value("dnsmasq", "Dnsmasq") dns_shunt:value("dnsmasq", "Dnsmasq")
dns_shunt:value("chinadns-ng", "Dnsmasq + ChinaDNS-NG") dns_shunt:value("chinadns-ng", "Dnsmasq + ChinaDNS-NG")
o = s:taboption("DNS", Value, "direct_dns", translate("Direct DNS"))
o.datatype = "or(ipaddr,ipaddrport)"
o.default = ""
o:value("", translate("Auto"))
o:value("223.5.5.5")
o:value("223.6.6.6")
o:value("114.114.114.114")
o:value("119.29.29.29")
o:value("180.76.76.76")
o:value("1.12.12.12")
o:value("120.53.53.53")
o:depends({dns_shunt = "dnsmasq"})
o:depends({dns_shunt = "chinadns-ng"})
o = s:taboption("DNS", Flag, "filter_proxy_ipv6", translate("Filter Proxy Host IPv6"), translate("Experimental feature.")) o = s:taboption("DNS", Flag, "filter_proxy_ipv6", translate("Filter Proxy Host IPv6"), translate("Experimental feature."))
o.default = "0" o.default = "0"

View File

@ -47,6 +47,7 @@ o:depends("balancing_enable", true)
o = s:option(Flag, "bind_local", translate("Haproxy Port") .. " " .. translate("Bind Local"), translate("When selected, it can only be accessed localhost.")) o = s:option(Flag, "bind_local", translate("Haproxy Port") .. " " .. translate("Bind Local"), translate("When selected, it can only be accessed localhost."))
o.default = "0" o.default = "0"
o:depends("balancing_enable", true)
---- Health Check Type ---- Health Check Type
o = s:option(ListValue, "health_check_type", translate("Health Check Type")) o = s:option(ListValue, "health_check_type", translate("Health Check Type"))

View File

@ -1167,8 +1167,7 @@ function gen_config(var)
elseif w:find("full:") == 1 then elseif w:find("full:") == 1 then
table.insert(domain_table.domain, w:sub(1 + #"full:")) table.insert(domain_table.domain, w:sub(1 + #"full:"))
elseif w:find("domain:") == 1 then elseif w:find("domain:") == 1 then
table.insert(domain_table.domain, w:sub(1 + #"domain:")) table.insert(domain_table.domain_suffix, w:sub(1 + #"domain:"))
table.insert(domain_table.domain_suffix, "." .. w:sub(1 + #"domain:"))
else else
table.insert(domain_table.domain_keyword, w) table.insert(domain_table.domain_keyword, w)
end end

View File

@ -32,7 +32,7 @@ unlock() {
done done
} }
boot() { boot_func() {
local delay=$(uci -q get ${CONFIG}.@global_delay[0].start_delay || echo 1) local delay=$(uci -q get ${CONFIG}.@global_delay[0].start_delay || echo 1)
if [ "$delay" -gt 0 ]; then if [ "$delay" -gt 0 ]; then
$APP_FILE echolog "执行启动延时 $delay 秒后再启动!" $APP_FILE echolog "执行启动延时 $delay 秒后再启动!"
@ -42,6 +42,10 @@ boot() {
touch ${LOCK_FILE_DIR}/${CONFIG}_ready.lock touch ${LOCK_FILE_DIR}/${CONFIG}_ready.lock
} }
boot() {
boot_func >/dev/null 2>&1 &
}
start() { start() {
set_lock set_lock
[ $? == 1 ] && $APP_FILE echolog "脚本已经在运行,不重复运行,退出." && exit 0 [ $? == 1 ] && $APP_FILE echolog "脚本已经在运行,不重复运行,退出." && exit 0

View File

@ -330,7 +330,7 @@ run_ipt2socks() {
run_singbox() { run_singbox() {
local flag type node tcp_redir_port udp_redir_port socks_address socks_port socks_username socks_password http_address http_port http_username http_password local flag type node tcp_redir_port udp_redir_port socks_address socks_port socks_username socks_password http_address http_port http_username http_password
local dns_listen_port direct_dns_port direct_dns_udp_server remote_dns_protocol remote_dns_udp_server remote_dns_tcp_server remote_dns_doh remote_fakedns remote_dns_query_strategy dns_cache dns_socks_address dns_socks_port local dns_listen_port direct_dns_port direct_dns_udp_server direct_dns_tcp_server remote_dns_protocol remote_dns_udp_server remote_dns_tcp_server remote_dns_doh remote_fakedns remote_dns_query_strategy dns_cache dns_socks_address dns_socks_port
local loglevel log_file config_file server_host server_port local loglevel log_file config_file server_host server_port
local _extra_param="" local _extra_param=""
eval_set_val $@ eval_set_val $@
@ -371,11 +371,16 @@ run_singbox() {
[ -n "$dns_listen_port" ] && _extra_param="${_extra_param} -dns_listen_port ${dns_listen_port}" [ -n "$dns_listen_port" ] && _extra_param="${_extra_param} -dns_listen_port ${dns_listen_port}"
[ -n "$dns_cache" ] && _extra_param="${_extra_param} -dns_cache ${dns_cache}" [ -n "$dns_cache" ] && _extra_param="${_extra_param} -dns_cache ${dns_cache}"
[ -n "$direct_dns_udp_server" ] && direct_dns_port=$(echo ${direct_dns_udp_server} | awk -F '#' '{print $2}')
[ -n "$direct_dns_tcp_server" ] && direct_dns_port=$(echo ${direct_dns_tcp_server} | awk -F '#' '{print $2}')
[ -z "$direct_dns_udp_server" ] && [ -z "$direct_dns_tcp_server" ] && {
local local_dns=$(echo -n $(echo "${LOCAL_DNS}" | sed "s/,/\n/g" | head -n1) | tr " " ",") local local_dns=$(echo -n $(echo "${LOCAL_DNS}" | sed "s/,/\n/g" | head -n1) | tr " " ",")
[ -z "$direct_dns_udp_server" ] && direct_dns_udp_server=$(echo ${local_dns} | awk -F '#' '{print $1}') direct_dns_udp_server=$(echo ${local_dns} | awk -F '#' '{print $1}')
[ -z "$direct_dns_port" ] && direct_dns_port=$(echo ${local_dns} | awk -F '#' '{print $2}') direct_dns_port=$(echo ${local_dns} | awk -F '#' '{print $2}')
}
[ -z "$direct_dns_port" ] && direct_dns_port=53 [ -z "$direct_dns_port" ] && direct_dns_port=53
[ -n "$direct_dns_udp_server" ] && _extra_param="${_extra_param} -direct_dns_udp_server ${direct_dns_udp_server}" [ -n "$direct_dns_udp_server" ] && _extra_param="${_extra_param} -direct_dns_udp_server ${direct_dns_udp_server}"
[ -n "$direct_dns_tcp_server" ] && _extra_param="${_extra_param} -direct_dns_tcp_server ${direct_dns_tcp_server}"
[ -n "$direct_dns_port" ] && _extra_param="${_extra_param} -direct_dns_port ${direct_dns_port}" [ -n "$direct_dns_port" ] && _extra_param="${_extra_param} -direct_dns_port ${direct_dns_port}"
_extra_param="${_extra_param} -direct_dns_query_strategy UseIP" _extra_param="${_extra_param} -direct_dns_query_strategy UseIP"
@ -500,6 +505,26 @@ run_chinadns_ng() {
filter-qtype 65 filter-qtype 65
EOF EOF
# This function may be called multiple times, so add a condition here to avoid repeated execution.
[ ! -f "${TMP_PATH}/vpslist" ] && {
servers=$(uci show "${CONFIG}" | grep ".address=" | cut -d "'" -f 2 | grep -v "engage.cloudflareclient.com")
hosts_foreach "servers" host_from_url | grep '[a-zA-Z]$' | sort -u > "${TMP_PATH}/vpslist"
}
[ -s "${TMP_PATH}/vpslist" ] && {
local vpslist4_set="passwall_vpslist"
local vpslist6_set="passwall_vpslist6"
[ "$nftflag" = "1" ] && {
vpslist4_set="inet@fw4@${vpslist4_set}"
vpslist6_set="inet@fw4@${vpslist6_set}"
}
cat <<-EOF >> ${_CONF_FILE}
group vpslist
group-dnl ${TMP_PATH}/vpslist
group-upstream ${_dns_local}
group-ipset ${vpslist4_set},${vpslist6_set}
EOF
}
[ "${_use_direct_list}" = "1" ] && [ -s "${RULES_PATH}/direct_host" ] && { [ "${_use_direct_list}" = "1" ] && [ -s "${RULES_PATH}/direct_host" ] && {
local whitelist4_set="passwall_whitelist" local whitelist4_set="passwall_whitelist"
local whitelist6_set="passwall_whitelist6" local whitelist6_set="passwall_whitelist6"
@ -879,18 +904,23 @@ run_redir() {
_args="${_args} remote_dns_query_strategy=${DNS_QUERY_STRATEGY}" _args="${_args} remote_dns_query_strategy=${DNS_QUERY_STRATEGY}"
DNSMASQ_FILTER_PROXY_IPV6=0 DNSMASQ_FILTER_PROXY_IPV6=0
[ "${DNS_CACHE}" == "0" ] && _args="${_args} dns_cache=0" [ "${DNS_CACHE}" == "0" ] && _args="${_args} dns_cache=0"
resolve_dns_port=${dns_listen_port}
_args="${_args} dns_listen_port=${resolve_dns_port}"
local local_dns=$(echo "${LOCAL_DNS}" | sed "s/,/\n/g" | head -n1)
_args="${_args} direct_dns_udp_server=${local_dns}"
local v2ray_dns_mode=$(config_t_get global v2ray_dns_mode tcp) local v2ray_dns_mode=$(config_t_get global v2ray_dns_mode tcp)
_args="${_args} remote_dns_protocol=${v2ray_dns_mode}" _args="${_args} remote_dns_protocol=${v2ray_dns_mode}"
_args="${_args} dns_listen_port=${dns_listen_port}"
case "$v2ray_dns_mode" in case "$v2ray_dns_mode" in
tcp) tcp)
_args="${_args} remote_dns_tcp_server=${REMOTE_DNS}" _args="${_args} remote_dns_tcp_server=${REMOTE_DNS}"
resolve_dns_log="Sing-Box DNS(127.0.0.1#${dns_listen_port}) -> tcp://${REMOTE_DNS}" resolve_dns_log="Sing-Box DNS(127.0.0.1#${resolve_dns_port}) -> tcp://${REMOTE_DNS}"
;; ;;
doh) doh)
remote_dns_doh=$(config_t_get global remote_dns_doh "https://1.1.1.1/dns-query") remote_dns_doh=$(config_t_get global remote_dns_doh "https://1.1.1.1/dns-query")
_args="${_args} remote_dns_doh=${remote_dns_doh}" _args="${_args} remote_dns_doh=${remote_dns_doh}"
resolve_dns_log="Sing-Box DNS(127.0.0.1#${dns_listen_port}) -> ${remote_dns_doh}" resolve_dns_log="Sing-Box DNS(127.0.0.1#${resolve_dns_port}) -> ${remote_dns_doh}"
;; ;;
esac esac
local remote_fakedns=$(config_t_get global remote_fakedns 0) local remote_fakedns=$(config_t_get global remote_fakedns 0)
@ -899,6 +929,7 @@ run_redir() {
_args="${_args} remote_fakedns=1" _args="${_args} remote_fakedns=1"
resolve_dns_log="${resolve_dns_log} + FakeDNS" resolve_dns_log="${resolve_dns_log} + FakeDNS"
} }
dns_listen_port=$(expr $dns_listen_port + 1)
} }
run_singbox flag=$_flag node=$node tcp_redir_port=$local_port config_file=$config_file log_file=$log_file ${_args} run_singbox flag=$_flag node=$node tcp_redir_port=$local_port config_file=$config_file log_file=$log_file ${_args}
;; ;;
@ -930,16 +961,18 @@ run_redir() {
local _dns_client_ip=$(config_t_get global dns_client_ip) local _dns_client_ip=$(config_t_get global dns_client_ip)
[ -n "${_dns_client_ip}" ] && _args="${_args} dns_client_ip=${_dns_client_ip}" [ -n "${_dns_client_ip}" ] && _args="${_args} dns_client_ip=${_dns_client_ip}"
[ "${DNS_CACHE}" == "0" ] && _args="${_args} dns_cache=0" [ "${DNS_CACHE}" == "0" ] && _args="${_args} dns_cache=0"
_args="${_args} dns_listen_port=${dns_listen_port}" resolve_dns_port=${dns_listen_port}
_args="${_args} dns_listen_port=${resolve_dns_port}"
_args="${_args} remote_dns_tcp_server=${REMOTE_DNS}" _args="${_args} remote_dns_tcp_server=${REMOTE_DNS}"
local v2ray_dns_mode=$(config_t_get global v2ray_dns_mode tcp) local v2ray_dns_mode=$(config_t_get global v2ray_dns_mode tcp)
if [ "$v2ray_dns_mode" = "tcp+doh" ]; then if [ "$v2ray_dns_mode" = "tcp+doh" ]; then
remote_dns_doh=$(config_t_get global remote_dns_doh "https://1.1.1.1/dns-query") remote_dns_doh=$(config_t_get global remote_dns_doh "https://1.1.1.1/dns-query")
_args="${_args} remote_dns_doh=${remote_dns_doh}" _args="${_args} remote_dns_doh=${remote_dns_doh}"
resolve_dns_log="Xray DNS(127.0.0.1#${dns_listen_port}) -> (${remote_dns_doh})(A/AAAA) + tcp://${REMOTE_DNS}" resolve_dns_log="Xray DNS(127.0.0.1#${resolve_dns_port}) -> (${remote_dns_doh})(A/AAAA) + tcp://${REMOTE_DNS}"
else else
resolve_dns_log="Xray DNS(127.0.0.1#${dns_listen_port}) -> tcp://${REMOTE_DNS}" resolve_dns_log="Xray DNS(127.0.0.1#${resolve_dns_port}) -> tcp://${REMOTE_DNS}"
fi fi
dns_listen_port=$(expr $dns_listen_port + 1)
} }
run_xray flag=$_flag node=$node tcp_redir_port=$local_port config_file=$config_file log_file=$log_file ${_args} run_xray flag=$_flag node=$node tcp_redir_port=$local_port config_file=$config_file log_file=$log_file ${_args}
;; ;;
@ -1262,6 +1295,7 @@ start_dns() {
echolog "DNS域名解析" echolog "DNS域名解析"
TUN_DNS="127.0.0.1#${dns_listen_port}" TUN_DNS="127.0.0.1#${dns_listen_port}"
[ "${resolve_dns}" == "1" ] && TUN_DNS="127.0.0.1#${resolve_dns_port}"
case "$DNS_MODE" in case "$DNS_MODE" in
dns2socks) dns2socks)
@ -1369,6 +1403,8 @@ start_dns() {
echolog " * 注意:当前 ChinaDNS-NG 版本为[ ${chinadns_ng_now//-/.} ],请更新到[ ${chinadns_ng_min//-/.} ]或以上版本,否则 DNS 有可能无法正常工作!" echolog " * 注意:当前 ChinaDNS-NG 版本为[ ${chinadns_ng_now//-/.} ],请更新到[ ${chinadns_ng_min//-/.} ]或以上版本,否则 DNS 有可能无法正常工作!"
fi fi
local china_ng_local_dns=$(echo -n $(echo "${LOCAL_DNS}" | sed "s/,/\n/g" | head -n2 | awk -v prefix="udp://" '{ for (i=1; i<=NF; i++) print prefix $i }') | tr " " ",")
[ "$FILTER_PROXY_IPV6" = "1" ] && DNSMASQ_FILTER_PROXY_IPV6=0 [ "$FILTER_PROXY_IPV6" = "1" ] && DNSMASQ_FILTER_PROXY_IPV6=0
[ -z "${china_ng_listen_port}" ] && local china_ng_listen_port=$(expr $dns_listen_port + 1) [ -z "${china_ng_listen_port}" ] && local china_ng_listen_port=$(expr $dns_listen_port + 1)
local china_ng_listen="127.0.0.1#${china_ng_listen_port}" local china_ng_listen="127.0.0.1#${china_ng_listen_port}"
@ -1377,7 +1413,7 @@ start_dns() {
run_chinadns_ng \ run_chinadns_ng \
_flag="default" \ _flag="default" \
_listen_port=${china_ng_listen_port} \ _listen_port=${china_ng_listen_port} \
_dns_local=$(echo -n $(echo "${LOCAL_DNS}" | sed "s/,/\n/g" | head -n2) | tr " " ",") \ _dns_local=${china_ng_local_dns} \
_dns_trust=${china_ng_trust_dns} \ _dns_trust=${china_ng_trust_dns} \
_no_ipv6_trust=${FILTER_PROXY_IPV6} \ _no_ipv6_trust=${FILTER_PROXY_IPV6} \
_use_direct_list=${USE_DIRECT_LIST} \ _use_direct_list=${USE_DIRECT_LIST} \
@ -1387,7 +1423,7 @@ start_dns() {
_default_mode=${TCP_PROXY_MODE} \ _default_mode=${TCP_PROXY_MODE} \
_default_tag=$(config_t_get global chinadns_ng_default_tag smart) _default_tag=$(config_t_get global chinadns_ng_default_tag smart)
echolog " - ChinaDNS-NG(${china_ng_listen})直连DNS$(echo -n $(echo "${LOCAL_DNS}" | sed "s/,/\n/g" | head -n2) | tr " " ",")可信DNS${china_ng_trust_dns}" echolog " - ChinaDNS-NG(${china_ng_listen})直连DNS${china_ng_local_dns}可信DNS${china_ng_trust_dns}"
USE_DEFAULT_DNS="chinadns_ng" USE_DEFAULT_DNS="chinadns_ng"
} }
@ -1547,11 +1583,12 @@ acl_app() {
[ "$filter_proxy_ipv6" = "1" ] && dnsmasq_filter_proxy_ipv6=0 [ "$filter_proxy_ipv6" = "1" ] && dnsmasq_filter_proxy_ipv6=0
chinadns_port=$(expr $chinadns_port + 1) chinadns_port=$(expr $chinadns_port + 1)
_china_ng_listen="127.0.0.1#${chinadns_port}" _china_ng_listen="127.0.0.1#${chinadns_port}"
_chinadns_local_dns=$(echo -n $(echo "${LOCAL_DNS}" | sed "s/,/\n/g" | head -n2 | awk -v prefix="udp://" '{ for (i=1; i<=NF; i++) print prefix $i }') | tr " " ",")
run_chinadns_ng \ run_chinadns_ng \
_flag="$sid" \ _flag="$sid" \
_listen_port=${chinadns_port} \ _listen_port=${chinadns_port} \
_dns_local=$(echo -n $(echo "${LOCAL_DNS}" | sed "s/,/\n/g" | head -n2) | tr " " ",") \ _dns_local=${_chinadns_local_dns} \
_dns_trust=127.0.0.1#${_dns_port} \ _dns_trust=127.0.0.1#${_dns_port} \
_no_ipv6_trust=${filter_proxy_ipv6} \ _no_ipv6_trust=${filter_proxy_ipv6} \
_use_direct_list=${use_direct_list} \ _use_direct_list=${use_direct_list} \
@ -1699,7 +1736,7 @@ acl_app() {
[ -n "$redirect_dns_port" ] && echo "${redirect_dns_port}" > $TMP_ACL_PATH/$sid/var_redirect_dns_port [ -n "$redirect_dns_port" ] && echo "${redirect_dns_port}" > $TMP_ACL_PATH/$sid/var_redirect_dns_port
unset enabled sid remarks sources use_global_config tcp_node udp_node use_direct_list use_proxy_list use_block_list use_gfw_list chn_list tcp_proxy_mode udp_proxy_mode filter_proxy_ipv6 dns_mode remote_dns v2ray_dns_mode remote_dns_doh dns_client_ip unset enabled sid remarks sources use_global_config tcp_node udp_node use_direct_list use_proxy_list use_block_list use_gfw_list chn_list tcp_proxy_mode udp_proxy_mode filter_proxy_ipv6 dns_mode remote_dns v2ray_dns_mode remote_dns_doh dns_client_ip
unset _ip _mac _iprange _ipset _ip_or_mac rule_list tcp_port udp_port config_file _extra_param unset _ip _mac _iprange _ipset _ip_or_mac rule_list tcp_port udp_port config_file _extra_param
unset _china_ng_listen chinadns_ng_default_tag dnsmasq_filter_proxy_ipv6 unset _china_ng_listen _chinadns_local_dns chinadns_ng_default_tag dnsmasq_filter_proxy_ipv6
unset redirect_dns_port unset redirect_dns_port
done done
unset socks_port redir_port dns_port dnsmasq_port chinadns_port unset socks_port redir_port dns_port dnsmasq_port chinadns_port
@ -1839,6 +1876,9 @@ DEFAULT_DNSMASQ_CFGID=$(uci show dhcp.@dnsmasq[0] | awk -F '.' '{print $2}' | a
DEFAULT_DNS=$(uci show dhcp.@dnsmasq[0] | grep "\.server=" | awk -F '=' '{print $2}' | sed "s/'//g" | tr ' ' '\n' | grep -v "\/" | head -2 | sed ':label;N;s/\n/,/;b label') DEFAULT_DNS=$(uci show dhcp.@dnsmasq[0] | grep "\.server=" | awk -F '=' '{print $2}' | sed "s/'//g" | tr ' ' '\n' | grep -v "\/" | head -2 | sed ':label;N;s/\n/,/;b label')
[ -z "${DEFAULT_DNS}" ] && [ "$(echo $ISP_DNS | tr ' ' '\n' | wc -l)" -le 2 ] && DEFAULT_DNS=$(echo -n $ISP_DNS | tr ' ' '\n' | head -2 | tr '\n' ',') [ -z "${DEFAULT_DNS}" ] && [ "$(echo $ISP_DNS | tr ' ' '\n' | wc -l)" -le 2 ] && DEFAULT_DNS=$(echo -n $ISP_DNS | tr ' ' '\n' | head -2 | tr '\n' ',')
LOCAL_DNS="${DEFAULT_DNS:-119.29.29.29,223.5.5.5}" LOCAL_DNS="${DEFAULT_DNS:-119.29.29.29,223.5.5.5}"
DIRECT_DNS=$(config_t_get global direct_dns "auto")
#Automatic logic is already done by default
[ "${DIRECT_DNS}" != "auto" ] && LOCAL_DNS=$(echo ${DIRECT_DNS} | sed 's/:/#/g')
DNS_QUERY_STRATEGY="UseIP" DNS_QUERY_STRATEGY="UseIP"
[ "$FILTER_PROXY_IPV6" = "1" ] && DNS_QUERY_STRATEGY="UseIPv4" [ "$FILTER_PROXY_IPV6" = "1" ] && DNS_QUERY_STRATEGY="UseIPv4"

View File

@ -202,6 +202,9 @@ if not fs.access(CACHE_DNS_PATH) then
end end
--始终用国内DNS解析节点域名 --始终用国内DNS解析节点域名
if true then
if USE_DEFAULT_DNS == "chinadns_ng" and CHINADNS_DNS ~= "0" then
else
uci:foreach(appname, "nodes", function(t) uci:foreach(appname, "nodes", function(t)
local address = t.address local address = t.address
if address == "engage.cloudflareclient.com" then return end if address == "engage.cloudflareclient.com" then return end
@ -210,7 +213,9 @@ if not fs.access(CACHE_DNS_PATH) then
set_domain_ipset(address, setflag_4 .. "passwall_vpslist," .. setflag_6 .. "passwall_vpslist6") set_domain_ipset(address, setflag_4 .. "passwall_vpslist," .. setflag_6 .. "passwall_vpslist6")
end end
end) end)
end
log(string.format(" - 节点列表中的域名(vpslist)%s", LOCAL_DNS or "默认")) log(string.format(" - 节点列表中的域名(vpslist)%s", LOCAL_DNS or "默认"))
end
local fwd_dns local fwd_dns
local ipset_flag local ipset_flag
@ -406,6 +411,7 @@ if not fs.access(CACHE_DNS_PATH) then
} }
end end
if list1 and next(list1) then
local address_out = io.open(CACHE_DNS_PATH .. "/000-address.conf", "a") local address_out = io.open(CACHE_DNS_PATH .. "/000-address.conf", "a")
local server_out = io.open(CACHE_DNS_PATH .. "/001-server.conf", "a") local server_out = io.open(CACHE_DNS_PATH .. "/001-server.conf", "a")
local ipset_out = io.open(CACHE_DNS_PATH .. "/ipset.conf", "a") local ipset_out = io.open(CACHE_DNS_PATH .. "/ipset.conf", "a")
@ -438,6 +444,7 @@ if not fs.access(CACHE_DNS_PATH) then
address_out:close() address_out:close()
server_out:close() server_out:close()
ipset_out:close() ipset_out:close()
end
local f_out = io.open(CACHE_TEXT_FILE, "a") local f_out = io.open(CACHE_TEXT_FILE, "a")
f_out:write(new_text) f_out:write(new_text)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -325,6 +325,7 @@ apkmirror.com
apkmonk.com apkmonk.com
apkplz.com apkplz.com
apkpure.com apkpure.com
apkpure.net
aplusvpn.com aplusvpn.com
app.box.com app.box.com
app.cloudcone.com app.cloudcone.com
@ -626,7 +627,6 @@ blog.tiney.com
blog.workflow.is blog.workflow.is
blog.xuite.net blog.xuite.net
blog.youthwant.com.tw blog.youthwant.com.tw
blog.youxu.info
blogblog.com blogblog.com
blogcatalog.com blogcatalog.com
blogcity.me blogcity.me
@ -938,6 +938,8 @@ changsa.net
channelnewsasia.com channelnewsasia.com
chaoex.com chaoex.com
chapm25.com chapm25.com
chat.lmsys.org
chatgpt.com
chatnook.com chatnook.com
chaturbate.com chaturbate.com
checkgfw.com checkgfw.com
@ -1337,6 +1339,7 @@ deviantart.com
deviantart.net deviantart.net
devio.us devio.us
devpn.com devpn.com
devv.ai
dfas.mil dfas.mil
dfn.org dfn.org
dharamsalanet.com dharamsalanet.com
@ -3168,6 +3171,7 @@ liangzhichuanmei.com
lianyue.net lianyue.net
liaowangxizang.net liaowangxizang.net
liberal.org.hk liberal.org.hk
libertysculpturepark.com
libertytimes.com.tw libertytimes.com.tw
library.usc.cuhk.edu.hk library.usc.cuhk.edu.hk
libredd.it libredd.it
@ -3210,7 +3214,6 @@ livecoin.net
livedoor.jp livedoor.jp
liveleak.com liveleak.com
livemint.com livemint.com
livestation.com
livestream.com livestream.com
livevideo.com livevideo.com
livingonline.us livingonline.us
@ -3218,7 +3221,6 @@ livingstream.com
liwangyang.com liwangyang.com
lizhizhuangbi.com lizhizhuangbi.com
lkcn.net lkcn.net
llss.me
lncn.org lncn.org
load.to load.to
lobsangwangyal.com lobsangwangyal.com
@ -4064,6 +4066,7 @@ pipii.tv
piposay.com piposay.com
piraattilahti.org piraattilahti.org
piring.com piring.com
pixeldrain.com
pixelqi.com pixelqi.com
pixiv.net pixiv.net
pixnet.net pixnet.net
@ -4216,6 +4219,7 @@ python.com.tw
pythonhackers.com pythonhackers.com
pytorch.org pytorch.org
qanote.com qanote.com
qbittorrent.org
qgirl.com.tw qgirl.com.tw
qhigh.com qhigh.com
qi-gong.me qi-gong.me
@ -4250,9 +4254,9 @@ qxbbs.org
qz.com qz.com
r0.ru r0.ru
r18.com r18.com
ra.gg
radicalparty.org radicalparty.org
radiko.jp radiko.jp
radio-canada.ca
radio.garden radio.garden
radioaustralia.net.au radioaustralia.net.au
radiohilight.net radiohilight.net
@ -4862,6 +4866,7 @@ tahr.org.tw
taipei.gov.tw taipei.gov.tw
taipeisociety.org taipeisociety.org
taipeitimes.com taipeitimes.com
taisounds.com
taiwan-sex.com taiwan-sex.com
taiwanbible.com taiwanbible.com
taiwancon.com taiwancon.com
@ -5832,6 +5837,7 @@ wqyd.org
wrchina.org wrchina.org
wretch.cc wretch.cc
writer.zoho.com writer.zoho.com
writesonic.com
wsj.com wsj.com
wsj.net wsj.net
wsjhk.com wsjhk.com
@ -5897,6 +5903,7 @@ x-art.com
x-berry.com x-berry.com
x-wall.org x-wall.org
x.co x.co
x.com
x.company x.company
x1949x.com x1949x.com
x24hr.com x24hr.com
@ -6024,7 +6031,6 @@ yilubbs.com
yingsuoss.com yingsuoss.com
yinlei.org yinlei.org
yipub.com yipub.com
yiyechat.com
yizhihongxing.com yizhihongxing.com
yobit.net yobit.net
yobt.com yobt.com
@ -6072,13 +6078,13 @@ yuanming.net
yuanzhengtang.org yuanzhengtang.org
yulghun.com yulghun.com
yunchao.net yunchao.net
yuntipub.com
yuvutu.com yuvutu.com
yvesgeleyn.com yvesgeleyn.com
ywpw.com ywpw.com
yx51.net yx51.net
yyii.org yyii.org
yyjlymb.xyz yyjlymb.xyz
yysub.net
yzzk.com yzzk.com
z-lib.org z-lib.org
zacebook.com zacebook.com

View File

@ -1,5 +1,5 @@
diff --git a/luci-app-passwall/Makefile b/luci-app-passwall/Makefile diff --git a/luci-app-passwall/Makefile b/luci-app-passwall/Makefile
index 7543450..6a4ce1e 100644 index 4b41cee..b3e867e 100644
--- a/luci-app-passwall/Makefile --- a/luci-app-passwall/Makefile
+++ b/luci-app-passwall/Makefile +++ b/luci-app-passwall/Makefile
@@ -171,7 +171,6 @@ define Package/$(PKG_NAME)/conffiles @@ -171,7 +171,6 @@ define Package/$(PKG_NAME)/conffiles
@ -24,10 +24,10 @@ index 1440118..be9dd12 100644
if code ~= 0 then if code ~= 0 then
local use_time = luci.sys.exec("echo -n '" .. result .. "' | awk -F ':' '{print $2}'") local use_time = luci.sys.exec("echo -n '" .. result .. "' | awk -F ':' '{print $2}'")
diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua
index 2320472..788a8fd 100644 index 5e3a0c6..f84f399 100644
--- a/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua --- a/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua
+++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/global.lua
@@ -332,6 +332,12 @@ o:value("9.9.9.9", "9.9.9.9 (Quad9-Recommended)") @@ -346,6 +346,12 @@ o:value("9.9.9.9", "9.9.9.9 (Quad9-Recommended)")
o:value("149.112.112.112", "149.112.112.112 (Quad9-Recommended)") o:value("149.112.112.112", "149.112.112.112 (Quad9-Recommended)")
o:value("208.67.220.220", "208.67.220.220 (OpenDNS)") o:value("208.67.220.220", "208.67.220.220 (OpenDNS)")
o:value("208.67.222.222", "208.67.222.222 (OpenDNS)") o:value("208.67.222.222", "208.67.222.222 (OpenDNS)")