當前位置:
首頁 > 知識 > 使用統一阻止列表和白名單來更新主機文件

使用統一阻止列表和白名單來更新主機文件

使用統一阻止列表和白名單來更新主機文件


網上有許多持續維護的含有不同垃圾域的有用列表。將這些列表複製到你的主機文件中可以輕鬆阻止大量的域,你的系統將根本不用去連接它們。此方法可以在不安裝瀏覽器插件的情況下工作,並且將為系統上任何瀏覽器(和任何其他程序)提供阻止操作。 -- Dmt

編譯自: https://www.darrentoback.com/this-script-updates-hosts-files-using-a-multi-source-unified-block-list-with-whitelisting

作者: Dmt

譯者: geekpi

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

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

在將 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[2] 可以告訴你所有你需要知道的。

你需要安裝 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: https://www.darrentoback.com/this-script-updates-hosts-files-using-a-multi-source-unified-block-list-with-whitelisting

作者:dmt[3] 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

  • [1]: 統一主機腳本 - https://github.com/StevenBlack/hosts

  • [2]: readme.md - https://github.com/StevenBlack/hosts/blob/master/readme.md

  • [3]: dmt - https://www.darrentoback.com/about-me

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Linux技術 的精彩文章:

使用開源代碼構建機器人時需要考慮的事項
漏洞修復八個月後,仍有超過七萬台 memcached 伺服器面臨危險
一年之後,React.js 許可協議再起爭端
熱烈祝賀!LCTT 第一位達成翻譯 500 篇成就的譯者 geekpi!
Neo4j 圖資料庫基礎

TAG:Linux技術 |

您可能感興趣

為什麼有人說赤壁之戰的歷史作用是阻止了一個盛世的到來?原因其實很簡單
俄羅斯接連曝光重型武器發展迅速,北約稱將動用一切手段進行阻止
兩隻金毛在主人面前對視,主人試圖阻止,可它們還是「牽手成功」
精靈葉羅麗:靈公主這個謊言成功阻止了白光瑩,原因讓人感動
貓咪想抓魚被主人阻止,接下來這貨的一個動作讓主人笑翻了
美國出面阻止以色列戰機訂單,盟友身份也不管用,俄:各懷鬼胎
法國正在研製一種新的太空激光器 用於阻止「流氓」衛星
通天教主作為封神榜的制定者之一,為何要阻止封神?
葉羅麗中能阻止冰公主的,除了火領主之外,還有一位人物能做到
蘇聯為何一反常態,不阻止兩德統一?主要原因是有四點!
本期《極限挑戰》導演阻止黃磊試密碼惹爭議,網友:乾脆撕名牌吧
貓咪霸佔把主人電腦,當做自己乘涼的墊鋪,被阻止還一臉嫌棄
金毛開抽屜被阻止,一臉嚴肅,再一抬爪主人笑抽
外來物種入侵無名小鎮,政府當機立斷阻止了這件事情!
眼下最紅的時尚博主竟是電腦虛擬,人類都無法阻止「她」大火
作為封神榜的制定者之一,通天教主為何要阻止封神?說了讓人尷尬
助攻C羅,阻止穆帥的挑釁行為,博努奇用表現挽回尤文球迷的心
中國玩家有多強?暗黑最強怪物被一擊秒殺,暴雪的更新都阻止不了
《變形計》裡面最扎心的「情侶」導演無奈,最後家人來了才被阻止
海賊王:無法阻止的變身,全新四檔發動,吊打卡二模式開啟