Files
iptable-autoconf/blacklist.py
Starlight-0208 82082e4050 feat(core): 更新USTC黑名单IP自动配置脚本
- 修改README.md文档,更新使用说明,简化操作步骤为运行update.sh自动创建data目录
- 将数据文件存储路径从根目录改为data子目录,统一管理数据文件
- 重构update.sh脚本,添加详细的状态提示和进度显示
- 优化clear.sh脚本,改进iptables规则删除逻辑,支持批量删除并显示删除结果
- 修改blacklist.py文件处理逻辑,统一使用data目录进行文件读写操作
- 增强错误处理机制,添加下载状态检查和处理进度反馈
- 改进iptables规则添加逻辑,避免重复添加相同规则
2026-02-25 19:45:45 +08:00

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