このプロジェクトについて
RootGuardは、Docker Composeで展開されるセルフホスト型のDNS保護スタックです。ネットワーク全体のDNSフィルタリングに使用されるAdGuard Homeと、DNS階層にクエリを送信しDNSSECを検証するプライベート再帰リゾルバのUnboundを組み合わせています。ネットワーク上のデバイスをこのスタックのDNSエンドポイントに向けることで、テレビ、スマートフォン、ゲーム機、コンピュータなどのクライアントにおいて、個別の拡張機能やアプリをインストールすることなく、広告や既知のトラッカーをブロックできます。READMEはドイツ語と英語で公開されています。
このプロジェクトは、独立してビルド可能な複数のコンポーネントを持つモノレポ構成となっています:
- RootGuard WebApp:ログイン、ダッシュボード、およびガイド付き管理。
- RootGuard Core:オーケストレーションと検証済み設定変更。
- RootGuard Updater:ロールバック機能を備えたCore/WebAppの協調アップデート。
- AdGuard Home:ネットワーク全体のDNSフィルタリング。
- Unbound:再帰的DNS解決とDNSSEC検証。
- rootguard-unbound:要塞化されたUnboundイメージ。
- rootguard-blockpage:ブロックされたリクエスト用のランディングページ。
- rootguard-attestation-proxy:cosignアテステーションチェック用のエグレスプロキシ。
以前の個別のリポジトリはアーカイブされており、履歴や古いIssueの参照のみ可能です。現在、アクティブな開発はこのモノレポでのみ行われています。
導入にはDocker Compose v2が必要です。リリース候補(RC)フェーズでは、amd64およびarm64用の既製イメージが提供されているため、ローカルでのビルドは不要です。ドキュメント化されたフローでは、タグに対応するcompose.release.yamlと.env.release.exampleをダウンロードし、openssl rand -hex 32で2つの独立したシークレットを生成し、.envに強力な管理者パスワードおよび個別のAPIトークンとリカバリトークンを設定して、docker composeでスタックを起動します。その後、ユーザーはポート8080でWeb GUIを開き、ガイド付きセットアップに従います。セットアップでは、推奨されるStableチャネルと、明示的に実験的なAdGuard Home Betaチャネルが提供されます。READMEでは、ベータ版にはバグが含まれている可能性があり、選択した場合はDNS解決とブロックをフェイルセーフとして扱ってはならないと警告しています。要件、ルーター設定、アップグレード、トラブルシューティングについては、オンラインハンドブックに記載されています。
Webインターフェースは、設定、アップデート、ヘルスチェック、診断、ロールバックを処理し、ローカルレコード、プライベートドメイン、条件付きフォワーディング、RFC1918リバースゾーンなどのガイド付きローカルDNS管理を、Unboundファイルを直接編集することなく提供します。
RootGuardは1.0に向けた公開リリース候補テスト段階にあり、メンテナーは、本番ネットワークにおける唯一のDNSサービスとして使用することはまだ推奨しないとしています。リポジトリには、アーキテクチャと信頼境界、現在のプロジェクト状態、ロードマップ、変更履歴、イメージダイジェストと保持ポリシー、検証済みインストールプラットフォーム、パフォーマンスとメモリのベースライン、およびアクセシビリティとセキュリティのレビューが記載されています。品質保証は、人間によるコードレビューと、バグやセキュリティリスクを検出するAI支援ツールを組み合わせて行われています。検出結果は人間によって検証された後に修正され、監査ラウンドは公開的にログに記録されます。コントリビューターガイド、「good first issue」および「help wanted」ラベルを通じて貢献が歓迎されており、セキュリティ上の問題は非公開で報告する必要があります。ソフトウェアはAGPL-3.0-or-laterライセンスで提供されており、RootGuardおよびFoxly ITの名前とロゴについては別途商標ポリシーが適用されます。READMEのスクリーンショットは、ドキュメント化されたデフォルトアカウントを使用し、隔離されたテストホスト上に検証展開されたものです。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.