Hosts-🔒整合和扩展来自多个精心管理的来源的HOSTS

具有基本扩展名的统一HOSTS文件

这个存储库整合了几个信誉良好的hosts文件,并将它们合并到删除重复项的统一主机文件中。提供了各种定制的主机文件

所有主机文件变体的列表

此存储库提供15 different host file variants,除了基本变体之外

这个非GitHub镜像是用于某些主机文件管理器的链接,如Hostsman for Windows不适用于GitHub下载链接

主机文件配方 自述文件 原始主机 唯一域 非GitHub镜像
统一主机=(广告软件+恶意软件) Readme link 81747 link
统一主机+假新闻 Readme link 83,942 link
统一主机+赌博 Readme link 84,204 link
统一主机+色情 Readme link 107,898 link
统一主机+社交 Readme link 84,562 link
统一主机+假新闻+赌博 Readme link 86,399 link
统一主机+假新闻+色情 Readme link 110,093 link
统一主机+假新闻+社交 Readme link 86,757 link
统一主机+赌博+色情 Readme link 110,355 link
统一主机+赌博+社交 Readme link 87,019 link
统一主机+色情+社交 Readme link 110,712 link
统一主机+假新闻+赌博+色情 Readme link 112,550 link
统一主机+假新闻+赌博+社交 Readme link 89,214 link
统一主机+假新闻+色情+社交 Readme link 112,907 link
统一主机+赌博+色情+社交 Readme link 113,169 link
统一主机+假新闻+赌博+色情+社交 Readme link 115,364 link

期望值:这些统一主机文件应服务于所有设备,而与操作系统无关

此变体中统一的主机数据源

已更新hosts来自以下位置的文件始终是统一的并包含在其中:

主机文件源 描述 主页 原始主机 更新频率 许可证 问题
史蒂文·布莱克的特别名单 当我遇到其他草图域时 link raw 偶尔 麻省理工学院 issues
阿达维 Adaway是一个开源的Android广告拦截器,使用的是Hosts文件 link raw 经常 将CC提高到3.0 issues
add.2o7Net 207Net跟踪站点基于hostsfile.org内容 link raw 偶尔 麻省理工学院 issues
add.Dead 基于以下条件的死点hostsfile.org内容 link raw 偶尔 麻省理工学院 issues
add.Risk 基于以下条件的风险内容网站hostsfile.org内容 link raw 偶尔 麻省理工学院 issues
add.Spam 基于以下内容的垃圾网站hostsfile.org内容 link raw 偶尔 麻省理工学院 issues
AdGuardTeam cname跟踪器 CNAME-伪装的跟踪滥用 link raw 偶尔 麻省理工学院 issues
Mitchell Krog‘s-Badd Boyz主持 来自My Nginx和Apache Bad Bot的粗略域名和不良推荐人和垃圾邮件推荐人拦截器 link raw 每周一次 麻省理工学院 issues
主机VN 主持挡路越南语广告 link raw 偶尔 麻省理工学院 issues
KADhosts 欺诈/广告软件/诈骗网站 link raw 经常 CC BY-SA 4.0 issues
MetaMask ETH-网络钓鱼-检测 针对以太用户的钓鱼域名 link raw 频繁 不要做一个混蛋的公共执照 issues
我的世界-主持人 与“我的世界”相关的跟踪器主机 link raw 偶尔 CC0-1.0 issues
MVP主机文件 此站点的目的是为用户提供高质量的自定义主机文件 link raw 每月一次 CC BY-NC-SA 4.0 issues
orca.pet 这是用于阻止网络钓鱼和恶意软件站点的域列表 link raw 频繁 ISC issues
osint.digitalside.it DigitalSide威胁-英特尔恶意软件域列表 link raw 每天 麻省理工学院 issues
阴暗的-主机 分析、广告和活动监控主机 link raw 偶尔 CC0-1.0 issues
丹·波洛克-someonewhocares 如何让互联网不那么糟糕 link raw 经常 具有归属的非商业性 issues
Tiuxo主机列表-广告 用于基于DNS的内容阻止的分类主机文件 link raw 偶尔 CC增加4.0 issues
取消检查广告 Windows Installers ADS源站点基于https://unchecky.com/内容 link raw 偶尔 麻省理工学院 issues
URLHaus 来自以下项目的项目abuse.ch以共享恶意URL为目标 link raw 每周一次 CC0 issues
yoyo.org 使用广告服务器和跟踪服务器主机名阻止 link raw 经常 issues

