Explorar el Código

Merge pull request #1869 from zxlhhyccc/tuic

luci-app-ssr-plus: Fix access control issue caused by game mode.
zxl hhyccc hace 3 semanas
padre
commit
b688e231fb
Se han modificado 1 ficheros con 17 adiciones y 1 borrados
  1. 17 1
      luci-app-ssr-plus/root/usr/bin/ssr-rules

+ 17 - 1
luci-app-ssr-plus/root/usr/bin/ssr-rules

@@ -1145,8 +1145,24 @@ tp_rule_iptables() {
 	if ! ip route show table 100 | grep -q "^local.*dev lo"; then
 		ip route add local 0.0.0.0/0 dev lo table 100 2>/dev/null
 	fi
-	$ipt -N SS_SPEC_TPROXY
+	$ipt -N SS_SPEC_TPROXY 2>/dev/null
+	$ipt -F SS_SPEC_TPROXY
 	$ipt -A SS_SPEC_TPROXY -p udp --dport 53 -j RETURN
+
+	# 添加排除 LAN_AC_IP 规则
+	if [ -n "$LAN_AC_IP" ]; then
+		case "${LAN_AC_IP%${LAN_AC_IP#?}}" in
+		w | W)
+			# 白名单模式:集合中的IP跳过透明代理
+			$ipt -A SS_SPEC_TPROXY -m set --match-set ss_spec_lan_ac src -j RETURN
+			;;
+		b | B)
+			# 黑名单模式:集合中的IP走透明代理,其他IP跳过
+			$ipt -A SS_SPEC_TPROXY -m set ! --match-set ss_spec_lan_ac src -j RETURN
+			;;
+		esac
+	fi
+
 	for net in \
 		0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 169.254.0.0/16 \
 		172.16.0.0/12 192.168.0.0/16 224.0.0.0/4 240.0.0.0/4