名称: 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)。
- 建议: 将用户添加到
- 管理命令:
piholeCLI命令(启用/禁用)需要sudo权限或由具有相应权限的用户运行。