扩展部分

统一主机文件是可选的可扩展文件。扩展用于按类别包括域。目前,我们提供以下类别:fakenewssocialgambling,以及porn

扩展名是可选的,可以通过各种方式与基本主机文件组合。组合后的产品存储在alternates文件夹

扩展模块的数据存储在extensions文件夹。您可以通过管理此文件夹树来管理扩展模块,您可以在其中找到以下文件夹树的数据fakenewssocialgambling,以及porn我们为您维护和提供的扩展数据

生成您自己的统一主机文件

您有两个选项可以生成自己的主机文件。您可以在自己的环境中完成,也可以在Docker容器中完成。我们将首先报道码头,因为这是一个很短的部分

选项1:在Docker容器中生成

我们提供一个Dockerfile您可以使用它来创建一个包含您需要的一切的Docker容器。容器将包含Python 3及其所有依赖项要求,以及此资料档案库的最新版本副本

如下所示构建Docker容器:

docker build ./

通过如下方式访问终端:

docker run -it (containerid) bash

选项2:在您自己的环境中生成它

要生成您自己的合并主机文件,您需要Python 3.5或更高版本

首先,使用以下命令安装依赖项:

pip3 install --user -r requirements.txt

注意事项我们建议您将--user在用户级别安装所需依赖项的标志。有关它的更多信息可以在pip上找到。documentation

与您的开发环境无关的通用步骤

运行单元测试在顶级目录中,运行:

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,或-ktrue(默认)或false,保留与域显示在同一行上的注释。默认值为true

--noupdate,或-n:跳过从主机数据源获取更新

--output <subfolder>,或-o <subfolder>:将生成的源文件放入子文件夹。如果子文件夹不存在,则会创建子文件夹

--replace,或-r:触发器替换您的活动主机

--skipstatichosts,或-sfalse(默认)或true,省略顶部的标准部分,包含如下行127.0.0.1 localhost这对于在本地网络上配置最接近的DNS服务很有用

--nogendata,或-gfalse(默认)或true跳过用于生成readme.md文件的readmeData.json文件的生成。如果您正在生成具有附加白名单或黑名单的主机文件,并且希望保持此存储库的本地签出不被修改,则此功能非常有用

--compress,或-cfalse(默认)或true压缩主机文件忽略不必要的行(空行和注释),并在每行中放置多个域。减少主机文件的行数可提高Windows(启用DNS客户端服务)下的性能

--minimise,或-mfalse(默认)或true,就像--compress,但将每个域放在单独的行上。这是必要的,因为许多URL拦截器实现依赖于hosts文件不符合允许在单行上有多个主机的标准

--blacklist <blacklistfile>,或-x <blacklistfile>:将给定的HOSTS格式的黑名单文件追加到生成的HOSTS文件中

--whitelist <whitelistfile>,或-w <whitelistfile>:使用给定的白名单文件从生成的主机文件中删除主机

使用NixOS:

要在您的计算机上安装主机文件,请将以下内容添加到您的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如果您希望始终获得相同的结果,请使用精确提交

我如何控制哪些源是统一的?

添加一个或多个附加内容源文件,每个源文件都位于data/文件夹,并指定url键入ITSupdate.json文件

添加一个或多个可选扩展名,这些扩展名源自extensions/文件夹。同样,中的urlupdate.json控制此扩展模块查找其更新的位置

创建一个可选blacklist文件。此文件的内容(包含中的其他域列表hosts文件格式)在更新过程中被附加到统一主机文件。一份样品blacklist包括在内,并且可以根据需要进行修改

  • 注:blacklist不会被git跟踪,因此当您执行以下操作时,您所做的任何更改都不会被覆盖git pull此回购来自origin在未来

如何包含我自己的自定义域映射?

如果您有自定义主机记录,请将它们放入文件中myhosts在更新过程中,此文件的内容将作为统一主机文件的前缀

这个myhosts文件不会被git跟踪,因此当您执行以下操作时,您所做的任何更改都不会被覆盖git pull此回购来自origin在未来

