下面是自定义过滤规则的一些语法说明。
||example.org^ – 拦截 example.org 域名及其所有子域名 @@||example.org^ – 放行 example.org 及其所有子域名 127.0.0.1 example.org – 将会把 example.org(但不包括它的子域名)解析到 127.0.0.1。 ! 注释符号,表示这是一行注释 # 这也是注释符号,同样表示这是一行注释 /REGEX/ – 正则表达式模式更多规则可以参考官方帮助文档:https://kb.adguard.com/en/general/dns-filtering-syntax
查询日志
AdGuard Home 管理界面中也为我们提供了 DNS 请求日志查询功能,在这里,我们不但能看见所有设备最近 5000 条的 DNS 请求日志记录。你还可以根据 DNS 请求日志记录来针对某个域名进行快速的拦截和放行操作。
调整配置参数,以提升 QPS 能力
AdGuard Home 所有的配置参数都保存在一个名为 AdGuardHome.yaml 的配置文件中。这个配置文件默认路径通常为 AdGuard Home 二进制文件 AdGuardHome 所在的目录,比如:/usr/local/bin/AdGuardHome.yaml。
这里我们只需调整以下两个参数,就是可以明显提升 AdGuard Home 的 QPS 能力。
ratelimit : DDoS 保护,客户端每秒接收的数据包数。默认值是 20,建议禁用该参数(将值改为 0)。
blocked_response_ttl : TTL 缓存时间,默认值是 10,建议设置为 60 。
这里在把 AdGuard Home 的配置文件完整版本也展示一下,有兴趣的同学可以自行研究下其它参数的用途哟!。
$ cat AdGuardHome.yaml bind_host: 0.0.0.0 bind_port: 80 auth_name: mike auth_pass: "123456" language: zh-cn rlimit_nofile: 0 dns: bind_host: 0.0.0.0 port: 53 protection_enabled: true filtering_enabled: true blocking_mode: nxdomain blocked_response_ttl: 60 querylog_enabled: true ratelimit: 0 ratelimit_whitelist: [] refuse_any: true bootstrap_dns: - 1.1.1.1:53 - 1.0.0.1:53 all_servers: true allowed_clients: [] disallowed_clients: [] blocked_hosts: [] parental_block_host: "" safebrowsing_block_host: "" blocked_services: [] parental_sensitivity: 13 parental_enabled: true safesearch_enabled: true safebrowsing_enabled: true resolveraddress: "" rewrites: [] upstream_dns: - https://1.1.1.1/dns-query - https://1.0.0.1/dns-query - 119.29.29.29 - 223.5.5.5 tls: enabled: false server_name: "" force_https: false port_https: 443 port_dns_over_tls: 853 certificate_chain: "" private_key: "" filters: - enabled: true url: https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt name: AdGuard Simplified Domain Names filter id: 1 - enabled: false url: https://adaway.org/hosts.txt name: AdAway id: 2 - enabled: false url: https://hosts-file.net/ad_servers.txt name: hpHosts - Ad and Tracking servers only id: 3 - enabled: false url: https://www.malwaredomainlist.com/hostslist/hosts.txt name: MalwareDomainList.com Hosts List id: 4 - enabled: true url: https://easylist-downloads.adblockplus.org/easylistchina.txt name: EasyList China id: 1569209532 user_rules: - '@@mps.ts' dhcp: enabled: false interface_name: "" gateway_ip: "" subnet_mask: "" range_start: "" range_end: "" lease_duration: 86400 icmp_timeout_msec: 1000 clients: [] log_file: "" verbose: false schema_version: 4 设置客户端 DNS所有以上设置完成后,最后当然是修改所有客户端的 DNS 设置,来享用 AdGuard Home 带来的强大的去广告功能。
这个其实真的不用写,我想聪明的你应该都知道这个怎么设置。写这个标题仅仅是为了保持文档完整性,如果你真的不会设置,那就请自行使用「」的搜索引擎搜索相关方法吧!
总结AdGuard Home 不但支持了 macOS、Windows、Linux、树莓派等多个系统平台,也提供了二进制和 Docker 的部署方式,让安装变得非常简单。AdGuard Home 自身提供的强大和直观的管理和统计系统,让它使用起来也是非常方便的。如果你打算自建一个支持去广告功能的公共 DNS,AdGuard Home 是非常值得一试的不二选择。
参考文档https://www.google.com
https://zhuanlan.zhihu.com/p/56804257
https://www.xiaoz.me/archives/12318
https://www.yangcs.net/posts/adguard-home/