【AdGuard Home】轻松实现全屋去广告与追踪,AdGuard Home助力更安全浏览体验

2023-10-31

序言

在当今越来越数字化的社会中,广告和追踪器成为了许多用户最不喜欢的东西之一。用户访问网站或使用应用程序时,经常会被恼人的广告和追踪器所干扰,甚至可能泄露个人隐私。这就是为什么广告拦截 / 反追踪插件变得越发受欢迎的原因。这些插件利用拦截规则过滤和隐身模式等技术,可以有效地去除不必要的广告和跟踪行为,帮助用户保护个人隐私和网络安全。

AdGuard Home是一款功能丰富的广告拦截软件,它可以防止网站上的广告、跟踪脚本和恶意软件等,同时提供全局DNS解析服务,保护用户的隐私和网络安全。与其他广告拦截 / 反追踪插件不同的是,AdGuard Home可以运行在网络上的任何设备上,为所有连接到网络的设备提供保护。在本篇文章中,我们将介绍如何安装和使用AdGuard Home,以便用户更好地保护自己的网络安全。

部署

AdGuard Home部署方法有很多种,其中二进制文件部署和直接编译到OpenWrt系统中是常用的方式。不过,笔者更喜欢使用Docker部署,因为它的更新和维护成本低,具有多样性和灵活性。比如,对于需要进行DNS分流的科学上网需求,使用Docker可以进行多容器部署和管理。以下主要介绍两种Docker网络模式下的部署:

部署准备

#拉取 AdGuard Home Docker镜像
docker pull adguard/adguardhome

#设置 AdGuard Home 的配置文件存储位置
mkdir /etc/AdGuard_Home/

放行端口

  • 53:DNS 端口。即其他设备访问 AdGuard Home 进行 DNS 解析的默认端口。因为部分系统不支持自定义
    DNS端口,所以不建议自定义。部署前务必要查看是否有其它程序占用。

  • 67, 68: DHCP 端口。除非想代替你路由上的 DHCP服务器,否则用不到。

  • 80: 管理页面默认 HTTP 端口。可忽略,在初始化页面设置管理端口为 3000 端口即可。

  • 443:HTTPS 和 DoH 端口。本地内网环境不需要。

  • 853:DoT 端口。不使用相关功能可忽略。

  • 3000:初始化设置端口。除非通过配置文件去设置,否则必须开启。

#放行TCP
TCP:53,67,68,853,3000,80,443
#放行UDP
UDP:53,67,68,853,3000,80,443

1. Bridge网络模式

Bridge网络模式是Docker默认的网络模式,然而,采用Bridge网络模式部署时存在端口设置、占用和修改困难等问题,限制多且灵活度较差。另外,AdGuard Home在Bridge网络模式下每个端口都有各自的作用,对用户来说也需要了解清楚。
示例:

 docker run \
--name AdGuard_Home \
-v /etc/AdGuard_Home/:/opt/adguardhome/work \
-v /etc/AdGuard_Home/:/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 \
--restart=always \
-d adguard/adguardhome

从示例中可以得知 Ad­Guard Home 所需要用到的端口(已在上文详细解释),但实际情况并不是都会用到,这需要根据自身的需求来决定。如果只是本地局域网使用一般只需要映射53和3000端口(在初始化页面设置管理端口为 3000 端口即可)

docker run \
	--name AdGuard_Home \
	-v /etc/AdGuard_Home/:/opt/adguardhome/work \
	-v /etc/AdGuard_Home/:/opt/adguardhome/conf \
	-p 53:53/tcp  \
	-p 53:53/udp \ 
	-p 3000:3000/tcp \
	--restart=always \
	-d adguard/adguardhome

2. Host网络模式

Host网络模式直接使用宿主机的网络,不存在容器端口映射和隔离等问题。容器启动后可以根据需要灵活自如地调整端口,适用于本机(localhost)使用,或直接向外部设备开放服务,如VPS或主路由等。Host网络模式的特性使得它适合在需要直通外网设备的情况下使用。

docker run -d \
    --name adguardhome \
    --restart=always \
    --network host \
    -v /etc/AdGuard_Home/:/opt/adguardhome/work \
	-v /etc/AdGuard_Home/:/opt/adguardhome/conf \
    adguard/adguardhome

