Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
AdGuardHome — 全网广告与跟踪器拦截 DNS 服务器 | Kitploit
工具/GitHubGitHub/adguardteam/adguardhome
防御工具网络安全隐私保护DNS 分析
GitHubadguardteam/adguardhome

AdGuardHome

全网广告与跟踪器拦截 DNS 服务器

查看仓库网站
36.3k2.5k2天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

 

AdGuard Home

为您和您的设备提供隐私保护中心

免费且开源,功能强大的全网广告与跟踪器拦截 DNS 服务器。

AdGuard.com | Wiki | Reddit | Twitter | Telegram

代码覆盖率 Go 报告卡 Docker 拉取量
最新版本 adguard-home



AdGuard Home 是一款网络级广告拦截与跟踪防护软件。设置完成后,它将覆盖您家中所有设备,并且无需在设备上安装任何客户端软件。

它的运作方式是作为一个 DNS 服务器,将跟踪域名重新路由到“黑洞”,从而阻止您的设备连接到那些服务器。它基于我们用于公共 AdGuard DNS 服务器的软件,两者共享大量代码。

  • 开始使用
    • 自动安装(Linux/Unix/MacOS/FreeBSD/OpenBSD)
    • 其他方法
    • 指南
    • API
  • AdGuard Home 与其他解决方案的比较
    • 这与公共 AdGuard DNS 服务器有何不同?
    • AdGuard Home 与 Pi-Hole 相比如何
    • AdGuard Home 与传统广告拦截器相比如何
    • 已知限制
  • 如何从源码构建
    • 前提条件
    • 构建
  • 贡献
    • 测试不稳定版本
    • 报告问题
    • 帮助翻译
    • 其他
  • 使用 AdGuard Home 的项目
  • 致谢
  • 隐私

开始使用

自动安装(Linux/Unix/MacOS/FreeBSD/OpenBSD)

若要通过 curl 安装,请运行以下命令:```sh curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v

root@kitploit:~
要使用 `wget` 安装,请运行以下命令:```sh
wget --no-verbose -O - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v

