DNSレベルで肥大化したフィルタリストを使わずにトラフィックをクリーンにする方法
家庭用のPi-holeやAdGuard Homeを設定したことがある方なら、巨大化現象(ギガントマ니아)の段階を経験したことがあるのではないでしょうか。私もそうでした:数十個のブロックリストを見つけ、リゾルバに放り込み、300万件ものブロック済みドメインが表示されるカウンターを楽しみます。
喜びは通常、最初の夕方で終わりを迎えます。まず、家人の銀行アプリが認証を失い、メッセンジャーのプレビューが読み込まれなくなり、必要なサービスの半分が広告ブロッカーを無効にする必要があります。結果、数時間を費やしてリクエストログを精査し、偽陽性を追跡することになります。
開発者badmojrによる1Hostsリポジトリは、完全に反対のアプローチでこの問題を解決します。このプロジェクトは2017年12月から存在し、フィルタリングの品質を犠牲にせずにリストのサイズを最小化することに重点を置いています。
プロジェクトのコンセプト
多くの人気のブロックリストは、重複や古いエントリに苦しんでいます。長年にわたって閉鎖された거나オーナー님이変更されたドメインが放置されています。リゾルバはそれでもRAMを消費してそれらを保存し、ルールツリーを検索します。
1Hostsの作者は、最小限の容量でリスト占据しながら広告、トラッカー、フィッシングリソースを遮断するようにルールをキュレーションしています。数百の散らばったファイルの代わりに、たった2つの基本バージョンを提供しますが、特定のソフトウェア向けの десяткиの準備されたフォーマットで。
異なるシナリオ向けの2つのバージョン
プロジェクトは2つのブランチに分割されており、混乱することは困難です:
-
Lite — 「設定して忘れ去る」原則に基づいたバランスの取れたバージョン。家庭やオフィスでの日常的な使用を目的としています。通常のウェブサイト、アプリ、スマートデバイスが壊れるリスクは最小限です。偽陽性は最小限に抑えられています。
-
Xtra(現在Beta)— プライバシー愛好家や積極的なブロッキングを求める人のための強硬なオプション。リストは積極的にテレメトリ、新しい疑わしいドメイン、論争の的になるリソースをカットします。一部の合法的なサイトが壊れることに備えてください。手動でホワイトリストに追加するか、リポジトリにレポートを提出する必要があります。
作者が提案する興味深いコツ:Liteバージョンをシステムhostsファイルを通じてローカルデバイスで直接使用し、より積極的なフィルタリングをDNSサーバーでチェーンの上流に置きます。これにより、基本的なゴミはローカルでフィルタリングされ、DNSリゾルバのログを乱雑にすることがありませんが、エッジケースでのエラーはネットワークジャーナルで即座に表示されます。
あらゆるソフトウェアとスタック向けのフォーマット
ネットワークフィルタを設定する際の主な頭痛の種は、構文の非互換性です。AdGuardは一連のルールを使用し、Unboundは独自の設定を必要とし、dnsmasqは別のフォーマットを必要とします。
1Hostsでは、最も 인기のあるソリューション向けにリストが自動的に生成されます:
- 標準hostsファイル(Windows、Linux、Android(AdAway経由)向け)
- Pi-holeとOpenSnitch用のドメインブロックリスト
- uBlock OriginとAdGuard Home用のルール形式
- ローカルDNSデーモンの設定:dnsmasq、Unbound、Knot、Bind9、PowerDNS
- Little Snitchなどのファイアウォール向けルール
dnsmasq設定でLiteバージョンを接続すると次のようになります:
# Скачиваем готовый конфиг правил
curl -o /etc/dnsmasq.d/1hosts-lite.conf https://badmojr.github.io/1Hosts/Lite/dnsmasq.conf
# Перезапускаем службу
systemctl restart dnsmasq
家でUnboundを実行している場合は、includeディレクティブを使用して生成された設定ファイルをプルするだけです:
# В секции server файла unbound.conf
include: "/etc/unbound/1hosts-lite.conf"
自有サーバーの展開なしで готовые パブリックDNS
旅行中に電話でトラッカーをブロックするためだけに自有サーバーを設定したい人はいません。1Hostsの作者はこれを予測しており、DNS-over-HTTPS(DoH)とDNS-over-TLS(DoT)を 지원하는 공개 DNSサービスとの統合を用意しました。
たとえば、ControlDではリストが30分ごとにワイルドカードルールサポート付きで更新されます。AndroidのプライベートDNS設定でアドレスを入力するだけです:
DoT: x-1hosts-lite.freedns.controld.com
DoH: https://freedns.controld.com/x-1hosts-lite
同様のプロフィールがNextDNS、AdGuard DNS、RethinkDNSに設定されています。モバイルデバイスには、しばしばサードパーティアプリをインストールせずにそれで十分です。
サポートとコミュニティ
リポジトリは2.1k以上のスターを獲得し、定期的な更新が続けています。オープンな 이슈は約900個とかなりありますが、そのほとんどは偽陽性のレポートです。メンテナーは、一般的なサービスに干涉する場合はリストからドメインを迅速に削除します。
リポジトリ自体は免费のMPL 2.0ライセンス( Mozilla Public License)の下で配布されています。これにより、これらのリストを自有のビルドや企業のフィルタリングポリシーの基盤として自由に使用できます。
誰が試すべきか
10個の異なるブロックリストを組み合わせた怪物を手動で維持することに疲れている場合は、設定をリセットして1Hosts Liteバージョンだけをインストールしてみてください。家庭ネットワークタスクの95%にとって、それは十分以上です:バナーが消え、アナリティクスがブロックされ、オンラインストアや銀行ページが予期せず開きます。
Xtraバージョンは、ドロップされたリクエストに対処し、ネットワークルールをニーズに合わせて微調整することを楽しむ、意識的に準備ができている人だけが試す価値があります。
関連プロジェクト