Adguard Home去广告

最后更新于:

Adguard Home去广告

1 序言

事情是这样的,经常被小米腾讯广告骚扰,而且公共 DNS 很容易被污染,所以我就想着弄个 DNS 服务在本地,DNS服务有很多,但是我喜欢 AdGuard Home‌,以后简称 adg。


2 什么是 Adguard Home

AdGuard Hom 是一款开源的全网广告拦截与反跟踪软件,特别适用于家庭网络环境。它通过 DNS 服务器拦截广告、跟踪器和恶意软件,保护用户的隐私和网络安。

https://img.nw177.cn/blog/10.docker/1004-AdguardHome去广告-01-adg-01.webp

2.1 广告拦

AdGuard Home 能够拦截网站、应用程序和游戏中的广告,保护用户的在线体验不受干。

2.2 隐私保

通过 DNS 层面过滤广告,防止跟踪脚本获取用户的个人信息,保护用户的隐。

2.3 恶意软件防

除了广告和跟踪器,AdGuard Home 还能拦截恶意软件,确保网络环境的安全。

2.4 全局DNS服服

用户可以通过设置网络设备使用 AdGuard Home 的DNS服务,从而保护整个家庭网络的隐私和安全。

2.5 开源特性

AdGuard Home 是开源软件,用户可以根据自己的需求定制规则,实现更精准的拦截。


3 怎么安装 Adguard Home

3.1 OpenWRT 安装 Adguard Home

OpenWRT 要么找有安装好 adg 的固件,如果没有就去下面两个地方下载了手动安装,一个是 arm 一个是 x86。

1#x86
2https://raw.githubusercontent.com/AUK9527/Are-u-ok/main/x86/all/adguardhome.run
3#arm
4https://raw.githubusercontent.com/AUK9527/Are-u-ok/refs/heads/main/apps/all/adguardhome.run

上传文件就可以安装了,玩openwrt的人应该都会。

3.2 docker安装 Adguard Home

我更喜欢用这个方法安装,docker 真的很好用。我先把我的 docker 树目录再放出来,方便你修改路径,如果和我一样的路径就不需要修改。

 1/root根目录
 2├── mnt
 3| ├── docker            
 4|   ├── apps
 5|      ├── Adguard Home 
 6|        ├── data        # 数据存储路径
 7|        ├── conf        # 配置文件路径
 8|        ├── rule        # rule文件路径
 9|   ├── docker-compose
10|      ├── Adguard Home.yaml      

首先我们需要获取以下网卡名称,然后在下面yaml文件中换对应的网卡名称,这一步很重要。

其次我们可以设置自己需要的独立 ip,也就是 docker 里面的 macvlan。

 1# 官方文档
 2# https://hub.docker.com/r/adguard/adguardhome
 3
 4# 在ssh输入
 5# ip addr
 6# 获取到ip那个就是网卡名称,比如br-lan,enp5s0
 7
 8# ---
 9
10name: adguardhome
11# 最后编辑时间:2025-08-19
12services:
13  adguardhome: 
14    # 镜像地址
15    image: adguard/adguardhome:latest 
16    # 容器名称
17    container_name: adguardhome  
18    # 主机名
19    hostname: adguardhome 
20    # 路径
21    volumes:
22      # 数据存储路径
23      - /mnt/docker/apps/adguardhome/data:/opt/adguardhome/work  
24      # 配置文件路径
25      - /mnt/docker/apps/adguardhome/conf:/opt/adguardhome/conf  
26      # rule文件路径
27      - /mnt/docker/apps/adguardhome/rule:/opt/adguardhome/rule  
28    # 网络模式,macvlan独立IP
29    networks:
30      macvlan_net:
31        # 输入独立IP
32        ipv4_address: 192.168.x.x
33    ports:
34      # 需要开放的端口880,881,882,53,853,8853,67,68
35      # DNS 基础端口(需同时开放 TCP/UDP)
36      - 53:53/tcp        # 标准 DNS 协议端口(TCP,用于大型 DNS 响应)
37      - 53:53/udp        # 标准 DNS 协议端口(UDP,常规 DNS 请求)
38      
39      # 加密 DNS 协议端口
40      - 853:853/tcp      # DNS-over-TLS (DoT),加密 DNS 通信
41      - 853:853/udp      # DNS-over-QUIC (DoQ),基于 UDP 的低延迟加密协议
42      #- 8853:8853/udp    # 备用 DoQ 端口(部分客户端兼容性需求)
43      
44      # 加密 DNS DoH 协议端口
45      - 443:443/tcp
46      - 443:443/udp
47      
48      # 重定向 HTTP WebUI 管理端口
49      - 80:80/tcp       # HTTP 管理界面
50      - 80:80/udp 
51      - 3000:3000/tcp     # WebUI 控制台端口
52      - 3000:3000/udp
53      
54      # 高级功能端口(按需开放)
55      #- 67:67/udp        # DHCP 服务端口(若需提供 DHCP 服务)
56      #- 68:68/udp        # DHCP 客户端端口
57    # 重启策略,总是重启
58    restart: always 
59
60# 设置网络,macvlan
61networks:
62  macvlan_net:
63    driver: macvlan
64    driver_opts:
65      # 指定物理网络接口,linux请用ip addr查询
66      parent: enp5s0  
67    ipam:
68      config:
69        # 设置网段/子网掩码
70        - subnet: 192.168.x.0/24