要使用 fetch 安装,请运行以下命令:```sh fetch -o - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v

root@kitploit:~
该脚本还接受一些选项:

- `-c <channel>` 使用指定频道;
- `-r` 重新安装 AdGuard Home;
- `-u` 卸载 AdGuard Home;
- `-v` 输出详细信息。

请注意,选项 `-r` 和 `-u` 是互斥的。

### <a href="#alternative-methods" id="alternative-methods" name="alternative-methods">替代方法</a>

#### <a href="#manual-installation" id="manual-installation" name="manual-installation">手动安装</a>

请阅读我们 Wiki 上的 **[入门指南][wiki-start]** 文章,了解如何手动安装 AdGuard Home,以及如何配置你的设备以使用它。

#### <a href="#docker" id="docker" name="docker">Docker</a>

你可以在 [Docker Hub] 上使用我们的官方 Docker 镜像。

#### <a href="#snap-store" id="snap-store" name="snap-store">Snap Store</a>

如果你运行的是 **Linux,** 有一种安全且简单的方法可以安装 AdGuard Home:从 [Snap Store] 获取。

[Docker Hub]: https://hub.docker.com/r/adguard/adguardhome
[Snap Store]: https://snapcraft.io/adguard-home
[wiki-start]: https://adguard-dns.io/kb/adguard-home/getting-started/

### <a href="#guides" id="guides" name="guides">指南</a>

查看我们的 [Wiki][wiki]。

[wiki]: https://github.com/AdguardTeam/AdGuardHome/wiki

### <a href="#api" id="api" name="api">API</a>

如果你想与 AdGuard Home 集成,可以使用我们的 [REST API][openapi]。或者,你也可以使用这个 [python 客户端][pyclient],它可用于构建 [AdGuard Home Assistant 集成][assistant-integration]。

[assistant-integration]:   https://www.home-assistant.io/integrations/adguard/
[openapi]:  https://github.com/AdguardTeam/AdGuardHome/tree/master/openapi
[pyclient]: https://pypi.org/project/adguardhome/

## <a href="#comparison" id="comparison" name="comparison">将 AdGuard Home 与其他解决方案进行比较</a>

### <a href="#comparison-adguard-dns" id="comparison-adguard-dns" name="comparison-adguard-dns">这与公共 AdGuard DNS 服务器有何不同?</a>

运行你自己的 AdGuard Home 服务器可以让你做到比使用公共 DNS 服务器多得多的事情。这是完全不同的层次。你自己看看:

- 精确选择服务器阻止和允许的内容。

- 监控你的网络活动。

- 添加你自己的自定义过滤规则。

- **最重要的是,这是你自己的服务器,只有你拥有控制权。**

### <a href="#comparison-pi-hole" id="comparison-pi-hole" name="comparison-pi-hole">AdGuard Home 与 Pi-Hole 相比如何</a>

目前,AdGuard Home 与 Pi-Hole 有很多共同之处。两者都使用所谓的“DNS sinkholing”方法来阻止广告和跟踪器,并且都允许自定义被阻止的内容。

> [!NOTE]
> 我们不会止步于此。DNS sinkholing 并不是一个差的起点,但这仅仅是个开始。

AdGuard Home 开箱即用地提供了许多功能,无需安装和配置额外的软件。我们希望它足够简单,即使是普通用户也能以最少的努力完成设置。

> [!NOTE]
> 所列的某些功能可以通过安装额外软件,或手动使用 SSH 终端并重新配置 Pi-Hole 所包含的某个实用程序来添加到 Pi-Hole 中。然而,在我们看来,这不能合理地算作 Pi-Hole 的功能。

| 功能                                                                 | AdGuard&nbsp;Home | Pi-Hole                                                   |
|-------------------------------------------------------------------------|-------------------|-----------------------------------------------------------|
| 拦截广告和跟踪器                                               | ✅                | ✅                                                        |
| 自定义阻止列表                                                  | ✅                | ✅                                                        |
| 内置 DHCP 服务器                                                    | ✅                | ✅                                                        |
| 管理界面的 HTTPS                                           | ✅                | 某种程度上可以,但你需要手动配置 lighttpd   |
| 加密 DNS 上游服务器(DNS-over-HTTPS、DNS-over-TLS、DNSCrypt) | ✅                | ❌ (需要额外的软件)                         |
| 跨平台                                                          | ✅                | ❌ (非原生支持,只能通过 Docker)                        |
| 作为 DNS-over-HTTPS 或 DNS-over-TLS 服务器运行                      | ✅                | ❌ (需要额外的软件)                         |
| 拦截钓鱼和恶意软件域名                                   | ✅                | ❌ (需要非默认阻止列表)                      |
| 家长控制(拦截成人域名)                               | ✅                | ❌ (需要非默认阻止列表)                      |
| 在搜索引擎上强制安全搜索                                     | ✅                | ❌                                                        |
| 按客户端(设备)配置                                       | ✅                | ✅                                                        |
| 访问设置(选择谁可以使用 AGH DNS)                            | ✅                | ❌                                                        |
| 以 [无 root 权限][wiki-noroot] 运行                          | ✅                | ❌                                                        |

[wiki-noroot]: https://adguard-dns.io/kb/adguard-home/getting-started/

### <a href="#comparison-adblock" id="comparison-adblock" name="comparison-adblock">AdGuard Home 与传统广告拦截器相比如何</a>

视情况而定。

DNS sinkholing 能够拦截很大比例的广告,但它缺乏传统广告拦截器的灵活性和强大能力。你可以通过阅读 [这篇文章][blog-adaway] 来很好地了解这些方法之间的差异,该文章将 AdGuard for Android(一种传统广告拦截器)与 hosts 级广告拦截器(其能力与基于 DNS 的拦截器几乎相同)进行了比较。这种级别的保护对某些用户来说已经足够了。

此外,使用基于 DNS 的拦截器有助于在其他类型的设备上拦截广告、跟踪和分析请求,例如智能电视、智能音箱或其他类型的物联网设备(在这些设备上你无法安装传统的广告拦截器)。

### <a href="#comparison-limitations" id="comparison-limitations" name="comparison-limitations">已知限制</a>

以下是一些无法被 DNS 级拦截器拦截的示例:

- YouTube、Twitch 广告;

- Facebook、Twitter、Instagram 的赞助帖。

从本质上讲,任何与内容共享域名的广告都无法被 DNS 级拦截器拦截。

未来有机会解决这个问题吗?DNS 永远不足以做到这一点。我们唯一的选择是使用内容拦截代理,就像我们在独立的 AdGuard 应用中所做的那样。我们 [将在未来][issue-1228] 为 AdGuard Home 带来这一功能支持。不幸的是,即使在这种情况下,仍会有一些情况是这不够用的,或者需要相当复杂的配置。

[blog-adaway]: https://adguard.com/blog/adguard-vs-adaway-dns66.html
[issue-1228]:  https://github.com/AdguardTeam/AdGuardHome/issues/1228

## <a href="#how-to-build" id="how-to-build" name="how-to-build">如何从源代码构建</a>

### <a href="#prerequisites" id="prerequisites" name="prerequisites">先决条件</a>

运行 `make init` 来准备开发环境。

构建 AdGuard Home 需要以下条件:

- [Go](https://golang.org/dl/) v1.25 或更高版本;
- [Node.js](https://nodejs.org/en/download/) v24.10.0 或更高版本;
- [npm](https://www.npmjs.com/) v10.8 或更高版本;

### <a href="#building" id="building" name="building">构建</a>

打开你的终端并执行以下命令:```sh
git clone https://github.com/AdguardTeam/AdGuardHome
cd AdGuardHome
make

