ホームページ >システムチュートリアル >Linux >ホスト ファイルの更新に対するまったく新しいアプローチが近日公開されます。

ホスト ファイルの更新に対するまったく新しいアプローチが近日公開されます。

王林
王林転載
2024-01-03 17:42:061264ブラウズ
###導入### さまざまなスパム ドメインの有用なリストがオンラインで継続的に維持されています。これらのリストをホスト ファイルにコピーすると、システムがまったく接続する必要がないほど多くのドメインをブロックすることが簡単になります。この方法はブラウザ プラグインをインストールしなくても機能し、システム上のすべてのブラウザ (およびその他のプログラム) に対してブロック アクションを提供します。

ホスト ファイルの更新に対するまったく新しいアプローチが近日公開されます。

このチュートリアルでは、Steven Black の Unified Host スクリプトを Linux で起動して実行する方法を説明します。このスクリプトは、広告サーバー、フィッシング サイト、および複数のソースからのスパムの最新の既知のアドレスでコンピュータのホスト ファイルを更新すると同時に、このスクリプトで管理する各リストから 1 つずつ、独自のブラックリスト/ホワイトリスト リストを管理する優れたクリーンな方法を提供します。 。

30,000 のドメインを hosts ファイルに入れる前に、注意すべき点が 2 つあります。まず、これらの巨大なリストには、オンライン購入やその他の一時的な状況を行うためにブロックを解除する必要があるサーバーが含まれています。 hosts ファイルをいじった場合は、オンラインで問題が発生する可能性があることに注意してください。この問題を解決するために、便利なオン/オフ スイッチを使用して、ヒマラヤ塩水噴霧ランプ (プラズマ ランプです) を購入するためのブロック リストをすぐに無効にする方法を紹介します。私は今でも、これらのリストの目的の 1 つは、すべてを遮断することだと考えています (オフに切り替えることを思いつくまでは、ちょっと面倒でした)。ブロックする必要があるサーバーで頻繁に問題が発生する場合は、そのサーバーをホワイトリスト ファイルに追加するだけです。

2 番目の問題は、ドメインが呼び出されるたびにシステムがリスト全体をチェックする必要があるため、パフォーマンスがわずかに影響を受けることです。影響はほんのわずかですが、ブラックリストに登録するのをやめてすべての接続を通過させるほど大きな影響ではありません。どのように選択するかはあなた次第です。

hosts ファイルは、リクエストを 127.0.0.1 または 0.0.0.0 (つまり、ヌル アドレス) に送信することでリクエストをブロックします。 0.0.0.0 を使用した方が高速で問題が少ないという人もいます。 「-ip nnn.nnn.nnn.nnn」のような ip オプションをブロック IP として使用するようにスクリプトを設定できますが、デフォルトは 0.0.0.0 で、これが私が使用した値です。

私は時々、Steven Black のスクリプトと同じことを手動で行っていました。各サイトにアクセスし、そのリストをコピーしてホスト ファイルに貼り付け、検索と置換を行って、そのうち 127 個が 0 になるなどの作業を行っていました。すべてを自動化できることはわかっていましたが、そうするのは少しばかばかしいことですが、それを理解するのに時間を費やすことはありませんでした。このスクリプトを見つけるまで、それは忘れられた雑務でした。

次のステップに進むために、最新の Steven Black コード (約 150 MB) のコピーをダウンロードすることから始めましょう。 git をインストールする必要があるため、まだインストールしていない場合は、ターミナルに入って次のように入力します:

リーリー

インストール後、次のように入力します:
さまざまなスパム ドメインの有用なリストがオンラインで多数保存されています。これらのリストをホスト ファイルにコピーすると、システムがまったく接続する必要がないほど多くのドメインをブロックすることが簡単になります。この方法はブラウザ プラグインをインストールしなくても機能し、システム上のすべてのブラウザ (およびその他のプログラム) に対してブロック アクションを提供します。

このチュートリアルでは、Steven Black の Unified Host スクリプトを Linux で起動して実行する方法を説明します。このスクリプトは、広告サーバー、フィッシング サイト、および複数のソースからのスパムの最新の既知のアドレスでコンピュータのホスト ファイルを更新すると同時に、このスクリプトで管理する各リストから 1 つずつ、独自のブラックリスト/ホワイトリスト リストを管理する優れたクリーンな方法を提供します。 。

