diff --git a/luci-app-passwall/root/usr/share/passwall/app.sh b/luci-app-passwall/root/usr/share/passwall/app.sh index f40e03e46..f55259d32 100755 --- a/luci-app-passwall/root/usr/share/passwall/app.sh +++ b/luci-app-passwall/root/usr/share/passwall/app.sh @@ -1360,7 +1360,7 @@ acl_app() { mkdir -p $TMP_ACL_PATH/$sid echo -e "${rule_list}" | sed '/^$/d' > $TMP_ACL_PATH/$sid/rule_list - use_global_config=${use_global_config} + use_global_config=${use_global_config:-0} tcp_node=${tcp_node:-nil} udp_node=${udp_node:-nil} use_direct_list=${use_direct_list:-1} @@ -1379,7 +1379,7 @@ acl_app() { [ "$v2ray_dns_mode" = "doh" ] && remote_dns=${remote_dns_doh:-https://1.1.1.1/dns-query} } - [ "${use_global_config}" = "1" ] & { + [ "${use_global_config}" = "1" ] && { tcp_node="default" udp_node="default" } diff --git a/luci-app-passwall/root/usr/share/passwall/iptables.sh b/luci-app-passwall/root/usr/share/passwall/iptables.sh index 08a62150c..72eca7829 100755 --- a/luci-app-passwall/root/usr/share/passwall/iptables.sh +++ b/luci-app-passwall/root/usr/share/passwall/iptables.sh @@ -206,23 +206,20 @@ load_acl() { [ "$udp_proxy_drop_ports" = "default" ] && udp_proxy_drop_ports=$UDP_PROXY_DROP_PORTS [ "$tcp_redir_ports" = "default" ] && tcp_redir_ports=$TCP_REDIR_PORTS [ "$udp_redir_ports" = "default" ] && udp_redir_ports=$UDP_REDIR_PORTS - - [ "${use_global_config}" = "1" ] & { - tcp_node="default" - udp_node="default" - } - - tcp_node_remark=$(config_n_get $TCP_NODE remarks) - udp_node_remark=$(config_n_get $UDP_NODE remarks) + [ -s "${TMP_ACL_PATH}/${sid}/var_tcp_node" ] && tcp_node=$(cat ${TMP_ACL_PATH}/${sid}/var_tcp_node) [ -s "${TMP_ACL_PATH}/${sid}/var_udp_node" ] && udp_node=$(cat ${TMP_ACL_PATH}/${sid}/var_udp_node) [ -s "${TMP_ACL_PATH}/${sid}/var_tcp_port" ] && tcp_port=$(cat ${TMP_ACL_PATH}/${sid}/var_tcp_port) [ -s "${TMP_ACL_PATH}/${sid}/var_udp_port" ] && udp_port=$(cat ${TMP_ACL_PATH}/${sid}/var_udp_port) - - [ "$udp_node" == "default" ] && [ "$UDP_NODE" = "nil" ] && [ "$TCP_UDP" = "1" ] && udp_node=$TCP_NODE - [ -n "$tcp_node" ] && [ "$tcp_node" != "default" ] && tcp_node_remark=$(config_n_get $tcp_node remarks) - [ -n "$udp_node" ] && [ "$udp_node" != "default" ] && udp_node_remark=$(config_n_get $udp_node remarks) - + [ "$tcp_node" != "nil" ] && tcp_node_remark=$(config_n_get $tcp_node remarks) + [ "$udp_node" != "nil" ] && udp_node_remark=$(config_n_get $udp_node remarks) + [ "$udp_node" == "tcp" ] && udp_node_remark=$tcp_node_remark + + [ "${use_global_config}" = "1" ] && { + tcp_node_remark=$(config_n_get $TCP_NODE remarks) + udp_node_remark=$(config_n_get $UDP_NODE remarks) + } + for i in $(cat ${TMP_ACL_PATH}/${sid}/rule_list); do if [ -n "$(echo ${i} | grep '^iprange:')" ]; then _iprange=$(echo ${i} | sed 's#iprange:##g') diff --git a/luci-app-passwall/root/usr/share/passwall/nftables.sh b/luci-app-passwall/root/usr/share/passwall/nftables.sh index 375309ba2..911e9b13f 100755 --- a/luci-app-passwall/root/usr/share/passwall/nftables.sh +++ b/luci-app-passwall/root/usr/share/passwall/nftables.sh @@ -241,23 +241,20 @@ load_acl() { [ "$udp_proxy_drop_ports" = "default" ] && udp_proxy_drop_ports=$UDP_PROXY_DROP_PORTS [ "$tcp_redir_ports" = "default" ] && tcp_redir_ports=$TCP_REDIR_PORTS [ "$udp_redir_ports" = "default" ] && udp_redir_ports=$UDP_REDIR_PORTS - - [ "${use_global_config}" = "1" ] & { - tcp_node="default" - udp_node="default" - } - tcp_node_remark=$(config_n_get $TCP_NODE remarks) - udp_node_remark=$(config_n_get $UDP_NODE remarks) [ -s "${TMP_ACL_PATH}/${sid}/var_tcp_node" ] && tcp_node=$(cat ${TMP_ACL_PATH}/${sid}/var_tcp_node) [ -s "${TMP_ACL_PATH}/${sid}/var_udp_node" ] && udp_node=$(cat ${TMP_ACL_PATH}/${sid}/var_udp_node) [ -s "${TMP_ACL_PATH}/${sid}/var_tcp_port" ] && tcp_port=$(cat ${TMP_ACL_PATH}/${sid}/var_tcp_port) [ -s "${TMP_ACL_PATH}/${sid}/var_udp_port" ] && udp_port=$(cat ${TMP_ACL_PATH}/${sid}/var_udp_port) - - [ "$udp_node" == "default" ] && [ "$UDP_NODE" = "nil" ] && [ "$TCP_UDP" = "1" ] && udp_node=$TCP_NODE - [ -n "$tcp_node" ] && [ "$tcp_node" != "default" ] && tcp_node_remark=$(config_n_get $tcp_node remarks) - [ -n "$udp_node" ] && [ "$udp_node" != "default" ] && udp_node_remark=$(config_n_get $udp_node remarks) - + [ "$tcp_node" != "nil" ] && tcp_node_remark=$(config_n_get $tcp_node remarks) + [ "$udp_node" != "nil" ] && udp_node_remark=$(config_n_get $udp_node remarks) + [ "$udp_node" == "tcp" ] && udp_node_remark=$tcp_node_remark + + [ "${use_global_config}" = "1" ] && { + tcp_node_remark=$(config_n_get $TCP_NODE remarks) + udp_node_remark=$(config_n_get $UDP_NODE remarks) + } + for i in $(cat ${TMP_ACL_PATH}/${sid}/rule_list); do if [ -n "$(echo ${i} | grep '^iprange:')" ]; then _iprange=$(echo ${i} | sed 's#iprange:##g')