初始化设置

  1. 进入安装向导

    在浏览器中打开 AdGuard Home 的后台,进入安装向导,点击 “开始配置”。默认后台地址为:​http://IP:3000/​
    在这里插入图片描述

  2. 设置网络接口

    将后台的访问端口更改为 3000,避免与 NAS 后台的 80 端口发生冲突,DNS 端口保持为 53 即可。
    在这里插入图片描述

  3. 设置管理员账户

    在这里插入图片描述

  4. 完成初始化设置

    在这里插入图片描述

后期配置

常规设置

在这里插入图片描述

  • 过滤器更新间隔:DNS 过滤清单默认更新间隔,一般为 3 天 - 7 天
  • 使用 AdGuard 「浏览安全」网页服务:作用与 Chrome 网页安全性检查类似,开启后,当用户访问存在潜在威胁的网站时,AdGuard 会主动拦截并弹出提示
  • 使用 AdGuard 「家长控制」 服务:如果家中有尚未成年的孩子,建议开启,避免访问不良网站
  • 强制安全搜索:隐藏 Bing、Google、Yandex、YouTube 网站上 NSFW 等不适宜的内容
  • 查询记录保留时间:AdGuard Home 服务端采用 Sqlite 文件数据库存储日志,长时间保留可能会降低运行速度,同时占用大量的储存空间,家庭用户一般保留 24 小时 - 7 天即可
  • 统计数据保留时间:用于仪表盘的数据展示,一般保留 24 小时 - 7 天即可

DNS 设置

在这里插入图片描述

  • 上游 DNS 服务器:AdGuard Home 的上游 DNS 服务器,可参考下方推荐列表,一般保留 1 - 2 个即可。AdGuard
    Home 除了可以作为广告过滤网关,如果设置了纯净 DNS 后,还可以避免运营商的 DNS 劫持
  • BootStrap DNS服务器地址:作为 DoH / DoT DNS 的前置 DNS 解析器,可参考下方推荐列表
  • 查询方式、速度限制、EDNS、DNSSEC、拦截模式、DNS 缓存设置、访问设置可根据需要进行调整,一般保持默认设置即可

DNS 服务器推荐

不同地区连接至 DNS 服务器的速度各有差异,各位可以通过 Ping 测速的方式寻找当地连接延迟最低的 DNS 服务器。更多 DNS 服务器可以在 AdGuard 文档中找到。

DNS 提供商 类别 地址
阿里 IPv4 DNS 223.5.5.5
阿里 IPv6 DNS 2400:3200:baba::1
阿里 DNS-over-Https https://dns.alidns.com/dns-query
DNSPod IPv4 DNS 119.29.29.29
DNSPod DNS-over-Https https://doh.pub/dns-query
114 IPv4 DNS 114.114.114.114

DNS 封锁清单

在这里插入图片描述

为了更好地发挥AdGuard Home去广告的功能,仅使用默认的过滤规则是不够的。但是,过多的过滤规则会影响解析速度,因此添加过滤规则需要权衡利弊。主要浏览国内网站的用户可以使用anti-AD + Halflife过滤规则,而需要浏览国外网站的用户则可以根据需要添加AdGuard DNS Filter、Fanboy’s Annoyances List等规则。由于不同的规则存在重叠,可以通过AdGuard Home的拦截日志分析哪些规则使用频率最高,哪些规则拦截频率最低,并进行权衡取舍。

