阻止列表和白名單來更新主機檔案!

大雄45發表於2023-11-05
導讀 網上有許多持續維護的含有不同垃圾域的有用列表。將這些列表複製到你的主機檔案中可以輕鬆阻止大量的域,你的系統將根本不用去連線它們。此方法可以在不安裝瀏覽器外掛的情況下工作,並且將為系統上任何瀏覽器(和任何其他程式)提供阻止操作。

在本教程中,我將向你展示如何在   中啟動並執行 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 
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,放在你能找到它們的地方。


via: 

作者:  譯者:  校對:

本文由   原創編譯,  榮譽推出

原文來自:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2987811/,如需轉載,請註明出處,否則將追究法律責任。

相關文章