注意してください!
hosts/data/StevenBlack/hosts
への変更に関する問題と PR を除き、生成された hosts ファイルのコンテンツに関するその他すべての問題は、問題のコンテンツを提供した適切なデータ ソースを使用して作成する必要があります。すべてのデータ ソースの連絡先情報はhosts/data/
ディレクトリにあります。
このリポジトリは、複数の信頼できるhosts
ファイルを統合し、重複を削除して統合ホスト ファイルにマージします。さまざまなカスタマイズされたホスト ファイルが提供されます。
したがって、このリポジトリはホスト ファイル アグリゲータです。
このリポジトリは、基本バリアントに加えて、統合ホストの有無にかかわらず、31 の異なるホスト ファイル バリアントを提供します。
非 GitHub ミラーは、 GitHub ダウンロード リンクでは動作しない Hostsman for Windows などの一部のホスト ファイル マネージャーに使用するリンクです。
ホストファイルのレシピ | お読みください | 生のホスト | 独自のドメイン | 非 GitHub ミラー |
---|---|---|---|---|
統合ホスト = (アドウェア + マルウェア) | お読みください | リンク | 121,628 | リンク |
統合ホスト+ フェイクニュース | お読みください | リンク | 123,822 | リンク |
フェイクニュース | お読みください | リンク | 2,194 | リンク |
統合ホスト+ ギャンブル | お読みください | リンク | 130,185 | リンク |
ギャンブル | お読みください | リンク | 8,569 | リンク |
統合ホスト+ ポルノ | お読みください | リンク | 197,270 | リンク |
ポルノ | お読みください | リンク | 76,344 | リンク |
統合ホスト+ ソーシャル | お読みください | リンク | 124,816 | リンク |
社交 | お読みください | リンク | 3,217 | リンク |
統合ホスト+ フェイクニュース + ギャンブル | お読みください | リンク | 132,379 | リンク |
フェイクニュース + ギャンブル | お読みください | リンク | 10,763 | リンク |
統合ホスト+ フェイクニュース + ポルノ | お読みください | リンク | 199,464 | リンク |
フェイクニュース + ポルノ | お読みください | リンク | 78,538 | リンク |
統合ホスト+ フェイクニュース + ソーシャル | お読みください | リンク | 127,010 | リンク |
フェイクニュース + ソーシャル | お読みください | リンク | 5,411 | リンク |
統合ホスト+ ギャンブル + ポルノ | お読みください | リンク | 205,827 | リンク |
ギャンブル + ポルノ | お読みください | リンク | 84,913 | リンク |
統合ホスト+ ギャンブル + ソーシャル | お読みください | リンク | 133,373 | リンク |
ギャンブル + ソーシャル | お読みください | リンク | 11,786 | リンク |
統合ホスト+ ポルノ + ソーシャル | お読みください | リンク | 200,457 | リンク |
ポルノ + ソーシャル | お読みください | リンク | 79,560 | リンク |
統合ホスト+ フェイクニュース + ギャンブル + ポルノ | お読みください | リンク | 208,021 | リンク |
フェイクニュース + ギャンブル + ポルノ | お読みください | リンク | 87,107 | リンク |
統合ホスト+ フェイクニュース + ギャンブル + ソーシャル | お読みください | リンク | 135,567 | リンク |
フェイクニュース + ギャンブル + ソーシャル | お読みください | リンク | 13,980 | リンク |
統合ホスト+ フェイクニュース + ポルノ + ソーシャル | お読みください | リンク | 202,651 | リンク |
フェイクニュース + ポルノ + ソーシャル | お読みください | リンク | 81,754 | リンク |
統合ホスト+ ギャンブル + ポルノ + ソーシャル | お読みください | リンク | 209,014 | リンク |
ギャンブル + ポルノ + ソーシャル | お読みください | リンク | 88,129 | リンク |
統合ホスト+ フェイクニュース + ギャンブル + ポルノ + ソーシャル | お読みください | リンク | 211,208 | リンク |
フェイクニュース + ギャンブル + ポルノ + ソーシャル | お読みください | リンク | 90,323 | リンク |
期待: これらの統合ホスト ファイルは、OS に関係なく、すべてのデバイスにサービスを提供する必要があります。
次の場所から更新されたhosts
ファイルは常に統合され、含まれます。
ホストファイルソース | ホームページ | 生のホスト | ライセンス | 問題 | 説明 |
---|---|---|---|---|---|
Steven Black のアドホック リスト | リンク | 生 | マサチューセッツ工科大学 | 問題 | 追加のスケッチ ドメインを見つけ次第追加します。 |
アドアウェイ | リンク | 生 | CC BY 3.0 | 問題 | AdAway は、hosts ファイルを使用する Android 用のオープンソース広告ブロッカーです。 |
add.2o7Net | リンク | 生 | マサチューセッツ工科大学 | 問題 | hostsfile.org コンテンツに基づく 2o7Net 追跡サイト。 |
追加.デッド | リンク | 生 | マサチューセッツ工科大学 | 問題 | hostsfile.org コンテンツに基づく死んだサイト。 |
リスクを追加 | リンク | 生 | マサチューセッツ工科大学 | 問題 | hostsfile.org のコンテンツに基づいてコンテンツ サイトをリスク管理します。 |
スパムを追加 | リンク | 生 | マサチューセッツ工科大学 | 問題 | hostsfile.org のコンテンツに基づくスパム サイト。 |
ミッチェル・クロッグス - バッド・ボーイズ・ホスト | リンク | 生 | マサチューセッツ工科大学 | 問題 | Nginx および Apache からの不完全なドメインと不正なリファラー 不正なボットとスパム リファラー ブロッカー |
ホストVN | リンク | 生 | マサチューセッツ工科大学 | 問題 | ホストがベトナム語の広告をブロック |
KADホスト | リンク | 生 | CC BY-SA 4.0 | 問題 | 詐欺/アドウェア/詐欺 Web サイト。 |
マインクラフトホスト | リンク | 生 | CC0-1.0 | 問題 | Minecraft 関連のトラッカー ホスト |
MVPSホストファイル | リンク | 生 | CC BY-NC-SA 4.0 | 問題 | このサイトの目的は、高品質のカスタム HOSTS ファイルをユーザーに提供することです。 |
ダン・ポロック – 誰か気になる人 | リンク | 生 | 非営利、出典付き | 問題 | インターネットを(あまり)つまらないものにしない方法。 |
Tiuxo ホストリスト - 広告 | リンク | 生 | CC BY 4.0 | 問題 | DNS ベースのコンテンツ ブロック用に分類されたホスト ファイル |
チェックしていない広告 | リンク | 生 | マサチューセッツ工科大学 | 問題 | Windows インストーラーの広告ソース サイトは、https://unchecky.com/ のコンテンツに基づいています。 |
URLハウス | リンク | 生 | CC0 | 問題 | 悪意のある URL を共有することを目的とした、abuse.ch のプロジェクト。 |
ヨーヨー.org | リンク | 生 | 問題 | 広告サーバーと追跡サーバーのホスト名によるブロック。 |
統合ホスト ファイルはオプションで拡張可能です。拡張子は、カテゴリごとにドメインを含めるために使用されます。現在、 fakenews
、 social
、 gambling
、 porn
のカテゴリを提供しています。
拡張機能はオプションであり、さまざまな方法で基本ホスト ファイルと組み合わせることができます。結合された製品はalternates
フォルダーに保存されます。
拡張機能のデータはextensions
フォルダーに保存されます。このフォルダー ツリーをキュレートすることで拡張機能を管理します。このフォルダー ツリーには、当社が維持および提供するfakenews
、 social
、 gambling
、およびporn
拡張機能のデータが含まれています。
独自のホスト ファイルを生成するには 3 つのオプションがあります。コンテナー イメージを使用することも、独自のイメージを構築することも、独自の環境で実行することもできます。 Docker がインストールされた Linux を使用している場合は、オプション #1 が最も簡単です。
これは
/etc/hosts
置き換えます。
ホスト上で Docker が使用できることを前提としています。次のコマンドを実行するだけです。拡張子を好みに合わせて設定します。
docker run --pull always --rm -it -v /etc/hosts:/etc/hosts
ghcr.io/stevenblack/hosts:latest updateHostsFile.py --auto
--replace --extensions gambling porn
カスタム ホストまたはホワイトリストを追加する場合は、指示に従っていずれかまたは両方のファイルを作成し、どちらを使用するかに応じて、 ghcr.io/stevenblack/hosts:latest
/stevenblack/hosts:latestの前に次の引数を追加します。
-v " path/to/myhosts:/hosts/myhosts "
-v " path/to/whitelist:/hosts/whitelist "
後でこの正確なコマンドを再実行して、利用可能な最新のホストに基づいて更新できます (たとえば、毎週の cron ジョブに追加します)。
前のステップで使用した Dockerfile が提供されます。これを使用して、必要なものがすべて含まれたコンテナー イメージを作成できます。コンテナーには、Python 3 とそのすべての依存関係要件、およびこのリポジトリの最新バージョンのコピーが含まれます。
次のように、このリポジトリのルートから Docker コンテナを構築します。
docker build --no-cache . -t stevenblack-hosts
次に、次のようにコマンドを実行します。
docker run --rm -it stevenblack-hosts updateHostsFile.py
これにより、hosts ファイルが作成され、完了したらコンテナーと一緒に削除されるため、あまり役に立ちません。オプション #1 の例を使用してボリュームを追加し、ホスト上のファイルを置き換えることができます。
独自の結合ホスト ファイルを生成するには、Python 3.6 以降が必要です。
まず、次のように依存関係をインストールします。
pip3 install --user -r requirements.txt
必要な依存関係をユーザー レベルでインストールする--user
フラグを推奨することに注意してください。詳細については、pip のドキュメントを参照してください。
無料のリモート Google Colab 環境を立ち上げます。
単体テストを実行するには、最上位ディレクトリで次を実行します。
python3 testUpdateHostsFile.py
updateHostsFile.py
スクリプトは、ローカルdata/
サブフォルダー内のソースに基づいて統合ホスト ファイルを生成します。スクリプトは、(各ソースのフォルダー内のupdate.json
テキスト ファイルで定義された場所から) 更新されたバージョンをフェッチするかどうかを確認するプロンプトを表示します。それ以外の場合は、すでに存在するhosts
ファイルが使用されます。
python3 updateHostsFile.py [--auto] [--replace] [--ip nnn.nnn.nnn.nnn] [--extensions ext1 ext2 ext3]
--help
、または-h
: ヘルプを表示します。
--auto
、または-a
: プロンプトを表示せずにスクリプトを実行します。 --auto
が呼び出されると、
--extensions
または-e
フラグを使用して、必要なものを含めます。--replace
フラグを含めない限り、アクティブなホスト ファイルは置き換えられません。 --backup
、または-b
: 既存のホスト ファイルを生成するときに、そのファイルのバックアップを作成します。
--extensions <ext1> <ext2> <ext3>
、または-e <ext1> <ext2> <ext3>
: 統合に含める追加のカテゴリ固有のホスト ファイルを含むextensions
フォルダーの下のサブフォルダーの名前。例: --extensions porn
または-e social porn
。
--flush-dns-cache
、または-f
: DNS キャッシュをフラッシュするためのプロンプトをスキップします。 --replace
もアクティブな場合にのみアクティブになります。
--ip nnn.nnn.nnn.nnn
、または-i nnn.nnn.nnn.nnn
: ターゲットとして使用する IP アドレス。デフォルトは0.0.0.0
です。
--keepdomaincomments
、または-k
: true
(デフォルト) またはfalse
、ドメインと同じ行に表示されるコメントを保持します。デフォルトはtrue
です。
--noupdate
、または-n
: ホスト データ ソースからの更新の取得をスキップします。
--output <subfolder>
、または-o <subfolder>
: 生成されたソース ファイルをサブフォルダに配置します。サブフォルダーが存在しない場合は作成されます。
--replace
、または-r
: アクティブなホストの置換をトリガーします
--skipstatichosts
、または-s
: false
(デフォルト) またはtrue
、 127.0.0.1 localhost
ような行を含む、先頭の標準セクションを省略します。これは、ローカル ネットワーク上で近接 DNS サービスを構成する場合に役立ちます。
--nogendata
、または-g
: false
(デフォルト) またはtrue
指定すると、readme.md ファイルの生成に使用される readmeData.json ファイルの生成がスキップされます。これは、追加のホワイトリストまたはブラックリストを含むホスト ファイルを生成しており、このリポジトリのローカル チェックアウトを変更しないようにしたい場合に便利です。
--nounifiedhosts
: false
(デフォルト) またはtrue
。最終的なホスト ファイルに統合ホスト ファイルを含めません。通常は--extensions
と一緒に使用されます。
--compress
、または-c
: false
(デフォルト) またはtrue
、不要な行 (空行とコメント) を無視し、各行に複数のドメインを含めてホスト ファイルを圧縮します。 hosts ファイルの行数を減らすと、Windows (DNS クライアント サービスが有効な場合) でのパフォーマンスが向上します。
--minimise
、または-m
: false
(デフォルト) またはtrue
--compress
と同様ですが、各ドメインを別の行に配置します。これが必要なのは、 hosts
ファイルに依存する URL ブロッカーの実装の多くが、単一行で複数のホストを許可する標準に準拠していないためです。
--blacklist <blacklistfile>
、または-x <blacklistfile>
: 指定されたブラックリスト ファイルをホスト形式で生成されたホスト ファイルに追加します。
--whitelist <whitelistfile>
、または-w <whitelistfile>
: 指定されたホワイトリスト ファイルを使用して、生成されたホスト ファイルからホストを削除します。
1 つ以上の追加ソースをそれぞれdata/
フォルダーのサブフォルダーに追加し、そのupdate.json
ファイルでurl
キーを指定します。
extensions/
フォルダーのサブフォルダーに由来する 1 つ以上のオプションの拡張子を追加します。繰り返しになりますが、 update.json
内の URL は、この拡張機能が更新を見つける場所を制御します。
オプションのblacklist
ファイルを作成します。このファイルの内容 ( hosts
ファイル形式の追加ドメインのリストを含む) は、更新プロセス中に統合ホスト ファイルに追加されます。サンプルのblacklist
が含まれており、必要に応じて変更できます。
blacklist
は git によって追跡されないため、将来このリポジトリをorigin
からgit pull
ときに、行った変更は上書きされません。カスタム ホスト レコードがある場合は、それをファイルmyhosts
に配置します。このファイルの内容は、更新プロセス中に統合ホスト ファイルの先頭に追加されます。
myhosts
ファイルは git によって追跡されないため、将来このリポジトリをorigin
からgit pull
ときに加えた変更は上書きされません。
whitelist
ファイルにリストしたドメインは、最終的なホスト ファイルから除外されます。
whitelist
部分一致を使用します。したがって、 google-analytics.com
ホワイトリストに登録した場合、そのドメインとそのすべてのサブドメインは最終的なホスト ファイルにマージされません。
whitelist
は git によって追跡されないため、将来このリポジトリをorigin
からgit pull
ときに、行った変更は上書きされません。
ここに含めるべきだと思われる大ざっぱなドメインを発見した場合は、それらを投稿するいくつかの方法を以下に示します。
新しいドメインを含める最善の方法は、ここにホームページがリストされているデータ プロバイダーのいずれかに問題を送信することです。新しいドメインを送信すると、これらのソースを管理する専任の担当者によってドメインが厳選され、更新されるため、これが最適です。
これをフォークしてこのリポジトリをホストし、リンクを https://github.com/StevenBlack/hosts/blob/master/data/StevenBlack/hosts に追加します。
次に、プル リクエストを送信します。
警告: 現在進行中のキュレーションは私たちに課されているため、これはオプション 1 よりも望ましくありません。したがって、これにより私たちの仕事がさらに増えます。
大まかなドメインの独自のコレクションをキュレーションできる場合は、独自のホスト リストをキュレーションしてください。その後、新しいリポジトリの存在を新しい問題として通知し、新しいバージョンを作成するたびにプルするソースのコレクションに新しいリポジトリを含めることがあります。
hosts
という名前の hosts ファイル (ファイル拡張子なし) は、ホスト名を IP アドレスにマップするためにすべてのオペレーティング システムで使用されるプレーンテキスト ファイルです。
ほとんどのオペレーティング システムでは、 hosts
ファイルがDNS
より優先されます。したがって、ドメイン名がhosts
ファイルによって解決される場合、リクエストがコンピュータから送信されることはありません。
スマートhosts
ファイルを作成すると、マルウェア、アドウェア、その他の刺激物をブロックするのに非常に役立ちます。
たとえば、一部の doubleclick.net サーバーへのリクエストを無効にするには、次の行を hosts ファイルに追加します。
# block doubleClick's servers
0.0.0.0 ad.ae.doubleclick.net
0.0.0.0 ad.ar.doubleclick.net
0.0.0.0 ad.at.doubleclick.net
0.0.0.0 ad.au.doubleclick.net
0.0.0.0 ad.be.doubleclick.net
# etc...
127.0.0.1
ではなく0.0.0.0
を使用することをお勧めします。従来、ほとんどのホスト ファイルは、ローカル マシンへの IP 接続を確立するために、ループバック アドレス127.0.0.1
使用します。
私たちは0.0.0.0
使用することを好みます。これは、無効、不明、または適用不可能なターゲットを指定するために使用されるルーティング不可能なメタアドレスとして定義されます。
0.0.0.0
使用すると、おそらくタイムアウト解決を待つ必要がないため、経験的に高速になります。また、ローカル PC 上で実行されている Web サーバーにも干渉しません。
0.0.0.0
の代わりに0
使用しないのはなぜですか?私たちはそれを試してみました。 0
使用は普遍的には機能しません。
現在のhosts
ファイルを変更するには、次の場所でファイルを探し、テキスト エディタで変更します。
/etc/hosts
ファイル。/private/etc/hosts
ファイル。%SystemRoot%system32driversetchosts
ファイル。 Gentoo ユーザーは ::pf4public Gentoo オーバーレイでsb-hosts
見つけることができます
マシンに hosts ファイルをインストールするには、 configuration.nix
に以下を追加します。
{
networking . extraHosts = let
hostsPath = https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts ;
hostsFile = builtins . fetchurl hostsPath ;
in builtins . readFile " ${ hostsFile } " ;
}
hostsPath
変更します。fetchurl
の呼び出しは不純です。常に同じ結果を取得したい場合は、正確なコミットを指定してfetchFromGitHub
を使用します。フレークを通じて管理される NixOS インストールでは、次のように hosts ファイルを使用できます。
{
inputs . hosts . url = "github:StevenBlack/hosts" ;
outputs = { self , nixpkgs , hosts } : {
nixosConfigurations . my-hostname = {
system = "<architecture>" ;
modules = [
hosts . nixosModule {
networking . stevenBlackHosts . enable = true ;
}
] ;
} ;
} ;
}
ホスト拡張機能は、次のオプションでも使用できます。
{
networking . stevenBlackHosts = {
blockFakenews = true ;
blockGambling = true ;
blockPorn = true ;
blockSocial = true ;
} ;
}
(注: 以下にリストされている一部のサードパーティのホスト マネージャーも参照してください。)
Linux および macOS では、Python スクリプトを実行します。 Windows では、互換性の問題によりさらに多くの作業が必要となるため、次のようにバッチ ファイルを実行することをお勧めします。
updateHostsWindows.bat
このファイルは、リポジトリ ディレクトリ内の管理者権限を持つコマンド プロンプトで実行する必要があります。 hosts ファイルを更新するだけでなく、既存の hosts ファイルを置き換えたり、DNS キャッシュをリロードしたりすることもできます。言うまでもなく、これが機能するには、インターネットに接続する必要があります。
リポジトリのディレクトリで管理者としてコマンド プロンプトを開くには、次の手順を実行します。
cmd
cmd
と入力 → コマンドプロンプトを右クリック → 「管理者として実行」cmd
と入力 → コマンドプロンプトを右クリック → 「管理者として実行」サードパーティの推奨ソリューションの詳細については、「サードパーティのホスト マネージャー」セクションを参照してください。
hosts
ファイルを使用するには、DNS キャッシュ サービスを無効にする必要がある場合があります。 Windows には、より大きなホスト ファイルに関する問題があります。 Windows 10 内のセキュリティにおける最近の変更により、レジストリ ハッキングを除く他のツールを介した変更サービスへのアクセスが拒否されます。 disable-dnscache-service-win.cmd
ファイルを使用して、Windows レジストリに適切な変更を加えます。それが完了したら、デバイスを再起動する必要があります。詳細については、 cmd
ファイル内のコメントを参照してください。
DNS キャッシュ サービスを無効にすると、 WSLなどのサービスやアプリケーションで問題が発生する可能性があり、ホスト ファイルが圧縮されて DNS キャッシュ サービスを無効にする必要がなくなる可能性があります。 Hosts Compress - Windows (推奨される方法) でC++ Windows コマンド ライン ツールを試したり、 PowerShell圧縮スクリプトを試したり、Hosts Compression Scripts リポジトリにあるガイドを確認したりできます。
オペレーティング システムは DNS ルックアップをキャッシュします。新しいホスト ファイルが配置されたら、再起動するか、次のコマンドを実行して DNS キャッシュを手動でフラッシュできます。
Google Chrome ブラウザでは、ホスト ファイルの変更を確認するために、 chrome://net-internals/#dns
ページで DNS キャッシュを手動でクリーンアップする必要がある場合があります。参照: https://superuser.com/questions/723703
管理者権限でコマンド プロンプトを開き、次のコマンドを実行します。
ipconfig /flushdns
ターミナルを開き、root 権限で実行します。
Debian/Ubuntu sudo service network-manager restart
Linux Mint sudo /etc/init.d/dns-clean start
Linux と systemd : sudo systemctl restart network.service
Fedora Linux : sudo systemctl restart NetworkManager.service
Network Manager を使用した Arch Linux/Manjaro : sudo systemctl restart NetworkManager.service
Wicd を使用した Arch Linux/Manjaro : sudo systemctl restart wicd.service
RHEL/Centos : sudo /etc/init.d/network restart
FreeBSD : sudo service nscd restart
最初にnscd
デーモンを有効にするには、次のコマンドを実行することをお勧めします。
sudo sysrc nscd_enable= " YES "
sudo service nscd start
次に、 /etc/nsswitch.conf
ファイルのhosts
行を次のように変更します。
hosts: cache files dns
NixOS : networking.extraHosts
オプションが変更されると、 nscd.service
が自動的に再起動されます。
その他: この Wikipedia の記事を参照してください。
この記事で説明されているように、ターミナルを開いて次を実行します。
sudo dscacheutil -flushcache ; sudo killall -HUP mDNSResponder
このリポジトリは、GitHub リポジトリおよび npm パッケージ用の優れた CLI リリース ツールである release-it を使用して、リリースの作成を自動化します。これが、package.json ファイルと .release-it.json ファイルがバンドルされている理由です。
このリポジトリの目標は次のとおりです。
ここでの高品質のソースとは、積極的に厳選されたソースと定義されます。ホスト ソースは、保守者によって追加と削除の両方で頻繁に更新される必要があります。 hosts ファイルが大きくなるほど、より高いキュレーション レベルが期待されます。
この統合ホスト ファイルは、さまざまなオペレーティング システムでデスクトップとモバイル デバイスの両方にサービスを提供することが期待されています。
hostile
使用してドメインを削除するか、bash スクリプトでhostile
使用して、ホストの新しいバージョンをダウンロードするたびの後処理を自動化できます。/etc/bind/named.conf.blocked
ファイルを使用してローカル DNS サーバーをセットアップします。wget
とawk
使用して、指定されたホスト ファイルをフェッチし、dnsmasq で必要な形式に変換します。 IPv4とIPv6をサポートします。シェル スクリプトとして使用するか、 /etc/cron.weekly
(または適切な場所) にドロップできるように設計されています。このスクリプトは短くて編集が簡単で、dnsmasq のセットアップに関するメモが記載された短いドキュメントも添付されています。76.76.2.35
、 76.76.10.35
、 2606:1a40::35
、 2606:1a40:1::35
https://freedns.controld.com/x-stevenblack
、 x-stevenblack.freedns.controld.com
貢献ガイドをお読みください。特に、このリポジトリ内のファイルとフォルダーをどのように整理するかについて説明します。
私たちは、厳選されたホストのソースを発見することに常に興味を持っています。見つけた場合は、問題を開いて注意を引いてください。
問題を作成したり、問題に対応したりする前に、当社の行動規範をお読みください。
@Tobaloidee によるロゴ、ありがとうございます。