3.3 其他安装方法

其他方法略,自我查找。


4 怎么配置 Adguard Home

4.1 非加密上游 DNS 服务器

如图所示,在里面填上DNS。

1119.29.29.29
2223.5.5.5
3223.6.6.6
4114.114.114.114
58.8.8.8
68.8.4.4
74.2.2.2
84.2.2.1
91.1.1.1

https://img.nw177.cn/blog/10.docker/1004-AdguardHome去广告-01-adg-02.webp

4.2 加密上游 DNS 服务器

首先需要去下面链接下载 dns 分流规则,其次用将这个文件上传到路径为 /mnt/docker/apps/adguardhome/rule 里面。

1# dns分流上游规则
2https://gitee.com/nw177/adg_rule/blob/master/dns-2.0.txt

最后在路径为 /mnt/docker/apps/adguardhome/conf/AdGuardHome.yaml 文件中修改这一行。

1# 编辑yaml文件
2nano /mnt/docker/apps/adguardhome/conf/AdGuardHome.yaml
3# 编辑upstream_dns_file这一行,后面添加文件路径
4upstream_dns_file: /opt/adguardhome/rule/dns-2.0.txt

这样重启 adg 的 docker 我们就修改成功了,上游分流 dns 文件。其实如果你会修改这个 yaml 文件我们直接可以修改这个的。

4.3 DNS 设置

打开并行请求,如图所示。

https://img.nw177.cn/blog/10.docker/1004-AdguardHome去广告-01-adg-03.webp

https://img.nw177.cn/blog/10.docker/1004-AdguardHome去广告-02-dns-01.webp

https://img.nw177.cn/blog/10.docker/1004-AdguardHome去广告-02-dns-02.webp

https://img.nw177.cn/blog/10.docker/1004-AdguardHome去广告-02-dns-03.webp

https://img.nw177.cn/blog/10.docker/1004-AdguardHome去广告-02-dns-04.webp

https://img.nw177.cn/blog/10.docker/1004-AdguardHome去广告-02-dns-05.webp

修改黄色框的几个内容,还有填写运营商的 dns。

1# 云南电信dns
2222.172.200.68
361.166.150.123
4
5# 云南联通dns
6221.3.131.11
7221.3.131.12

4.4 黑名单设置

https://img.nw177.cn/blog/10.docker/1004-AdguardHome去广告-02-dns-06.webp

添加黑名单内容。

1# 海哥
2https://ghfast.top/https://raw.githubusercontent.com/2771936993/HG/main/hg1.txt
3# hosts
4https://file-git.trli.club/file-hosts/ad-hosts/hosts
5# adblock
6https://file-git.trli.club/file-hosts/ad-hosts/adblock

4.5 白名单设置

添加白名单内容。

1# Domains
2https://file-git.trli.club/file-hosts/allow/Domains
3# adblock
4https://file-git.trli.club/file-hosts/allow/adblock

5 怎么使用 Adguard Home 的 dns

使用很简单,因为是独立 IP,直接在主路由中设置 adg 的 ip 为 dns 就可以了。

我这里以爱快和openwrt为例子,如图所示。

https://img.nw177.cn/blog/10.docker/1004-AdguardHome去广告-02-dns-07.webp

https://img.nw177.cn/blog/10.docker/1004-AdguardHome去广告-02-dns-08.webp


6 Adguard Home 的配置文件(直接暴力管饭)

首先只需要上传上游分流规则文件。

其次把里面的加密登陆账号和密码改成你安装时候设置的,这个账号和加密的密码是你注册 adg 时候给的的在你本来的那个 yaml 文件里面找。

