Loading... AdGuard Home 项目是著名广告拦截器 AdGuard 里 DNS Server 的一个开源版本。该项目的原理是,在 DNS 的域名解析的过程里拦截网页上的广告。 <!--more--> 该项目代码与ADGuard DNS核心代码几乎相同,所以您不必考虑效率问题。 ![][1] ## DNS:网络世界的指南针 DNS,英文全称「Domain Name Server」,域名系统(服务)协议(DNS)是一种分布式网络目录服务,主要用于域名与 IP 地址的相互转换,以及控制因特网的电子邮件的发送。 ##构建Adguard HOME AdGuard Home 与 PI-Hole 最大的不同在于:开箱即用。 ![][2] 以X64 Linux为例: ``` wget https://static.adguard.com/adguardhome/release/AdGuardHome_linux_amd64.tar.gz tar xvf AdGuardHome_linux_amd64.tar.gz cd AdGuardHome sudo chmod u+x AdGuardHome sudo ./AdGuardHome -s install ``` 树莓派: ``` wget https://static.adguard.com/adguardhome/release/AdGuardHome_linux_arm.tar.gz tar xvf AdGuardHome_linux_arm.tar.gz cd AdGuardHome sudo chmod u+x AdGuardHome sudo ./AdGuardHome -s install ``` 猫盘 ``` cd /root/ && wget -N --no-check-certificate https://gitee.com/fkj2005/catdriver-Adguard/raw/master/install.sh && chmod +x install.sh && sh install.sh ``` Docker | 不建议使用 ``` docker pull adguard/adguardhome docker run --name adguardhome -v /my/own/workdir:/opt/adguardhome/work -v /my/own/confdir:/opt/adguardhome/conf -p 53:53/tcp -p 53:53/udp -p 67:67/udp -p 68:68/tcp -p 68:68/udp -p 80:80/tcp -p 443:443/tcp -p 853:853/tcp -p 3000:3000/tcp -d adguard/adguardhome ``` 请修改数据库目录为您需要的目录。 请注意: **默认会占用3000、56、63、80等端口,当然您也可以修改。** 打开浏览器,输入网址 http://yourip:3000/,就可以登录 AdGuard Home 网页端,并对 AdGuard Home 进行一些设置。 在「仪表板」上,我们可以看到 DNS 查询次数、被过滤器封锁的网站、查询 DNS 请求的 IP 地址等等信息。 ![][3] ## 仪表盘 您需要首先设置上游 dns 服务器,建议使用114、腾讯、谷歌、阿里的 ipv4 dns 服务器和 cnnic 的 ipv6 dns,对于用树莓派来建立 dns 的同学请务必禁用 edns。 ![][4] 移动、联通、电信默认的 dns 服务器极有可能返回错误的 IPv6 结果,导致 IPv6 优先的浏览器部分网站无法访问或者访问慢。 移动对于QQ、微信的图像进行了错误的解析: ::1, ipv4也是移动自己的地址。 ![移动地址][5] 为了更强力的拦截广告效果,我们可以做两件事。 第一,勾选「使用 AdGuard 浏览安全网络服务」、「使用 AdGuard 家长监控网络服务」、「强制执行安全搜索」。 第二,建议禁用自带 Adhost 规则导入 adblock 规则,程序兼容了两种规则语法。 ![][6] ## 开箱即用 DNS 提供教育网 IPv4 DNS 同时可解析 IPv6, 解析域名: edudns.unirtisan.com 获取地址。 暂时未启用 doh、dot ## 服务器配置分享 DNS配置 ``` 223.5.5.5 223.6.6.6 119.29.29.29 182.254.116.116 2400:3200::1 2400:3200:baba::1 240c::6666 240c::6644 tls://223.5.5.5 tls://223.6.6.6 tls://dns.pub https://doh.pub/dns-query https://dns.alidns.com/dns-query ``` 去广告配置 ``` https://files.uniartisan.com/anti-ad/filter.txt https://files.uniartisan.com/anti-ad/anti-ad-easylist.txt ``` **仅供日常使用,切勿恶意攻击服务器,解析地址!** ## 设置设备 dns ### 路由器 **此设置将自动覆盖连接到您的家庭路由器的所有设备,您不需要手动配置它们。** - 打开您的路由器配置界面。通常情况下,您可以通过浏览器访问地址(如 http://192.168.0.1/ 或 http://192.168.1.1 )。打开后您可能需要输入密码以进入配置界面。如果您不记得密码,通常可以通过按下路由器上的重置按钮来重设密码。一些路由器可能需要通过特定的应用来进行这一操作,请确保您已经在计算机或手机上安装了相关应用。 - 找到路由器的 DHCP/DNS 设置页面。您会在 DNS 这一单词旁边找到两到三行允许输入的输入框,每一行输入框分为四组,每组允许输入一到三个数字。 - 请在此处输入 DNS 服务器地址。 <div class="panel panel-default collapse-panel box-shadow-wrap-lg"><div class="panel-heading panel-collapse" data-toggle="collapse" data-target="#collapse-5e8e2a7fa8ee198036aa14e203339ee93" aria-expanded="true"><div class="accordion-toggle"><span style="">其他平台</span> <i class="pull-right fontello icon-fw fontello-angle-right"></i> </div> </div> <div class="panel-body collapse-panel-body"> <div id="collapse-5e8e2a7fa8ee198036aa14e203339ee93" class="collapse collapse-content"><p></p> ### Windows - 通过开始菜单或 Windows 搜索功能打开控制面板。 - 点击进入 ”网络和 Internet“ 后,再次点击进入 “网络和共享中心” - 在窗口的左侧找到 ”更改适配器设置“ 并点击进入。 - 选择您正在连接的网络设备,右击它并选择 ”属性“ 。 - 在列表中找到 ”Internet 协议版本 4 (TCP/IPv4)“ ,选择并再次点击 ”属性“ 。 - 选择 ”使用下面的 DNS 服务器地址“ ,并输入您的 DNS 服务器地址。 ### macOS - 点击苹果图标,进入 ”系统首选项“。 - 点击 ”网络“ 。 - 选择在列表中的第一个连接,并点击 ”高级“ 。 - 选择 ”DNS“ 选项卡,并输入您的 DNS 服务器地址。 ### Android - 在安卓主屏幕菜单中点击设置。 - 点击菜单上的 ”无线局域网“ 选项。在屏幕上将列出所有可用的网络(蜂窝移动网络不支持修改 DNS )。 - 长按当前已连接的网络,然后点击 ”修改网络设置“ 。 - 在某些设备上,您可能需要选中 ”高级“ 复选框以查看进一步的设置。您可能需要调整您安卓设备的 DNS 设置,或是需要将 IP 设置从 DHCP 切换到静态。 - 将 "DNS 1 / 主 DNS" 和 ”DNS 2 / 副 DNS“ 的值改为您的 DNS 服务器地址。 ### iOS - 从主屏幕中点击 ”设置“ 。 - 从左侧目录中选择 ”无线局域网“(移动数据网络环境下不支持修改 DNS )。 - 点击当前已连接网络的名称。 - 在 DNS 字段中输入您的 DNS 服务器地址。 <p></p></div></div></div> [1]: https://blog.uniartisan.com/usr/uploads/2020/02/3668038690.png [2]: https://blog.uniartisan.com/usr/uploads/2020/02/3737637434.png [3]: https://blog.uniartisan.com/usr/uploads/2020/02/4150320786.png [4]: https://blog.uniartisan.com/usr/uploads/2020/02/2366610637.png [5]: https://blog.uniartisan.com/usr/uploads/2020/02/864512949.png [6]: https://blog.uniartisan.com/usr/uploads/2020/02/1211853698.png Last modification:August 8, 2020 © Allow specification reprint Support Appreciate the author AliPayWeChat Like If you think my article is useful to you, please feel free to appreciate
23 comments
大佬,你的爱奇艺去广告规则怎么弄得?
Ad-wars 规则
能发下规则的链接吗?
https://raw.githubusercontent.com/jdlingyu/ad-wars/master/hosts
还有个问题想请教下,就是我用内网树莓派搭的可以用,但是用公网服务器搭建的就不好使
感谢大佬
树莓派使用您的家庭IP向上游服务器查询,而公网服务器查询并非是您的IP。
公网服务器需要设置好支持EDNS的上游DNS才可正确的返回查询结果,并且由于各个厂商默认镜像的设置您可能需要手工设置服务器首选dns为本地并且设置默认镜像域名单独内网dns解析。
牛批,有时间好好学一下。
小米开源了一个基于python的smartDNS,和这个有共同的原理,可以学习一下。OωO