惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
V
Visual Studio Blog
人人都是产品经理
人人都是产品经理
The GitHub Blog
The GitHub Blog
月光博客
月光博客
T
Tailwind CSS Blog
小众软件
小众软件
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Proofpoint News Feed
B
Blog RSS Feed
博客园 - 司徒正美
A
About on SuperTechFans
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 聂微东
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
博客园 - Franky
U
Unit 42
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Microsoft Azure Blog
Microsoft Azure Blog
T
The Blog of Author Tim Ferriss
GbyAI
GbyAI
Apple Machine Learning Research
Apple Machine Learning Research

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
基于树莓派的全能广告屏蔽助手 —— Pi-hole - 少数派
2019-12-30 · via 少数派

前言

Pi-hole 是一款开源且免费的 DNS 沉洞服务器(DNS sinkhole),能够在不安装任何客户端侧软件的前提下为设备提供网络内容屏蔽服务,非常轻量易用。搭配上家中吃灰已久的树莓派,我们就能够轻松打造属于自己的广告屏蔽助手。
官网的介绍中,Pi-hole 主要具有以下优点:

  • 易于安装和配置(号称 10 分钟安装配置一条龙)。
  • 全平台,广告屏蔽服务可作用于任何设备,包括PC、手机、平板电脑。
  • 轻量,对硬件要求极低。
  • 功能稳定且强大,能轻松 hold 住百万级别的请求。
  • 提供了美观的 Web 数据监控仪表盘。
  • 开源且免费。

原料

  • 树莓派开发板一块
  • 支持自定义 DNS 的路由器

安装

首先我们需要将树莓派接入路由器,有线或无线均可,然后远程登录到树莓派上:

(因为本篇不是树莓派基础教程,因此不再赘述如何 ssh 到树莓派上)

Pi-hole 提供了一键安装脚本:

curl -sSL https://install.pi-hole.net | bash

输入并回车即可看到 Pi-hole 的logo:

相对于纯命令行界面,Pi-hole 提供了相对友好的安装引导:

配置

1. 网络配置

首先选择网络接口,此处因为我的树莓派是通过网线连接到路由器,因此选择 eth0 接口

接下来选择 DNS 提供商,视个人网络情况,可选择 Cloudflare 或 Google

接下来选择规则列表,维持默认的全选即可

最后选择 IP 协议,维持默认的全选即可

2. Web 控制台配置

一路回车之后,我们来到了 Web 管理员控制台的配置项,Web 管理员控制台是我们后续配置拦截规则、查看拦截日志等功能的必备入口,因此此处维持默认的 On 即可。

接下来的 Web Server 也必须同样选择 On,除非你想自己配置一个 Web Server。

接下来的选项一路<确定>回车即可

等待几分钟后,我们会在终端中看到如下信息:

至此,我们的 Pi-hole 就已经配置好了。

3. 登录管理员控制台

根据完成界面输出的提示,我们可以使用:http://树莓派IP/admin 来登录 Pi-hole 的管理员控制台,首次登录后界面如下:

此时的界面为未登录状态,点击左侧的Login选项,登录管理员账号后(密码可在安装完成后的提示信息页面找到),即可看到完整的管理员控制台了:

4. 路由器 DNS 设置

前言中提到过,「Pi-hole 是一款开源且免费的 DNS 沉洞服务器」,因此 Pi-hole 需配合路由器使用才能达到最大功效。

不同的路由器有不同的配置界面,本文将以笔者自用的「华硕路由器+梅林固件」环境为例进行讲解。

登录路由器管理后台后,选择「内部网络(LAN)」 - 「HCP 服务器」,并将 DNS Server 配置为树莓派的 IP 地址:

保存并应用后即可生效。

然后我们就可以在 Pi-hole 的管理员后台中看到请求日志了:

5. 拦截规则配置

由于 Pi-hole 国外开发的软件,因此其默认内置的拦截规则可能并不符合国情,所以很多小伙伴在完成配置之后,会发现很多国内网站的广告完全没有被屏蔽。请坐和放宽,接下来我们就要完成中国特色的反广告规则配置。

首先在当前目录下,使用 Vim 创建一个脚本文件:

vim adblock.sh

然后输入以下内容并保存:

curl -s -L https://easylist-downloads.adblockplus.org/easylistchina+easylist.txt https://easylist-downloads.adblockplus.org/malwaredomains_full.txt https://easylist-downloads.adblockplus.org/fanboy-social.txt > adblock.unsorted

sort -u adblock.unsorted | grep ^\|\|.*\^$ | grep -v \/ > adblock.sorted

sed 's/[\|^]//g' < adblock.sorted > adblock.hosts

rm adblock.unsorted adblock.sorted

然后执行 bash ./adblock.sh,稍等一会(几秒钟)之后,即可在当前目录下生成一个 adblock.hosts:

使用 pwd 命令获取当前路径,在我本机上路径为 /home/pi

接下来返回 Pi-hole 的管理员后台,依次点击「Settings」- 「Blocklists」,然后在输入框中填入以下地址,其中「home/pi」为上一步获取到的当前路径。

file:///home/pi/adblock.hosts

查看更新日志,即可看到本地的 adblock.host 已经被正确解析并应用了:

6. 最后的最后,上一张效果图

使用前:

使用后:

题图来自 Pi-hole 官网