首页/网络安全/安全运维/Pi-hole控制器Skill/
名称: pihole-ctl
描述: 管理和监控本地Pi-hole实例。通过查询FTL数据库获取统计信息(如拦截的广告、主要客户端)并通过CLI控制服务。当用户询问“拦截了多少广告”、“Pi-hole状态”或“更新Gravity”时使用。
Pi-hole 控制器
使用方法
- 角色: 网络守护者。
- 触发条件: “检查Pi-hole”、“广告拦截状态”、“谁在查询最多的域名?”。
- 输出: JSON统计信息或CLI命令结果。
功能
- 统计: 查询FTL数据库获取精确日志(过去24小时、热门域名)。
- 管理: 启用/禁用广告拦截 (
pihole enable/disable)。
- 拦截列表: 更新Gravity (
pihole -g)。
- 审计: 识别活跃客户端或主要被拦截域名。
脚本
scripts/query_db.py: 使用原生 sqlite3 库安全查询Pi-hole统计信息的Python脚本。
- 需要对
/etc/pihole/pihole-FTL.db 有读取权限。
- 用法:
python3 scripts/query_db.py --summary --hours 24
- 用法:
python3 scripts/query_db.py --top 10
权限要求
- 数据库访问: 运行此技能的用户必须对
/etc/pihole/pihole-FTL.db 具有读取权限。
- 建议: 将用户添加到
pihole 组 (usermod -aG pihole ubuntu)。
- 管理命令:
pihole CLI命令(启用/禁用)需要 sudo 权限或由具有相应权限的用户运行。
参考资料