請注意!
除了與hosts/data/StevenBlack/hosts
變更相關的問題和 PR 之外,與產生的主機檔案內容相關的所有其他問題都應使用提供相關內容的適當資料來源來解決。所有資料來源的聯絡資訊可以在hosts/data/
目錄中找到。
該儲存庫整合了多個信譽良好的hosts
文件,並將它們合併為一個統一的主機文件,並刪除了重複項。提供各種客製化的主機檔案。
因此,這個儲存庫是一個主機檔案聚合器。
除了基本變體之外,此儲存庫還提供 31 種不同的主機檔案變體,包括或不包括統一主機。
非 GitHub 鏡像是用於某些不支援 GitHub 下載連結的主機檔案管理器(例如 Hostsman for Windows)的連結。
主機檔案配方 | 自述文件 | 原始主機 | 獨特的領域 | 非 GitHub 鏡像 |
---|---|---|---|---|
統一主機= (廣告軟體+惡意軟體) | 自述文件 | 關聯 | 121,628 | 關聯 |
統一主機+假新聞 | 自述文件 | 關聯 | 123,822 | 關聯 |
假新聞 | 自述文件 | 關聯 | 2,194 | 關聯 |
統一主機+賭博 | 自述文件 | 關聯 | 130,185 | 關聯 |
賭博 | 自述文件 | 關聯 | 8,569 | 關聯 |
統一主機+色情 | 自述文件 | 關聯 | 197,270 | 關聯 |
A片 | 自述文件 | 關聯 | 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 | 關聯 |
期望:這些統一的主機檔案應該為所有裝置提供服務,無論作業系統為何。
來自以下位置的更新的hosts
檔案始終是統一的並包含在內:
主機檔案來源 | 首頁 | 原始主機 | 執照 | 問題 | 描述 |
---|---|---|---|---|---|
史蒂文布萊克的特別名單 | 關聯 | 生的 | 麻省理工學院 | 問題 | 我遇到的其他草圖領域。 |
阿德威 | 關聯 | 生的 | 抄送3.0 | 問題 | AdAway 是使用主機檔案的 Android 開源廣告攔截器。 |
新增2o7Net | 關聯 | 生的 | 麻省理工學院 | 問題 | 2o7Net 是基於hostsfile.org 內容追蹤網站。 |
添加死亡 | 關聯 | 生的 | 麻省理工學院 | 問題 | 基於hostsfile.org 內容的死站點。 |
附加風險 | 關聯 | 生的 | 麻省理工學院 | 問題 | 根據hostsfile.org 內容對內容網站進行風險評估。 |
新增垃圾郵件 | 關聯 | 生的 | 麻省理工學院 | 問題 | 基於hostsfile.org 內容的垃圾郵件網站。 |
米切爾·克羅格 (Mitchell Krog) - Badd Boyz 主持人 | 關聯 | 生的 | 麻省理工學院 | 問題 | 來自我的 Nginx 和 Apache Bad Bot 以及垃圾郵件引用者阻止程式的粗略域和錯誤引用者 |
主機VN | 關聯 | 生的 | 麻省理工學院 | 問題 | 主機屏蔽越南語廣告 |
KAD主機 | 關聯 | 生的 | 抄送-SA 4.0 | 問題 | 詐騙/廣告軟體/詐騙網站。 |
我的世界主機 | 關聯 | 生的 | CC0-1.0 | 問題 | Minecraft 相關追蹤器主機 |
MVPS 主機文件 | 關聯 | 生的 | CC BY-NC-SA 4.0 | 問題 | 本網站的目的是為使用者提供高品質的自訂 HOSTS 檔案。 |
丹波洛克-關心的人 | 關聯 | 生的 | 非商業性且註明出處 | 問題 | 如何讓網路不那麼糟。 |
Tiuxo 主持人名單 - 廣告 | 關聯 | 生的 | 抄送4.0 | 問題 | 對基於 DNS 的內容封鎖的主機檔案進行分類 |
取消選取廣告 | 關聯 | 生的 | 麻省理工學院 | 問題 | Windows 安裝程式依據 https://unchecky.com/ 內容廣告來源網站。 |
網址之家 | 關聯 | 生的 | CC0 | 問題 | abuse.ch 的一個項目,其目標是共用惡意 URL。 |
悠悠網 | 關聯 | 生的 | 問題 | 使用廣告伺服器和追蹤伺服器主機名稱進行封鎖。 |
統一主機檔案可以選擇擴充。擴充用於按類別包含網域。目前,我們提供以下類別: fakenews
、 social
、 gambling
和porn
。
擴充功能是可選的,並且可以以各種方式與基本主機檔案組合。組合產品儲存在alternates
資料夾中。
擴充的資料儲存在extensions
資料夾中。您可以透過管理此資料夾樹來管理擴充程序,您可以在其中找到我們維護並為您提供的fakenews
、 social
、 gambling
和porn
擴充功能資料。
您可以透過三個選項來產生自己的主機檔案。您可以使用我們的容器映像、建立自己的映像或在您自己的環境中進行操作。如果您安裝了安裝了 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
之前新增以下參數,具體取決於您希望使用的主機。
-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
這將創建主機文件,並在完成後將其與容器一起刪除,所以不是很有用。您可以使用選項 #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>
:使用給定的白名單檔案從產生的主機檔案中刪除主機。
新增一個或多個其他來源(每個來源都位於data/
資料夾的子資料夾中),並在其update.json
檔案中指定url
鍵。
增加一個或多個可選擴展,這些擴展源自於extensions/
資料夾的子資料夾。 update.json
中的 url 再次控制此擴充功能查找其更新的位置。
建立可選的blacklist
檔案。該檔案的內容(包含hosts
檔案格式的其他網域的清單)將在更新過程中附加到統一主機檔案中。包含一個範例blacklist
,並且可以根據您的需求進行修改。
blacklist
,因此當您將來從origin
git pull
此儲存庫時,您所做的任何更改都不會被覆蓋。如果您有自訂主機記錄,請將它們放在檔案myhosts
中。在更新過程中,此文件的內容將會加入到統一主機文件中。
myhosts
檔案不會被 git 跟踪,因此當您將來從origin
git pull
此存儲庫時,您所做的任何更改都不會被覆蓋。
您在whitelist
檔案中列出的網域將從最終的主機檔案中排除。
whitelist
採用部分匹配的方式。因此,如果您將google-analytics.com
列入白名單,則該網域及其所有子網域將不會合併到最終的主機檔案中。
git 不會追蹤whitelist
,因此當您將來從origin
git pull
此儲存庫時,您所做的任何更改都不會被覆蓋。
如果您發現您認為應該包含在此處的粗略域,可以透過以下一些方式貢獻它們。
包含新網域的最佳方法是向此處列出其主頁的任何資料提供者提交問題。這是最好的,因為一旦您提交新網域,它們將由維護這些來源的專門人員進行管理和更新。
分叉此主機此儲存庫並將連結新增至 https://github.com/StevenBlack/hosts/blob/master/data/StevenBlack/hosts。
然後,提交拉取請求。
警告:這不如選項 1 理想,因為持續的管理工作由我們承擔。所以這給我們帶來了更多的工作。
如果您能夠管理自己的粗略域集合,那麼您就可以管理自己的主機清單。然後將您的儲存庫的存在標記為新問題,我們可能會將您的新儲存庫包含到我們建立新版本時提取的來源集合中。
名為hosts
(沒有檔案副檔名)的主機檔案是所有作業系統都使用的純文字文件,用於將主機名稱對應到IP 位址。
在大多數作業系統中, hosts
檔案優先於DNS
。因此,如果hosts
檔案解析了域名,則請求永遠不會離開您的電腦。
擁有智慧hosts
檔案對於阻止惡意軟體、廣告軟體和其他刺激物大有幫助。
例如,要取消對某些 doubleclick.net 伺服器的請求,請將這些行新增到您的主機檔案中即可:
# 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...
0.0.0.0
而不是127.0.0.1
傳統上,大多數主機檔案使用127.0.0.1
(環回位址)來建立到本機的 IP 連線。
我們偏好使用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
若要在您的電腦上安裝主機文件,請將以下內容新增至您的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
。透過flakes管理的 NixOS 安裝可以使用如下所示的主機檔案:
{
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
Arch Linux/Manjaro 與網路管理器: sudo systemctl restart NetworkManager.service
Arch Linux/Manjaro 與 Wicd : 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
會自動重新啟動。
其他:查閱這篇維基百科文章。
如本文所述,打開終端並運行:
sudo dscacheutil -flushcache ; sudo killall -HUP mDNSResponder
該儲存庫使用release-it(一個適用於 GitHub 儲存庫和 npm 套件的優秀 CLI 發布工具)來自動建立版本。這就是為什麼捆綁 package.json 和 .release-it.json 檔案的原因。
此回購協議的目標是:
高品質來源在這裡被定義為積極策劃的來源。主機來源應該由其維護者經常更新,包括新增和刪除。主機檔案越大,預期的管理等級越高。
預計這個統一的主機檔案將服務於各種作業系統下的桌面和行動裝置。
hostile
來刪除網域,或者您可以在 bash 腳本中使用hostile
在每次下載新版本的主機時自動執行後期處理。/etc/bind/named.conf.blocked
檔案(源自此處)設定本機 DNS 伺服器。wget
和awk
,來獲取指定的主機文件並將其轉換為dnsmasq 所需的格式。支援 IPv4 和 IPv6。設計為用作 shell 腳本,或可以放入/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 謝謝!