如何防止包含域?

中列出的域whitelist文件从最终的主机文件中排除

这个whitelist使用部分匹配。所以如果你把白名单google-analytics.com,则该域及其所有子域不会合并到最终的主机文件中

这个whitelist不会被git跟踪,因此当您执行以下操作时,您所做的任何更改都不会被覆盖git pull此回购来自origin在未来

我如何贡献主机记录?

如果您发现您认为应该包含在这里的粗略域名,这里有一些贡献它们的方法

选项1:联系我们的一位主机来源

包含新域名的最佳方式是向主页为以下内容的任何数据提供商提交问题listed here这是最好的,因为一旦您提交新的域名,它们将由维护这些源的专职人员进行管理和更新

选项2:分叉此存储库,将您的域添加到Steven Black的个人数据文件中,然后提交拉取请求

分叉此主机此回购并将您的链接添加到https://github.com/StevenBlack/hosts/blob/master/data/StevenBlack/hosts

然后,提交拉取请求

警告:这比方案1更不可取,因为正在进行的管理落在我们身上。所以这给我们带来了更多的工作

选项3:在GitHub上创建您自己的主机列表作为回购

如果您能够策划您自己的粗略域名集合,那么就策划您自己的主机列表。然后发出回购存在的信号,如下所示a new issue当我们创建新版本时,我们可能会将您的新回购包括到我们拉取的资源集合中

什么是主机文件?

一个HOSTS文件,名为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文件中,在以下位置查找该文件,然后使用文本编辑器对其进行修改

MacOS(10.14.x之前的MacOS Mojave)、iOS、Android、Linux/etc/hosts文件

MacOS Catalina:/private/etc/hosts文件

窗口%SystemRoot%\system32\drivers\etc\hosts文件

根图(Gentoo)

Gentoo用户可以找到sb-hosts在……里面::pf4publicGentoo覆盖

在Windows上更新主机文件

(注意:另请参阅下面列出的一些第三方主机管理器。)

在Linux和MacOS上,运行Python脚本。在Windows上,由于兼容性问题需要做更多工作,因此最好按如下方式运行批处理文件:

updateHostsWindows.bat

此文件必须以存储库目录中的管理员权限在命令提示符下运行。除了更新HOSTS文件之外,它还可以替换现有的HOSTS文件,并重新加载DNS缓存。不用说,要想让它起作用,你必须连接到互联网上。

要以管理员身份在资料库目录中打开命令提示符,请执行以下操作:

Windows XP:Start→Run→cmd

Windows Vista,7:开始按钮→类型cmd→右键单击命令提示符→“以管理员身份运行”

Windows 8:Start→Swipe Up→All Apps→Windows System→右键单击命令提示符→“以管理员身份运行”

Windows 10:开始按钮→类型cmd→右键单击命令提示符→“以管理员身份运行”

您还可以参考“第三方主机管理器”部分,了解来自第三方的更多推荐解决方案

警告:使用此hostsWindows中的文件可能需要禁用DNS缓存服务

Windows对较大的主机文件有问题。Windows10安全方面的最新变化拒绝通过除注册表黑客之外的其他工具访问更改的服务。使用disable-dnscache-service-win.cmd文件对Windows注册表进行适当更改。完成此操作后,您将需要重新启动设备。请参阅the comments within the cmd file有关更多详细信息,请参阅

正在重新加载主机文件

您的操作系统将缓存DNS查找。一旦新的主机文件就位,您可以重新引导或运行以下命令来手动刷新DNS缓存

|Google Chrome浏览器可能需要手动清除其DNS缓存chrome://net-internals/#dns页,然后查看主机文件中的更改。请参见:https://superuser.com/questions/723703

窗口

使用管理员权限打开命令提示符,然后运行以下命令:

ipconfig /flushdns

Linux操作系统

打开终端并以root权限运行:

Debian/Ubuntusudo service network-manager restart

Linux铸币厂sudo /etc/init.d/dns-clean start

带systemd的Linuxsudo systemctl restart network.service

Feddora Linuxsudo systemctl restart NetworkManager.service

带网络管理器的Arch Linux/Manjarosudo systemctl restart NetworkManager.service