最后只需要改一下运营商 dns 就可以。

  1http:
  2  pprof:
  3    port: 6060
  4    enabled: false
  5  address: 0.0.0.0:80
  6  session_ttl: 720h
  7users:
  8  # 登录账号,开始注册的。
  9  - name: 
 10  #登录密码,密码是加密的。
 11    password: 
 12auth_attempts: 5
 13block_auth_min: 15
 14http_proxy: ""
 15language: ""
 16theme: auto
 17dns:
 18  bind_hosts:
 19    - 0.0.0.0
 20  port: 53
 21  anonymize_client_ip: false
 22  ratelimit: 20
 23  ratelimit_subnet_len_ipv4: 24
 24  ratelimit_subnet_len_ipv6: 56
 25  ratelimit_whitelist: []
 26  refuse_any: true
 27  upstream_dns:
 28    - https://dns.alidns.com/dns-query
 29    - https://223.5.5.5/dns-query
 30  # 修改上游分流规则文件路径  
 31  upstream_dns_file: /opt/adguardhome/rule/dns-2.0.txt
 32  bootstrap_dns:
 33  # 修改运营商dns,也可以用大厂的dns比如腾讯、阿里
 34  # 这里需要改成你运营商的dns最好
 35    - 221.3.131.11
 36    - 221.3.131.12
 37  fallback_dns: []
 38  upstream_mode: parallel
 39  fastest_timeout: 1s
 40  allowed_clients: []
 41  disallowed_clients: []
 42  blocked_hosts:
 43    - version.bind
 44    - id.server
 45    - hostname.bind
 46  trusted_proxies:
 47    - 127.0.0.0/8
 48    - ::1/128
 49  cache_size: 4194304
 50  cache_ttl_min: 60
 51  cache_ttl_max: 600
 52  cache_optimistic: true
 53  bogus_nxdomain: []
 54  aaaa_disabled: false
 55  enable_dnssec: true
 56  edns_client_subnet:
 57    custom_ip: ""
 58    enabled: true
 59    use_custom: false
 60  max_goroutines: 300
 61  handle_ddr: true
 62  ipset: []
 63  ipset_file: ""
 64  bootstrap_prefer_ipv6: false
 65  upstream_timeout: 10s
 66  private_networks: []
 67  use_private_ptr_resolvers: false
 68  local_ptr_upstreams: []
 69  use_dns64: false
 70  dns64_prefixes: []
 71  serve_http3: false
 72  use_http3_upstreams: false
 73  serve_plain_dns: true
 74  hostsfile_enabled: true
 75tls:
 76  enabled: false
 77  server_name: ""
 78  force_https: false
 79  port_https: 443
 80  port_dns_over_tls: 853
 81  port_dns_over_quic: 853
 82  port_dnscrypt: 0
 83  dnscrypt_config_file: ""
 84  allow_unencrypted_doh: false
 85  certificate_chain: ""
 86  private_key: ""
 87  certificate_path: ""
 88  private_key_path: ""
 89  strict_sni_check: false
 90querylog:
 91  dir_path: ""
 92  ignored: []
 93  interval: 2160h
 94  size_memory: 1000
 95  enabled: true
 96  file_enabled: true
 97statistics:
 98  dir_path: ""
 99  ignored: []
100  interval: 24h
101  enabled: true
102filters:
103  #黑名单规则
104  - enabled: true
105    url: https://ghproxy.net/https://raw.githubusercontent.com/qq5460168/666/master/rules.txt
106    name: rule2.0
107    id: 1737124284
108  - enabled: true
109    url: https://file-git.trli.club/file-hosts/ad-hosts/hosts
110    name: ad-hosts
111    id: 1738545601
112  - enabled: true
113    url: https://file-git.trli.club/file-hosts/ad-hosts/adblock
114    name: adblock
115    id: 1738545602
116whitelist_filters:
117  #白名单规则
118  - enabled: true
119    url: https://file-git.trli.club/file-hosts/allow/Domains
120    name: Domains
121    id: 1738545604
122  - enabled: true
123    url: https://file-git.trli.club/file-hosts/allow/adblock
124    name: adblock
125    id: 1738545605
126user_rules: []
127dhcp:
128  enabled: false
129  interface_name: ""
130  local_domain_name: lan
131  dhcpv4:
132    gateway_ip: ""
133    subnet_mask: ""
134    range_start: ""
135    range_end: ""
136    lease_duration: 86400
137    icmp_timeout_msec: 1000
138    options: []
139  dhcpv6:
140    range_start: ""
141    lease_duration: 86400
142    ra_slaac_only: false
143    ra_allow_slaac: false
144filtering:
145  blocking_ipv4: ""
146  blocking_ipv6: ""
147  blocked_services:
148    schedule:
149      time_zone: UTC
150    ids: []
151  protection_disabled_until: null
152  safe_search:
153    enabled: false
154    bing: true
155    duckduckgo: true
156    ecosia: true
157    google: true
158    pixabay: true
159    yandex: true
160    youtube: true
161  blocking_mode: default
162  parental_block_host: family-block.dns.adguard.com
163  safebrowsing_block_host: standard-block.dns.adguard.com
164  rewrites: []
165  safe_fs_patterns:
166    - /opt/adguardhome/work/userfilters/*
167  safebrowsing_cache_size: 1048576
168  safesearch_cache_size: 1048576
169  parental_cache_size: 1048576
170  cache_time: 30
171  filters_update_interval: 24
172  blocked_response_ttl: 10
173  filtering_enabled: true
174  parental_enabled: false
175  safebrowsing_enabled: false
176  protection_enabled: true
177clients:
178  runtime_sources:
179    whois: true
180    arp: true
181    rdns: true
182    dhcp: true
183    hosts: true
184  persistent: []
185log:
186  enabled: true
187  file: ""
188  max_backups: 0
189  max_size: 100
190  max_age: 3
191  compress: false
192  local_time: false
193  verbose: false
194os:
195  group: ""
196  user: ""
197  rlimit_nofile: 0
198schema_version: 29
推荐使用微信支付
微信支付二维码
推荐使用支付宝
支付宝二维码
最新文章

文档导航

此分类暂无内容