名称 简介 地址
AdGuard DNS Filter AdGuard 官方维护的广告规则,涵盖多种过滤规则 https://raw.githubusercontent.com/AdguardTeam/FiltersRegistry/master/filters/filter_15_DnsFilter/filter.txt
EasyList Adblock Plus 官方维护的广告规则 https://easylist-downloads.adblockplus.org/easylist.txt
EasyList China 面向中文用户的 EasyList 去广告规则 https://easylist-downloads.adblockplus.org/easylistchina.txt
EasyPrivacy 反隐私跟踪、挖矿规则 https://easylist-downloads.adblockplus.org/easyprivacy.txt
Halflife 规则涵盖了 EasyList China、EasyList Lite、CJX ’s Annoyance、乘风视频过滤规则,以及补充的其它规则 https://raw.githubusercontent.com/o0HalfLife0o/list/master/ad.txt
Xinggsf 乘风过滤 国内网站广告过滤规则 https://raw.githubusercontent.com/xinggsf/Adblock-Plus-Rule/master/rule.txt
Xinggsf 乘风视频过滤 视频网站广告过滤规则 https://raw.githubusercontent.com/xinggsf/Adblock-Plus-Rule/master/mv.txt
MalwareDomainList 恶意软件过滤规则 https://www.malwaredomainlist.com/hostslist/hosts.txt
Adblock Warning Removal List 去除禁止广告拦截提示规则 https://easylist-downloads.adblockplus.org/antiadblockfilters.txt
Anti-AD 命中率高、兼容性强 https://anti-ad.net/easylist.txt
Fanboy’s Annoyances List 去除页面弹窗广告规则 https://easylist-downloads.adblockplus.org/fanboy-annoyance.txt

同时也在本人Github和Gitee上更新了这些过滤规则:

https://github.com/DarkKnightYHJ/AdGuardHomeList
https://gitee.com/knightyhj/AdGuardHomeList

在设备上使用 AdGuard Home DNS

在这里插入图片描述

在AdGuard Home的设置指导页面可以找到相应系统的DNS设置方法。为了避免路由器上使用时出现问题,建议先在电脑或手机上进行设置,并测试是否能正常解析访问一些网站。如果一切正常,仪表盘界面会显示有关统计信息,而查询日志界面会显示解析的详细记录信息。最后再重申,在使用路由器时,请确保已充分理解DNS设置的相关步骤和风险,并进行必要的安全配置。

使用效果

在这里插入图片描述

参考

AdGuard Home
AdGuard Home 是什么?为什么无法去广告?
AdGuard Home 自建 DNS 防污染、去广告教程 #1 - 安装部署详解(Docker)
AdGuard Home 自建 DNS 防污染、去广告教程 #2 - 优化增强设置详解

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【AdGuard Home】轻松实现全屋去广告与追踪,AdGuard Home助力更安全浏览体验 的相关文章