[!WARNING] 非标准的 -j 标志目前不受支持,因此使用 make -j 4 构建,或将你的 MAKEFLAGS 设置为包含例如 -j 4,很可能会破坏构建。如果你确实已将 MAKEFLAGS 设置为该值,并且不想更改它,可以通过运行 make -j 1 来覆盖它。

查看 Makefile 以了解其他命令。

为不同平台构建

你可以为 Go 支持的任何 OS/ARCH 构建 AdGuard Home。为此,请在运行 make 时将 GOOS 和 GOARCH 环境变量作为宏指定。

例如:```sh env GOOS='linux' GOARCH='arm64' make

root@kitploit:~
或:```sh
make GOOS='linux' GOARCH='arm64'

准备发布

你需要 snapcraft 来准备发布构建。安装完成后,运行以下命令:```sh make build-release CHANNEL='...' VERSION='...'

root@kitploit:~
参见 [`build-release` 目标文档][targ-release]。

#### <a href="#docker-image" id="docker-image" name="docker-image">Docker 镜像</a>

运行 `make build-docker` 可在本地构建 Docker 镜像(即我们发布到 DockerHub 的那个)。请注意,我们使用 [Docker Buildx][buildx] 来构建我们的官方镜像。

在使用这些构建之前,您可能需要做一些准备:

- (仅限 Linux)安装 Qemu:  ```sh
  docker run --rm --privileged multiarch/qemu-user-static --reset -p yes --credential yes
  • 准备构建器: ```sh docker buildx create --name buildx-builder --driver docker-container --use
    root@kitploit:~

参见 build-docker 目标文档。

调试前端

当您需要调试前端而不必每次都重新编译生产版本时(例如,检查标签在表单上的显示效果),您可以在开发环境中运行前端构建。

  1. 在单独的终端中,运行: ```sh ( cd ./client/ && env NODE_ENV='development' npm run watch )

    root@kitploit:~
  2. 运行您的 AdGuardHome 二进制文件并加上 --local-frontend 标志,该标志指示 AdGuard Home 忽略内置的前端文件,并使用 ./build/ 目录中的文件。

  3. 现在,您在 ./client/ 目录中所做的任何更改都应被重新编译,并在 Web UI 上可用。请确保禁用浏览器缓存,以确保您实际上获得的是重新编译后的版本。

