首頁 >系統教程 >Linux >即將到來的是對主機檔案更新的全新方法!

即將到來的是對主機檔案更新的全新方法!

王林
王林轉載
2024-01-03 17:42:061255瀏覽
導讀 網路上有許多持續維護的含有不同垃圾域的有用清單。將這些清單複製到你的主機檔案中可以輕鬆阻止大量的網域,你的系統根本不用去連接它們。此方法可以在不安裝瀏覽器插件的情況下工作,並將為系統上任何瀏覽器(和任何其他程式)提供阻止操作。

即將到來的是對主機檔案更新的全新方法!

#在本教程中,我將向你們展示如何在 Linux 中啟動並執行 Steven Black 的統一主機腳本。該腳本將使用來自多個來源的最新已知的廣告伺服器、網路釣魚網站和其他網路垃圾的地址來更新你的電腦主機文件,同時提供一個漂亮、乾淨的方式來管理你自己的黑名單/白名單,其分別來自於該腳本管理的各個清單。

在將 30,000 個網域放入主機檔案之前,需要注意兩點。首先,這些龐大的清單包含可能需要解除封鎖的伺服器,以便進行線上購買或其他一些臨時情況。如果你弄亂了你的主機文件,你要知道網路上的某些東西可能會出現問題。為了解決這個問題,我將向你展示如何使用方便的打開/關閉開關,以便你可以快速禁用你的阻止清單來購買喜馬拉雅鹽霧燈(它是等離子燈)。我仍然認為這些清單的目的之一是將所有的一切封鎖(有點煩人,直到我想到了做一個關閉開關)。如果你經常遇到你需要的伺服器被封鎖的問題,只需將其添加到白名單檔案中即可。

第二個問題是性能受到了輕微的影響, 因為每次調用一個域時, 系統都必須檢查整個列表。只是有一點點影響, 而沒有大到讓我因此而放棄黑名單,讓每一個連接都通過。你具體要怎麼選擇自己看著辦。

主機檔案透過將請求定向到 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

安裝完之後,輸入:
網路上有許多持續維護的含有不同垃圾域的有用清單。將這些清單複製到你的主機檔案中可以輕鬆阻止大量的網域,你的系統根本不用去連接它們。此方法可以在不安裝瀏覽器插件的情況下工作,並將為系統上任何瀏覽器(和任何其他程式)提供阻止操作。

在本教程中,我將向你們展示如何在 Linux 中啟動並執行 Steven Black 的統一主機腳本。該腳本將使用來自多個來源的最新已知的廣告伺服器、網路釣魚網站和其他網路垃圾的地址來更新你的電腦主機文件,同時提供一個漂亮、乾淨的方式來管理你自己的黑名單/白名單,其分別來自於該腳本管理的各個清單。

在將 30,000 個網域放入主機檔案之前,需要注意兩點。首先,這些龐大的清單包含可能需要解除封鎖的伺服器,以便進行線上購買或其他一些臨時情況。如果你弄亂了你的主機文件,你要知道網路上的某些東西可能會出現問題。為了解決這個問題,我將向你展示如何使用方便的打開/關閉開關,以便你可以快速禁用你的阻止清單來購買喜馬拉雅鹽霧燈(它是等離子燈)。我仍然認為這些清單的目的之一是將所有的一切封鎖(有點煩人,直到我想到了做一個關閉開關)。如果你經常遇到你需要的伺服器被封鎖的問題,只需將其添加到白名單檔案中即可。

第二個問題是性能受到了輕微的影響, 因為每次調用一個域時, 系統都必須檢查整個列表。只是有一點點影響, 而沒有大到讓我因此而放棄黑名單,讓每一個連接都通過。你具體要怎麼選擇自己看著辦。

主機檔案透過將請求定向到 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中文網其他相關文章!

陳述:
本文轉載於:linuxprobe.com。如有侵權,請聯絡admin@php.cn刪除