随机推荐

  • 总结下CGI常用的环境变量

    每当服务器加载脚本的一个实例时下述环境变量被设置 并且是私有和特定于该实例的 AUTH TYPE如果服务器支持基本的认证并且如果脚本被保护 此变量提供认证类型 此信息是特定于协议和服务器的 AUTH TYPE的一个例子是BASIC CONT
  • 【HTML+CSS+JS】简单的登录注册验证

    登录注册验证 简单的小说明 效果 源码 HTML 登录注册 html loginSuccess html CSS JS pageChange js Click js 简单的小说明 本文是基于https blog csdn net NpcCa
  • size_t和int区别

    参考 https blog csdn net qingzhuyuxian article details 84579320 总结 size t大小跟随系统位数变化 printf打印时 用 zd来打印比较好
  • WSL_02 WSL配置强大的 zsh

    文章目录 1 ZSH简介 2 安装zsh 2 1 准备阶段 2 基础安装 3 zsh更换主题 3 1 使用vscode 打开 zshrc 4 自定义支持插件 4 1 修改配置 5 安装第三方插件 autosuggestions 5 1 下载
  • el-form中嵌套一个el-form 进行表单校验

    数据格式为form对象中嵌套一层可循环数组 数组内嵌套table表格 也可循环 form id row id process code log id
  • Apache DolphinScheduler(海豚调度系统)介绍与环境部署

    文章目录 一 概述 二 Apache DolphinScheduler 与 Azkaban 对比 三 DolphinScheduler 架构设计 四 环境部署 1 环境信息 2 安装 JDK 3 安装 MySQL 数据库 1 部署 dock
  • Spring学习笔记 - Spring Boot

    Spring Boot 1 最简单的一个SpringBoot应用程序 1 1 导入依赖
  • 2021深圳杯数学建模D题---基于DDPG算法的微分博弈问题(思路及代码)

    文章目录 前言 思路 代码 gym环境 DDPG算法 测试代码 结果 一只犬一只羊的情况 回报收敛的趋势图 羊的逃逸路径 犬的追捕极角 羊的逃逸极角 羊的逃逸半径 两只犬一只羊的情况 回报收敛的趋势图 羊的逃逸路径 羊的逃逸极角 羊的逃逸半
  • Java深究2

    这一版延续Java深究1中的继续进行相应补充 1 先看一个问题 什么是Java多态 我们知道面向对象的三大特点 封装 继承 多态 前两者好理解 多态要怎么理解呢 我们可以想象到有了继承关系 那么肯定会出现这种 class A extends
  • USB小白学习之路HID键盘程序

    USB小白学习之路 4 HID键盘程序 HID键盘程序 1 特别注意 需要特别注意 各个例程中的设备描述符 配置描述符等各种描述符都是已经配置好了的 我们需要做的只是在例程中将代码修改为自己需要的部分即可 一般情况下是不可以串搭配的 2 程
  • 教你如何在centos7配置ipv6地址

    本文教你如何在centos7系统上面配置ipv6地址 第一步 修改 etc modprobe d disable ipv6 conf cp etc modprobe d disable ipv6 conf etc modprobe d di
  • js将相同属性id的数组对象进行合并

    const arr1 id 1 name Alice id 2 name Bob id 3 name Charlie const arr2 id 2 age 20 id 3 age 30 id 4 age 40 const mergedAr
  • 封装、继承和多态

    目录 前言 一 什么是封装 二 什么是继承 三 什么是多态 前言 其实封装 继承和多态不仅仅是java的特性 而是所有面向对象程序的三大特性 一 什么是封装 封装就是对类内部的实现细节进行隐藏 然后对类外提供公开的接口 在Java中主要通过
  • Python:基于爬虫技术的数据分析

    爬取的网站 CSDN中我的个人主页 网址 https blog csdn net Faith cxz 可根据自己需要找寻对应网址 目的 获取到该主页的基本信息 包括文章标题 发表时间 访问量 排名等信息 全部代码可通过此gitee账号来获取
  • git stash !将目前还不想提交的但是已经修改的内容进行保存至堆栈

    git stash 命令 总的来说 git stash命令的作用就是将目前还不想提交的但是已经修改的内容进行保存至堆栈中 后续可以在某个分支上恢复出堆栈中的内容 在开发过程中 本地修改还未提交 或者暂时不能提交到仓库的时候 这个时候工作任务
  • 黑马Python教程实战项目--美多商城(一)

    一 项目介绍 这是跟着Python教程做的一个实战项目 美多商城 这个项目主要包括首页广告 注册 登陆 QQ登陆 个人中心 收货地址 我的订单 修改密码 商品列表 商品搜索 商品详情 购物车 结算订单 提交订单 支付宝支付 支付结果处理 订
  • 【ChatGLM】记录一次Windows部署ChatGLM-6B流程及遇到的问题

    文章目录 部署环境 文件下载 项目文件 模型配置文件 模型文件 运行demo 遇到的问题 部署环境 系统版本 Windows 10 企业版 版本号 20H2 系统类型 64 位操作系统 基于 x64 的处理器 处理器 Intel Core
  • Ubuntu安装Anaconda详细步骤(Ubuntu21.10,Anaconda3-5.3.1)

    1 下载anaconda3 在清华源镜像下载Linux版本的anaconda3 下载地址 Index of anaconda archive 清华大学开源软件镜像站 Tsinghua Open Source MirrorIndex of a
  • 使用mybatis example 和 java 8的特性来实现多表关联且带有查询条件的查询

    Mybatis Example的好处 使用了面向对象的思想 其关联数据库的单表查询都能自动生成 减少了劳动量 同时将复杂查询拆分成单表查询 加快了查询速度 让其复杂的关联在service层中使用代码进行拼装 这样处理速度会比一个大查询快得多
  • 【AdGuard Home】轻松实现全屋去广告与追踪,AdGuard Home助力更安全浏览体验

    序言 在当今越来越数字化的社会中 广告和追踪器成为了许多用户最不喜欢的东西之一 用户访问网站或使用应用程序时 经常会被恼人的广告和追踪器所干扰 甚至可能泄露个人隐私 这就是为什么广告拦截 反追踪插件变得越发受欢迎的原因 这些插件利用拦截规则