端到端(E2E)前端测试

AdGuard Home 使用 Playwright 进行 E2E 测试。测试位于 tests/e2e。

运行测试:

  • npm run test:e2e – 运行所有测试(无头模式)。
  • npm run test:e2e:interactive – 以交互方式运行测试。
  • npm run test:e2e:debug – 在调试模式下运行测试。
  • npm run test:e2e:codegen – 生成新的测试代码。

设置:

  1. 运行 npm install 安装依赖。
  2. 运行 npx playwright install 设置所需的浏览器。

警告: Playwright 会下载并安装自己的浏览器二进制文件用于测试,这些文件可能与您系统中安装的浏览器不同。

贡献

欢迎您 fork 此仓库,进行修改并提交拉取请求。不过,请务必遵循我们的代码指南。

请注意,我们不期望人们同时为程序的 UI 和后端部分做出贡献。理想情况下,后端部分首先实现,即配置、API 和功能本身。UI 部分可以稍后由不同的人在另一个拉取请求中实现。

测试不稳定版本

有两个更新渠道可供您使用:

  • beta:AdGuard Home 的 beta 版本。或多或少稳定的版本,通常每两周或更频繁地发布。

  • edge:来自开发分支的最新版 AdGuard Home。新更新每天推送到此渠道。

您可以通过以下三种方式安装不稳定版本:

  1. [Snap Store]:查找 beta 和 edge 渠道。

  2. [Docker Hub]:查找 beta 和 edge 标签。

  3. 独立构建。使用自动安装脚本或[在 Wiki 上][wiki-platf]查找可用构建。

    安装 beta 版本的脚本: ```sh curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -c beta

    root@kitploit:~

Script to install an edge version:

安装边缘版本的脚本: ```sh curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -c edge

root@kitploit:~
[wiki-platf]: https://github.com/AdguardTeam/AdguardHome/wiki/Platforms

### <a href="#reporting-issues" id="reporting-issues" name="reporting-issues">报告问题</a>

如果你遇到任何问题或有建议,请前往[此页面][iss]并点击“新建问题”按钮。请仔细遵循问题表单中的说明,别忘了先搜索重复问题。

[iss]: https://github.com/AdguardTeam/AdguardHome/issues

### <a href="#translate" id="translate" name="translate">帮助翻译</a>

如果你想帮助 AdGuard Home 的翻译,请在我们的[知识库][kb-trans]中了解更多关于翻译 AdGuard 产品的信息。你可以为 [CrowdIn 上的 AdGuardHome 项目][crowdin]做出贡献。

[crowdin]:  https://crowdin.com/project/adguard-applications/en#/adguard-home
[kb-trans]: https://kb.adguard.com/en/general/adguard-translations

### <a href="#help-other" id="help-other" name="help-other">其他</a>

另一种贡献方式是通过[寻找标记为 `help wanted` 的问题][iss-help],询问该问题是否可认领,然后提交一个修复错误或实现功能的 PR。

[iss-help]: https://github.com/AdguardTeam/AdguardHome/issues?q=is:issue+is:open+label:%22help+wanted%22

## <a href="#uses" id="uses" name="uses">使用 AdGuard Home 的项目</a>

请注意,这些项目与 AdGuard 没有关联,而是由第三方开发者和粉丝制作的。

