- 修改README.md文档,更新使用说明,简化操作步骤为运行update.sh自动创建data目录 - 将数据文件存储路径从根目录改为data子目录,统一管理数据文件 - 重构update.sh脚本,添加详细的状态提示和进度显示 - 优化clear.sh脚本,改进iptables规则删除逻辑,支持批量删除并显示删除结果 - 修改blacklist.py文件处理逻辑,统一使用data目录进行文件读写操作 - 增强错误处理机制,添加下载状态检查和处理进度反馈 - 改进iptables规则添加逻辑,避免重复添加相同规则
39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
import os
|
|
|
|
DATA_DIR = "data"
|
|
os.makedirs(DATA_DIR, exist_ok=True)
|
|
|
|
with open(os.path.join(DATA_DIR, "blacklist_ustc.txt"), "r") as f:
|
|
ips = f.read()
|
|
f.close()
|
|
ipv4 = []
|
|
ipv6 = []
|
|
ipv4_net = []
|
|
ipv6_net = []
|
|
for ip in ips.split("\n"):
|
|
if ip.find("/") != -1:
|
|
if ip.find(":") != -1:
|
|
ipv6_net.append(ip)
|
|
else:
|
|
ipv4_net.append(ip)
|
|
else:
|
|
if ip.find(":") != -1:
|
|
ipv6.append(ip)
|
|
else:
|
|
ipv4.append(ip)
|
|
print(f"IPv4 Count: {len(ipv4)}")
|
|
print(f"IPv6 Count: {len(ipv6)}")
|
|
print(f"IPv4 Net Count: {len(ipv4_net)}")
|
|
print(f"IPv6 Net Count: {len(ipv6_net)}")
|
|
with open(os.path.join(DATA_DIR, "ipv4_list.txt"), "w") as fp:
|
|
fp.write("\n".join(ipv4))
|
|
fp.close
|
|
with open(os.path.join(DATA_DIR, "ipv4_net_list.txt"), "w") as fp:
|
|
fp.write("\n".join(ipv4_net))
|
|
fp.close
|
|
with open(os.path.join(DATA_DIR, "ipv6_list.txt"), "w") as fp:
|
|
fp.write("\n".join(ipv6))
|
|
fp.close
|
|
with open(os.path.join(DATA_DIR, "ipv6_net_list.txt"), "w") as fp:
|
|
fp.write("\n".join(ipv6_net))
|
|
fp.close |