30,000 のドメインを hosts ファイルに入れる前に、注意すべき点が 2 つあります。まず、これらの巨大なリストには、オンライン購入やその他の一時的な状況を行うためにブロックを解除する必要があるサーバーが含まれています。 hosts ファイルをいじった場合は、オンラインで問題が発生する可能性があることに注意してください。この問題を解決するために、便利なオン/オフ スイッチを使用して、ヒマラヤ塩水噴霧ランプ (プラズマ ランプです) を購入するためのブロック リストをすぐに無効にする方法を紹介します。私は今でも、これらのリストの目的の 1 つは、すべてを遮断することだと考えています (オフに切り替えることを思いつくまでは、ちょっと面倒でした)。ブロックする必要があるサーバーで頻繁に問題が発生する場合は、そのサーバーをホワイトリスト ファイルに追加するだけです。

2 番目の問題は、ドメインが呼び出されるたびにシステムがリスト全体をチェックする必要があるため、パフォーマンスがわずかに影響を受けることです。影響はほんのわずかですが、ブラックリストに登録するのをやめてすべての接続を通過させるほど大きな影響ではありません。どのように選択するかはあなた次第です。

hosts ファイルは、リクエストを 127.0.0.1 または 0.0.0.0 (つまり、ヌル アドレス) に送信することでリクエストをブロックします。 0.0.0.0 を使用した方が高速で問題が少ないという人もいます。 -ip nnn.nnn.nnn.nnn のような ip オプションをブロック IP として使用するようにスクリプトを設定できますが、デフォルトは 0.0.0.0 で、これが私が使用した値です。

我曾经将 Steven Black 的脚本做的事每隔一段时间就手动做一遍,进到每一个站点,将他们的列表拷贝/粘贴到我的主机文件中,做一个查找替换将其中的 127 变成 0 等等。我知道整件事情可以自动化,这样做有点傻,但我从来没有花时间解决这个问题。直到我找到这个脚本,现在这事已经是一个被遗忘的杂务。

让我们先下载一份最新的 Steven Black 的代码拷贝(大约 150MB),以便我们可以进行下一步。你需要安装 git,因此如果还没安装,进入到终端输入:

sudo apt-get install git

安装完之后,输入:

mkdir unifiedhosts
cd unifiedhosts
git clone https://github.com/StevenBlack/hosts.git
cd hosts

当你打开了 Steven 的脚本时,让我们来看看有什么选项。该脚本有几个选项和扩展,但扩展我不会在这里提交,但如果你到了这一步并且你有兴趣,readme.md 可以告诉你所有你需要知道的。
你需要安装 python 来运行此脚本,并且与版本有关。要找到你安装的 Python 版本,请输入:

python --version

如果你还没安装 Python:

sudo apt-get install python

对于 Python 2.7,如下所示,输入 python 来执行脚本。对于 Python 3,在命令中的 python 替换成 python3。执行后,该脚本会确保它具有每个列表的最新版本,如果没有,它会抓取一个新的副本。然后,它会写入一个新的主机文件,包括了你的黑名单/白名单中的任何内容。让我们尝试使用 -r 选项来替换我们的当前的主机文件,而 -a 选项可以脚本不会问我们任何问题。回到终端:

python updateHostsFile.py -r -a

该命令将询问你的 root 密码,以便能够写入 /etc/。为了使新更新的列表处于激活状态,某些系统需要清除 DNS 缓存。在同一个硬件设备上,我观察到不同的操作系统表现出非常不同的行为,在没有刷新缓存的情况下不同的服务器变为可访问/不可访问所需的时间长度都不同。我已经看到了从即时更新(Slackware)到重启更新(Windows)的各种情况。有一些命令可以刷新 DNS 缓存,但是它们在每个操作系统甚至每个发行版上都不同,所以如果没有生效,只需要重新启动就行了。
现在,只要将你的个人例外添加到黑名单/白名单中,并且只要你想要更新主机文件,运行该脚本就好。该脚本将根据你的要求调整生成的主机文件,每次运行文件时会自动追加你额外的列表。
最后,我们来创建一个打开/关闭开关,对于打开和关闭功能每个都创建一个脚本,所以回到终端输入下面的内容创建关闭开关(用你自己的文本编辑器替换 leafpad):

leafpad hosts-off.sh

在新文件中输入下面的内容:

#!/bin/sh
sudo mv /etc/hosts /etc/hostsDISABLED

接着让它可执行:

chmod +x hosts-off.sh

相似地,对于打开开关:

leafpad hosts-on.sh

在新文件中输入下面的内容:

#!/bin/sh
sudo mv /etc/hostsDISABLED /etc/hosts

最后让它可执行:

chmod +x hosts-on.sh

你所需要做的是为每个脚本创建一个快捷方式,标记为 HOSTS-ON 和 HOSTS-OFF,放在你能找到它们的地方。


以上がホスト ファイルの更新に対するまったく新しいアプローチが近日公開されます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlinuxprobe.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。