pi-hole
读书是学习,摘抄是整理,写作是创造。——吴晗
Pi-hole:一位把广告“吸进黑洞”的网络守门人
A black hole for Internet advertisements
——Pi-hole 的自我介绍(repo description)
如果你的网络是一座城市,那么 DNS 就是城市里的“问路台”:每一次打开网页、每一次 App 刷新、每一次智能电视想偷偷连上广告服务器,都会跑去问它一句:
“这个域名在哪里?”
而 Pi-hole® 更像一位站在问路台旁边、披着斗篷的“城市守门人”。它不是装在某个浏览器里的小插件,也不靠挨个设备安装客户端软件——它直接守在网络入口,用一个简单却坚决的动作把不受欢迎的内容拦下:
“你,别进来。”
Pi-hole® 是一个 DNS sinkhole:
它把那些讨厌的广告、追踪、乱七八糟的请求,像丢进深井一样丢进“黑洞”里,让它们再也到不了你家的任何设备。
它是谁?它怎么保护你?
Pi-hole® 有点像一位性格极其靠谱的“管家”,而且还是那种不爱废话、做事麻利的类型:
- Easy-to-install:它会用一套对话式的安装流程带你走,十分钟以内就能安好
- Resolute:它不只盯浏览器——移动 App、智能电视这些“广告藏身处”,它也管
- Responsive:它会缓存 DNS 查询,让日常浏览的体感更顺滑
- Lightweight:对硬件和软件要求克制,跑起来很轻
- Robust:它的命令行工具经过质量保证,讲究互操作性
- Insightful:它的 Web 仪表盘像一面镜子,把网络里发生的一切展示给你
- Versatile:必要时它还能当 DHCP server,让更多设备自动听它的话
- Scalable:在合适的硬件上,它甚至能扛住数以亿计的查询
- Modern:IPv4、IPv6 都照顾到
- Free:开源、免费,并且强调——由你掌控隐私
它的姿态很明确:
你才是你家网络的主人。
一键召唤:One-Step Automated Install
Pi-hole 对“快速上手”这件事很上心。它会把斗篷一甩,说:
“给我一条命令,我就到你家网络门口站岗。”
1 | curl -sSL https://install.pi-hole.net | bash |
另一种更“谨慎”的相处方式:Alternative Install Methods
Pi-hole 也很坦诚:把脚本直接 pipe 给 bash 这件事,在江湖上是有争议的——因为你在运行之前,可能没来得及仔细读将要执行的代码。
所以它贴心地准备了几种替代方案,让你用更踏实的方式把它请进家里。
Method 1:Clone 仓库并运行
1 | git clone --depth 1 https://github.com/pi-hole/pi-hole.git Pi-hole |
Method 2:手动下载安装脚本并运行
1 | wget -O basic-install.sh https://install.pi-hole.net |
Method 3:Docker 部署
Pi-hole 也懂现代人的生活节奏:如果你更喜欢容器化的边界感,请去官方 Docker 镜像仓库:
https://github.com/pi-hole/docker-pi-hole
装好之后:让整个网络都听它的
Pi-hole 安装完成,并不等于它立刻能“护全家周全”。它站在那儿会提醒你接下来关键的一步:
你需要让网络里的设备在“问路(DNS)”时来找 Pi-hole。
- 最推荐:配置路由器,让 DHCP clients 使用 Pi-hole 作为 DNS server
- 如果路由器不支持设置 DNS:你可以启��� Pi-hole 内置的 DHCP server
- 最后的最后:手动在每台设备上设置 DNS 指向 Pi-hole
它不是强迫你,它只是很认真地说:
“把门钥匙交给我,我才能守得住。”
它不只是黑洞:它还是一台“更快-than-light”的引擎
Pi-hole 的内心里藏着一颗引擎——Faster-than-light Engine。
那是 FTLDNS / FTL:一个轻量、专用的守护进程,为 Web 界面提供统计信息;同时,它的 API 也能让你把这些能力整合进你自己的项目里。
它能告诉你很多“网络日常小秘密”,比如:
- 被拦截的域名总数
- 今天一共来了多少 DNS 查询
- 今天挡下了多少广告
- 广告拦截占比
- 唯一域名、唯一客户端
- 查询是转发给上游 DNS 的,还是命中了缓存
- ……等等
API 怎么看?
它很大方,直接把门牌号写出来:
- 浏览器:
http://pi.hole/api/docs
也可以用 curl 去敲门(它会很快给你回应):
1 | curl --connect-timeout 2 -ks "https://pi.hole/api/stats/summary" -H "Accept: application/json" |
它甚至还把 API 接入到命令行里,让你像和一位助手对话一样去管理它:
pihole api config/webserver/portpihole api stats/summary
命令行:它的“工作态度”写在每一个指令里
Pi-hole 不爱花哨,它的 Command-Line Interface 就像一位穿着工装、袖口卷起的管理员:
不需要打开 Web 界面,也能把一切安排得明明白白。
pihole 命令可以完成完整管理操作,且快、对用户友好。
它手里常用的工具箱里包括:
- Allowlisting / Denylisting(以及 Regex)
- Debugging utility(排障工具)
- 直播式看日志(tail live log)
- 更新广告列表(Updating Ad Lists / gravity)
- 查询广告列表里哪些域名会被拦(Querying Ad Lists for blocked domains)
- 启用/禁用 Pi-hole(Enable / Disable)
- ……还有更多
它像在说:
“你给我命令,我就给你秩序。”
Web Interface Dashboard:把网络“看得见”
如果说命令行是 Pi-hole 的工作台,那 Web Interface Dashboard 就是它的会客厅——可选,但一旦用上就很难回去。
这个仪表盘能让你:
- 在手机上也看得舒服(Mobile-friendly)
- 加上密码保护
- 看到详细图表、甜甜圈统计
- 看 Top 域名、Top 客户端
- 过滤、排序 DNS 查询日志
- 查看你定义时间范围内的长期统计
- 管理并配置 Pi-hole 的各种功能
- 而且它几乎拥有命令行的全部主功能,却没那么“硬核”
仪表盘怎么进?
Pi-hole 把两条路都给你铺好了:
http://pi.hole/admin/(当你已经在用 Pi-hole 做 DNS)http://<IP_ADDRESS_OF_YOUR_PI_HOLE>/admin/
它像一位热心向导,伸手指向门口:
“来,进去看看你家网络今天都发生了什么。”
它是免费的,但它也需要被世界温柔对待
Pi-hole 很清楚自己是谁:免费、开源、重视隐私。
但它也很坦白:维护这样的项目有持续成本,而背后是一群志愿开发者在扛。
它会很认真地说一句:
你的支持,真的很重要。
你可以通过:
- Donations(捐助)
- GitHub Sponsors
- Patreon
- 以及更多方式
- 甚至只是把它介绍给朋友、分享你从中受益的故事
你也可以成为它的同伴
Pi-hole 不把自己当成“高冷的成品”,它更像一个仍在成长的角色。
它欢迎所有人参与:
- 报告 issue
- 提建议
- 提交 PR
它会说:
“从一个 typo 到一个新功能,我都愿意听你讲。”
结尾:把广告留在黑洞里,把清爽留在家里
Pi-hole® 不靠夸张的噱头,它靠站岗。
它站在你家网络的入口,沉默、坚定、有效:
当广告想混进来时,它把对方的路标抹掉;
当追踪想尾随你时,它让对方找不到门;
当你的设备想更快得到答案时,它用缓存把体验变顺。
它像一句不动声色的承诺:
“我在,你安心用网。”
