
無料でオープンソースな、ネットワーク全体で広告とトラッカーをブロックする強力なDNSサーバーです。
AdGuard.com |
Wiki |
Reddit |
Twitter |
Telegram
AdGuard Homeは、広告とトラッキングをブロックするネットワーク全体向けのソフトウェアです。セットアップ後は、家庭内のすべてのデバイスをカバーし、そのためにクライアント側のソフトウェアは一切必要ありません。
これは、トラッキングドメインを“ブラックホール”にリダイレクトするDNSサーバーとして動作し、デバイスがそれらのサーバーに接続するのを防ぎます。このソフトウェアは、当社のパブリックAdGuard DNSサーバーで使用しているソフトウェアに基づいており、両者は多くのコードを共有しています。
curlを使ってインストールするには、次のコマンドを実行します:```sh
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
`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
このスクリプトは以下のオプションも受け付けます:
- `-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>
AdGuard Home を手動でインストールする方法と、デバイスがそれを使用するように設定する方法については、当社の Wiki の **[Getting Started][wiki-start]** 記事をお読みください。
#### <a href="#docker" id="docker" name="docker">Docker</a>
公式の Docker イメージは [Docker Hub] で利用できます。
#### <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 シンクホーリングは悪い出発点ではありませんが、これはほんの始まりにすぎません。
AdGuard Home は、追加のソフトウェアをインストールして設定する必要なく、多くの機能をすぐに利用できます。カジュアルなユーザーでも最小限の労力でセットアップできるほどシンプルであることを目指しています。
> [!NOTE]
> リストされている機能の一部は、追加のソフトウェアをインストールしたり、SSH ターミナルを手動で使用して Pi-Hole を構成するユーティリティの 1 つを再設定したりすることで Pi-Hole に追加できます。ただし、当社の意見では、これは Pi-Hole の機能として正当にカウントすることはできません。
| 機能 | AdGuard 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 シンクホーリングは広告の大部分をブロックできますが、従来の広告ブロッカーが持つ柔軟性とパワーには欠けています。この方法の違いについての良い印象を得るには、AdGuard for Android (従来の広告ブロッカー) と hosts レベルの広告ブロッカー (その機能は DNS ベースのブロッカーとほぼ同じ) を比較した[この記事][blog-adaway]を読んでください。このレベルの保護は一部のユーザーにとって十分です。
さらに、DNS ベースのブロッカーを使用すると、従来の広告ブロッカーをインストールできない SmartTV、スマートスピーカー、その他の種類の IoT デバイスなどで、広告、トラッキング、アナリティクスリクエストをブロックするのに役立ちます。
### <a href="#comparison-limitations" id="comparison-limitations" name="comparison-limitations">既知の制限</a>
DNS レベルのブロッカーではブロックできないものの例をいくつか示します:
- YouTube、Twitch の広告;
- Facebook、Twitter、Instagram のスポンサー投稿。
基本的に、コンテンツとドメインを共有する広告は DNS レベルのブロッカーではブロックできません。
将来的にこれを処理できる可能性はあるのでしょうか? DNS だけでは決して十分ではありません。唯一の選択肢は、スタンドアロンの AdGuard アプリケーションで行っているようなコンテンツブロッキングプロキシを使用することです。私たちは将来的にこの機能サポートを AdGuard Home に[導入する予定][issue-1228]です。残念ながら、この場合でも、それだけでは不十分なケースや、かなり複雑な設定が必要になるケースが依然として存在します。
[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 を確認して、他のコマンドについて学んでください。
AdGuard Home は、Go がサポートしている任意の OS/ARCH 向けにビルドできます。これを行うには、make を実行する際に GOOS と GOARCH 環境変数をマクロとして指定します。
例:```sh env GOOS='linux' GOARCH='arm64' make
または:```sh
make GOOS='linux' GOARCH='arm64'
リリースビルドを準備するには snapcraft が必要です。インストールしたら、次のコマンドを実行してください:```sh
make build-release CHANNEL='...' VERSION='...'
[`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
See the build-docker ターゲットのドキュメントを参照してください。
本番バージョンを毎回再コンパイルせずにフロントエンドをデバッグする必要がある場合、例えばフォーム上でラベルがどのように見えるかを確認する場合などは、開発環境でフロントエンドのビルドを実行できます。
別のターミナルで、次を実行します: ```sh ( cd ./client/ && env NODE_ENV='development' npm run watch )
--local-frontend フラグを指定して AdGuardHome バイナリを実行します。これにより、AdGuard Home は組み込みのフロントエンドファイルを無視し、./build/ ディレクトリ内のファイルを使用するようになります。
これで、./client/ ディレクトリに加えた変更は再コンパイルされ、Web UI で利用できるようになります。実際に再コンパイルされたバージョンが反映されるよう、ブラウザのキャッシュを無効にしてください。
AdGuard Home は E2E テストに Playwright を使用しています。テストは tests/e2e にあります。
テストの実行:
npm run test:e2e – すべてのテストを実行(ヘッドレス)。npm run test:e2e:interactive – テストを対話的に実行。npm run test:e2e:debug – デバッグモードでテストを実行。npm run test:e2e:codegen – 新しいテストコードを生成。セットアップ:
npm install を実行して依存関係をインストールします。npx playwright install を実行して必要なブラウザをセットアップします。警告: Playwright はテスト用に独自のブラウザバイナリをダウンロードしてインストールします。これはお使いのシステムにインストールされているブラウザとは異なる場合があります。
このリポジトリをフォークして変更を加え、プルリクエストを送信 していただいて構いません。ただし、コードガイドライン に従ってください。
なお、プログラムの UI 部分とバックエンド部分の両方に同時にコントリビュートしていただく必要はありません。理想的には、最初にバックエンド部分(設定、API、機能自体)を実装します。UI 部分は後日、別のプルリクエストで別の人が実装することができます。
次の 2 つのアップデートチャンネルを使用できます:
beta: AdGuard Home のベータ版。比較的安定したバージョンで、通常は 2 週間ごとまたはそれ以上の頻度でリリースされます。
edge: 開発ブランチからの最新版の AdGuard Home。新しいアップデートが毎日このチャンネルにプッシュされます。
不安定版をインストールするには、次の 3 つのオプションがあります:
[Snap Store]: beta チャンネルと edge チャンネルを探します。
[Docker Hub]: beta タグと edge タグを探します。
スタンドアロンビルド。自動インストールスクリプトを使用するか、[Wiki][wiki-platf] で利用可能なビルドを探します。
ベータ版をインストールするスクリプト: ```sh curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -c beta
エッジ版をインストールするスクリプト: ```sh curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -c edge
[wiki-platf]: https://github.com/AdguardTeam/AdGuardHome/wiki/Platforms
### <a href="#reporting-issues" id="reporting-issues" name="reporting-issues">問題を報告する</a>
問題が発生した場合や提案がある場合は、[このページ][iss] にアクセスし、“New issue” ボタンをクリックしてください。issue フォームの指示に注意深く従い、最初に重複を検索することを忘れないでください。
[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>
もう一つの貢献方法は、[issue を探す][iss-help]ときに `help wanted` とマークされているかを確認し、その issue が対応可能かどうかを尋ね、バグを修正したり機能を実装したりする 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 sync](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 App Store への掲載](https://www.zimaspace.com/zimaos/app-store/app/org.icewhale.adguardhome)([CasaOS Team](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 が使用統計を収集せず、設定しない限りウェブサービスを使用しないのは当然のことです。AdGuard Home が*理論上送信し得る*すべての情報を含む[完全なプライバシーポリシー][privacy]もご覧ください。
[privacy]: https://adguard.com/en/privacy/home.html