zeroznet/dropshit

GitHub: zeroznet/dropshit

一款自动下载威胁情报并加载到 nftables 或 PF 防火墙的黑名单管理工具,解决 IP 封禁的自动化与原子更新问题。

Stars: 0 | Forks: 0

# dropshit 下载威胁情报黑名单并将其加载到防火墙丢弃表中。 ## 功能 - 从 Spamhaus 和 FireHol 获取 11 个黑名单(Tor 出口、DDoS 网络、网络犯罪、滥用者等) - 移除注释、去重并清理条目 - 可选合并本地手动黑名单(默认为 `~/work/dropshit.txt`) - 原子化更新防火墙规则 ## 支持的系统 | 系统 | 防火墙 | 机制 | |------|--------|------| | Linux(Debian 13+) | nftables | 管理 `table inet dropshit`,包含 IPv4/IPv6 集合和输入丢弃链 | | FreeBSD | PF | 通过 `pfctl` 替换 `` 表 | ## 安装 ``` curl -fsSL https://raw.githubusercontent.com/zeroznet/dropshit/main/dropshit.sh \ -o /usr/local/sbin/dropshit && chmod +x /usr/local/sbin/dropshit ``` 不带 `curl` 的 FreeBSD: ``` fetch -q -o /usr/local/sbin/dropshit \ https://raw.githubusercontent.com/zeroznet/dropshit/main/dropshit.sh chmod +x /usr/local/sbin/dropshit ``` ## 定时任务配置 ``` @hourly root /usr/local/sbin/dropshit >/dev/null ``` ## FreeBSD 前置条件 你的 `pf.conf` 必须在运行脚本前定义好表和丢弃规则: ``` table persist file "/var/db/dropshit.txt" block drop in log quick on $ext_if from ``` 脚本仅更新表数据 — PF 规则保留在 `pf.conf` 中。 ## 可选手动黑名单 在脚本中(或通过环境变量)设置 `MANUAL_LIST` 以包含自定义条目。 默认路径:`~/work/dropshit.txt`。如果文件不存在则静默跳过。 ## 许可证 根据 BSD-2-Clause 许可证授权。详见 LICENSE 文件。
标签:BSD, Cron, Cutter, Debian, DNS 阻断, FreeBSD, IP 阻断, nftables, PB级数据处理, PF, Shell, 入侵防御, 原子更新, 去重, 威胁情报, 安全运维, 定时任务, 开发者工具, 数据挖掘, 本地合并, 网络调试, 网络防护, 脚本, 自动化, 评论清理, 进程监控, 防火墙, 黑名单