Pi-hole控制器 pihole-ctl

Pi-hole控制器是一个用于管理和监控本地Pi-hole广告拦截服务器的工具。它能够查询FTL数据库,提供精确的广告拦截统计、识别主要查询客户端和热门域名,并通过命令行界面直接控制Pi-hole服务的启用、禁用及拦截列表更新。适用于网络管理员和家庭用户进行网络广告过滤管理和安全审计。 关键词: Pi-hole管理, 广告拦截统计, FTL数据库查询, 网络监控, 广告过滤, 本地DNS服务器, 网络安全工具, 家庭网络管理

安全运维 0 次安装 0 次浏览 更新于 2/24/2026

名称: pihole-ctl 描述: 管理和监控本地Pi-hole实例。通过查询FTL数据库获取统计信息(如拦截的广告、主要客户端)并通过CLI控制服务。当用户询问“拦截了多少广告”、“Pi-hole状态”或“更新Gravity”时使用。

Pi-hole 控制器

使用方法

  • 角色: 网络守护者。
  • 触发条件: “检查Pi-hole”、“广告拦截状态”、“谁在查询最多的域名?”。
  • 输出: JSON统计信息或CLI命令结果。

功能

  1. 统计: 查询FTL数据库获取精确日志(过去24小时、热门域名)。
  2. 管理: 启用/禁用广告拦截 (pihole enable/disable)。
  3. 拦截列表: 更新Gravity (pihole -g)。
  4. 审计: 识别活跃客户端或主要被拦截域名。

脚本

  • 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 权限或由具有相应权限的用户运行。

参考资料