- [AdGuard Home Remote](https://apps.apple.com/app/apple-store/id1543143740): 由 [Joost](https://rocketscience-it.nl/) 开发的 iOS 应用。

- [Python 库](https://github.com/frenck/python-adguardhome) 由 [@frenck](https://github.com/frenck) 开发。

- [Home Assistant 插件](https://github.com/hassio-addons/addon-adguard-home) 由 [@frenck](https://github.com/frenck) 开发。

- [OpenWrt LUCI 应用](https://github.com/kongfl888/luci-app-adguardhome) 由 [@kongfl888](https://github.com/kongfl888) 开发(最初由 [@rufengsuixing](https://github.com/rufengsuixing) 开发)。

- [AdGuardHome 同步](https://github.com/bakito/adguardhome-sync) 由 [@bakito](https://github.com/bakito) 开发。

- [基于终端的 AdGuard Home 实例实时流量监控与统计](https://github.com/Lissy93/AdGuardian-Term) 由 [@Lissy93](https://github.com/Lissy93)

- [GLInet 路由器上的 AdGuard Home](https://forum.gl-inet.com/t/adguardhome-on-gl-routers/10664) 由 [Gl-Inet](https://gl-inet.com/) 发布。

- [Cloudron 应用](https://git.cloudron.io/cloudron/adguard-home-app) 由 [@gramakri](https://github.com/gramakri) 开发。

- [Asuswrt-Merlin-AdGuardHome-Installer](https://github.com/jumpsmm7/Asuswrt-Merlin-AdGuardHome-Installer) 作者 [@jumpsmm7](https://github.com/jumpsmm7),又名 [@SomeWhereOverTheRainBow](https://www.snbforums.com/members/somewhereovertherainbow.64179/)。

- [Node.js 库](https://github.com/Andrea055/AdguardHomeAPI) 由 [@Andrea055](https://github.com/Andrea055/) 开发。

- [浏览器扩展](https://github.com/satheshshiva/Adguard-Home-Browser-Ext) 由 [@satheshshiva](https://github.com/satheshshiva/) 开发。

- [AdGuard Home 的 Zabbix 模板](https://github.com/diasdmhub/AdGuard_Home_Zabbix_Template) 由 [@diasdmhub](https://github.com/diasdmhub) 提供。

- [Chocolatey 软件包](https://community.chocolatey.org/packages/adguardhome/) 由 [niks255](https://community.chocolatey.org/profiles/niks255) 打包。

- [ZimaOS 应用商店条目](https://www.zimaspace.com/zimaos/app-store/app/org.icewhale.adguardhome) 由 [CasaOS 团队](https://casaos.zimaspace.com/) 提供。

## <a href="#acknowledgments" id="acknowledgments" name="acknowledgments">致谢</a>

如果没有以下项目,这个软件就不可能实现:

- [Go](https://golang.org/dl/) 及其库:
 - [gcache](https://github.com/bluele/gcache)
 - [miekg's dns](https://github.com/miekg/dns)
 - [go-yaml](https://github.com/go-yaml/yaml)
 - [service](https://godoc.org/github.com/kardianos/service)
 - [dnsproxy](https://github.com/AdguardTeam/dnsproxy)
 - [urlfilter](https://github.com/AdguardTeam/urlfilter)
- [Node.js](https://nodejs.org/) 及其库:
 - [React.js](https://reactjs.org)
 - [Tabler](https://github.com/tabler/tabler)
 - 以及更多 Node.js 包。
- [whotracks.me 数据](https://github.com/cliqz-oss/whotracks.me)

你可能以前在这里看到过 [CoreDNS],但我们已停止在 AdGuard Home 中使用它。

如需查看所有正在使用的 Node.js 包的完整列表,请查看 [`client/package.json`][src-packagejson] 文件。

[CoreDNS]:         https://coredns.io
[src-packagejson]: https://raw.githubusercontent.com/AdguardTeam/AdguardHome/master/client/package.json

## <a href="#privacy" id="privacy" name="privacy">隐私</a>

我们的核心理念是,你才是那个应该掌控自己数据的人。因此,AdGuard Home 自然不收集任何使用统计信息,除非你进行配置,否则也不会使用任何网络服务。另请参阅[完整隐私政策][privacy],其中列出了 AdGuard Home *理论上可能发送* 的每一比特数据。

[privacy]: https://adguard.com/en/privacy/home.html
下载工具