带Wicd的Arch Linux/Manjarosudo systemctl restart wicd.service

RHEL/CentOSsudo /etc/init.d/network restart

FreeBSDsudo service nscd restart

要启用nscd守护程序最初,建议您运行以下命令:

sudo sysrc nscd_enable="YES"
sudo service nscd start

然后修改hosts在您的/etc/nsswitch.conf文件保存到以下位置:

hosts: cache files dns

其他:咨询this Wikipedia article

MacOS

打开终端并运行:

sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder

版本管理

此存储库使用release-it,一个用于GitHub repos和NPM包的优秀CLI发布工具,可自动创建releases这就是为什么package.json.release-it.json文件捆绑在一起

此统一主机文件的目标

这项回购的目标是:

  1. 自动组合高质量的主机列表,
  2. 提供适合情况的扩展,
  3. 对得到的组合列表进行去重,
  4. 并使生成的文件保持合理的大小

高质量的信息源在这里被定义为经过积极策划的信息源。主机源应该由其维护人员频繁更新,包括添加和删除。主机文件越大,预期的管理级别就越高

预计此统一的HOSTS文件将在各种操作系统下同时服务于台式机和移动设备

第三方托管经理

  • Unified Hosts AutoUpdate(适用于Windows):Unified Hosts AutoUpdate软件包是专门为此Unified Hosts项目构建的,并且由社区成员积极开发。您可以安装和卸载任何黑名单并自动使其保持最新,并且可以放置在共享网络位置,并通过组策略在整个组织中部署。由于社区成员正在积极开发它,因此非常欢迎您的bug报告、特性请求和其他反馈
  • ViHoMa是一个Visual Hosts文件管理器,由Christian Martínez用Java编写。看看这个!

有趣的应用程序

  • Maza ad blocking是自动更新主机文件的bash脚本。您还可以更新新的副本。并且每次它都会生成与DNSMASQ兼容的配置文件。快速安装,兼容MacOS、Linux和BSD
  • Hostile是一个漂亮的命令行实用程序,可以轻松地在主机文件中添加或删除域。如果我们的主机文件对您来说太过激进,您可以使用hostile来删除域,或者您可以使用hostile在bash脚本中,以便在每次下载主机的新版本时自动执行开机自检过程
  • macOS Scripting for Configuration, Backup and Restore帮助自定义、重新安装和使用MacOS。它还提供了一个script在MacOS上使用此项目安装和更新HOSTS文件。与一个launchd它每x天更新一次主机文件(默认值为4)。要同时安装两者,请下载GitHub存储库并运行install script从上一级目录开始
  • Pi-hole是在网络范围内运行的DHCP服务器和广告拦截器Raspberry PiPI-HOLE使用此存储库作为其来源之一
  • Block ads and malware via local BIND9 DNS server(对于Debian、Raspbian和Ubuntu):使用/etc/bind/named.conf.blocked文件,来源为此处
  • Block ads, malware, and deploy parental controls via local DualServer DNS/DHCP server(对于BSD、Windows和Linux):使用针对DualServer重新格式化的统一主机的功能,为您网络中的每个人设置黑名单。如果您使用的是Windows,该项目还会维护一个更新脚本,使更新DualServer的黑名单变得更加容易
  • Blocking ads and malwares with unboundUnbound是验证、递归和缓存DNS解析器
  • dnsmasq conversion script这个GitHub要点有一个简短的shell脚本(bash,可以在任何“nix”上运行),并使用wget&awk存在于大多数发行版中,用于获取指定的主机文件并将其转换为dnsmasq所需的格式。支持IPv4和IPv6。设计为既可以用作shell脚本,也可以放入/etc/cron.Week(或任何合适的位置)。该脚本简短且易于编辑,还附带一个简短的文档,并附带有关dnsmasq设置的说明
  • BlackHosts – Command Line Installer/Updater这是一个跨平台的命令行实用程序,用于帮助安装/更新在此存储库中找到的主机文件

贡献自己的力量!

请阅读我们的Contributing Guide此外,这还解释了我们如何组织此存储库中的文件和文件夹

我们总是对发现精心安排的宿主来源感兴趣。如果您找到一个,请打开一个issue为了引起我们的注意

在您创建或回应任何问题之前,请阅读我们的code of conduct