ブロック状
Blocky は、Go で書かれたローカル ネットワーク用の DNS プロキシおよび広告ブロッカーであり、次の機能を備えています。
特徴
ブロック- 外部リスト (広告ブロック、マルウェア) と許可リストによる DNS クエリのブロック
- クライアント グループごとの許可/拒否リストの定義 (子供、スマート ホーム デバイスなど)
- 外部の許可/拒否リストの定期的なリロード
- 正規表現のサポート
- リクエスト ドメイン、レスポンス CNAME (ディープ CNAME インスペクション)、およびレスポンス IP アドレス (IP リストに対する) のブロック
高度な DNS 構成- 単なる広告ブロッカーではない
- 特定のドメイン名のカスタム DNS 解決
- 外部DNSサーバーへの条件付き転送
- アップストリームリゾルバーはクライアントグループごとに定義可能
パフォーマンス- ネットワークの速度とパフォーマンスを向上させます。
- クエリに対する DNS 回答のカスタマイズ可能なキャッシュ -> DNS 解決速度が向上し、外部 DNS クエリの量が削減されます。
- よく使用されるクエリのプリフェッチとキャッシュ
- 複数の外部リゾルバを同時に使用する
- メモリ使用量が少ない
さまざまなプロトコル- 最新の DNS プロトコルをサポート
- UDP および TCP 上の DNS
- DNS over HTTPS (別名 DoH)
- DNS over TLS (別名 DoT)
セキュリティとプライバシー- 安全な通信
- 最新の DNS 拡張機能をサポート: DNSSEC、eDNS など
- 無料で構成可能なブロックリスト - 非表示のフィルタリングなどはありません。
- DoH エンドポイントを提供します
- 構成からランダムなアップストリーム リゾルバーを使用します - 複数のプロバイダーに DNS トラフィックを分散することでプライバシーを強化します
- Blocky はユーザーデータ、テレメトリ、統計などを収集しません。
統合- 各種統合
- プロメテウスのメトリクス
- 準備された Grafana ダッシュボード (Prometheus およびデータベース)
- CSV 形式または MySQL/MariaDB/PostgreSQL/Timescale データベースでの 1 日/クライアントごとの DNS クエリのログ - 分析が簡単
- さまざまな REST API エンドポイント
- CLIツール
シンプルな構成- YAML 形式の単一または複数の構成ファイル
簡単なインストール/構成- blocky は簡単なインストール用に設計されています。
- ステートレス (データベースも一時ファイルもなし)
- マルチアーキテクチャをサポートする Docker イメージ
- 単一バイナリ
- x86-64 および ARM アーキテクチャをサポート -> Raspberry PI で正常に動作
- コミュニティがサポートする k8s デプロイメント用の Helm チャート
クイックスタート
ドキュメントの「インストール」の章にジャンプできます。
完全なドキュメント
完全なドキュメントと構成例は、https://0xERR0R.github.io/blocky/ で見つけることができます。
貢献
問題、機能の提案、プル リクエストは大歓迎です。