覆盖一键脚本、网页向导、Docker Compose、虚拟主机四种安装路径,含数据源定时拉取配置与运维验收标准——照此手册可从零到上线。
| 项目 | 要求 | 说明 |
|---|---|---|
| PHP | >= 7.4 | 8.x 兼容;需 CLI 模式(计划任务用) |
| 扩展 | curl / json | curl 缺失时情报拉取退回 stream 模式 |
| Web服务 | Nginx / Apache | 伪静态非必需;绑定域名 mi.dimiao.cn |
| 数据库 | 无需 | v1.x 使用JSON文件存储,v2.0可选MySQL |
| Docker | 可选 | 仅"蜜罐引擎"需要;平台本体纯PHP |
| 计划任务 | crontab | 每30分钟执行 fetch_feeds.php |
脚本依次完成:环境检测 → 目录权限 → 生成采集令牌 → 首次拉取情报源 → 注册crontab → 可选启动Docker蜜罐引擎。
校验 PHP≥7.4、curl/json 扩展、data/ 与 logs/ 可写,任一不达标即中止并给出修复提示。
使用 /dev/urandom 生成 24字节随机 collect_token 写入 data/config.json,作为采集接口鉴权凭证。
调用 scripts/fetch_feeds.php 立即构建本地缓存;网络不通时告警但不中断安装。
自动写入 crontab(*/30 分钟),crontab 不可用时打印手动配置命令。
检测到 Docker 时自动 docker-compose up -d 拉起 HFish,并提醒 9001 管理端仅限内网。
适用于宝塔/虚拟主机等不方便执行脚本的环境:浏览器访问 install.php,检测项全绿后点击"开始安装"即完成初始化,并生成 install.lock 锁定安装入口。
将本目录全部文件上传至站点根目录(index.html 与PNG同级)。
浏览器打开 https://mi.dimiao.cn/install.php,查看自动检测结果。
选择轮询间隔 → 开始安装 → 记录页面显示的 collect_token。
删除 install.php;按页面提示配置 crontab 定时执行 fetch_feeds.php。
一条命令同时拉起"平台Web(php:7.4-apache)+ HFish蜜罐引擎":
| 数据源 | 格式 | 缓存TTL | 内容 |
|---|---|---|---|
| blocklist.de | iplist | 30分钟 | 综合攻击IP(全球蜜罐社区回传) |
| GreenSnow | iplist | 30分钟 | 扫描/攻击封禁IP |
| FireHOL Level1 | netset | 60分钟 | 聚合威胁清单(jsDelivr镜像回退) |
| Spamhaus DROP | netset | 120分钟 | 垃圾邮件/僵尸网络网段 |
| Feodo Tracker | json | 60分钟 | 僵尸网络C2(abuse.ch官方) |
| URLhaus | csv | 60分钟 | 活跃恶意软件下载URL |
拉取-解析-归一化-合并全部由 api/lib/FeedFetcher.php 完成;新增数据源只需在 data/feeds.json 追加条目(id/urls/format/ttl),零代码改动。全部源不可达时,前端自动展示最近一次缓存或离线快照,页面永不白屏。
| 现象 | 原因 | 解决 |
|---|---|---|
| IOC列表显示"离线快照" | 未执行过fetch_feeds | php scripts/fetch_feeds.php |
| 数据源全部FAIL | 出站被墙/无外网 | 放行443出站或配置代理 |
| collect.php 401 | 令牌错误 | 核对 data/config.json |
| 事件流不动 | HFish未配Webhook | 按集群管理页指南配置 |
| 500错误 | PHP版本过低 | 升级至7.4+ |