- 修改README.md文档,更新使用说明,简化操作步骤为运行update.sh自动创建data目录 - 将数据文件存储路径从根目录改为data子目录,统一管理数据文件 - 重构update.sh脚本,添加详细的状态提示和进度显示 - 优化clear.sh脚本,改进iptables规则删除逻辑,支持批量删除并显示删除结果 - 修改blacklist.py文件处理逻辑,统一使用data目录进行文件读写操作 - 增强错误处理机制,添加下载状态检查和处理进度反馈 - 改进iptables规则添加逻辑,避免重复添加相同规则
48 lines
1.3 KiB
Bash
48 lines
1.3 KiB
Bash
#!/bin/sh
|
|
|
|
echo "========================================"
|
|
echo " iptables-autoconf - Clear Rules "
|
|
echo "========================================"
|
|
echo ""
|
|
|
|
delete_rule() {
|
|
local pattern="$1"
|
|
local count=$(iptables -t filter -L INPUT --line-numbers 2>/dev/null | grep "$pattern " | wc -l)
|
|
|
|
if [ "$count" -eq 0 ]; then
|
|
echo " - $pattern: no rules found"
|
|
return
|
|
fi
|
|
|
|
local rule_nums=$(iptables -t filter -L INPUT --line-numbers 2>/dev/null | grep "$pattern " | awk '{print $1}' | sort -rn)
|
|
local deleted=0
|
|
|
|
for num in $rule_nums; do
|
|
if iptables -t filter -D INPUT $num 2>/dev/null; then
|
|
deleted=$((deleted + 1))
|
|
fi
|
|
done
|
|
|
|
echo " - $pattern: removed $deleted rule(s)"
|
|
}
|
|
|
|
echo "[1/2] Removing iptables INPUT rules..."
|
|
echo " [IPv4 single]:"
|
|
delete_rule "ustc_blacklist_v4"
|
|
echo " [IPv4 CIDR]:"
|
|
delete_rule "ustc_blacklist_v4_net"
|
|
echo " [IPv6 single]:"
|
|
delete_rule "ustc_blacklist_v6"
|
|
echo " [IPv6 CIDR]:"
|
|
delete_rule "ustc_blacklist_v6_net"
|
|
|
|
echo ""
|
|
echo "[2/2] Current iptables rules:"
|
|
echo "----------------------------------------"
|
|
iptables -t filter -L INPUT --line-numbers -v 2>/dev/null | head -15
|
|
echo "----------------------------------------"
|
|
|
|
echo ""
|
|
echo " Cleanup completed!"
|
|
echo "========================================"
|