具有基本扩展名的统一HOSTS文件
这个存储库整合了几个信誉良好的hosts
文件,并将它们合并到删除重复项的统一主机文件中。提供了各种定制的主机文件
- 上次更新时间:2021年7月4日
- 这是raw hosts file with base extensions包含81,747个条目
- 徽标创建者@Tobaloidee
所有主机文件变体的列表
此存储库提供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 |
扩展部分
统一主机文件是可选的可扩展文件。扩展用于按类别包括域。目前,我们提供以下类别:fakenews
,social
,gambling
,以及porn
扩展名是可选的,可以通过各种方式与基本主机文件组合。组合后的产品存储在alternates
文件夹
扩展模块的数据存储在extensions
文件夹。您可以通过管理此文件夹树来管理扩展模块,您可以在其中找到以下文件夹树的数据fakenews
,social
,gambling
,以及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
,或-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文件的生成。如果您正在生成具有附加白名单或黑名单的主机文件,并且希望保持此存储库的本地签出不被修改,则此功能非常有用
--compress
,或-c
:false
(默认)或true
,压缩主机文件忽略不必要的行(空行和注释),并在每行中放置多个域。减少主机文件的行数可提高Windows(启用DNS客户端服务)下的性能
--minimise
,或-m
:false
(默认)或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
→右键单击命令提示符→“以管理员身份运行”
您还可以参考“第三方主机管理器”部分,了解来自第三方的更多推荐解决方案
hosts
Windows中的文件可能需要禁用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的Linux:sudo systemctl restart network.service
Feddora Linux:sudo systemctl restart NetworkManager.service
带网络管理器的Arch Linux/Manjaro:sudo systemctl restart NetworkManager.service
带Wicd的Arch Linux/Manjaro: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
然后修改hosts
在您的/etc/nsswitch.conf
文件保存到以下位置:
hosts: cache files dns
MacOS
打开终端并运行:
sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder
版本管理
此存储库使用release-it,一个用于GitHub repos和NPM包的优秀CLI发布工具,可自动创建releases这就是为什么package.json和.release-it.json文件捆绑在一起
此统一主机文件的目标
这项回购的目标是:
- 自动组合高质量的主机列表,
- 提供适合情况的扩展,
- 对得到的组合列表进行去重,
- 并使生成的文件保持合理的大小
高质量的信息源在这里被定义为经过积极策划的信息源。主机源应该由其维护人员频繁更新,包括添加和删除。主机文件越大,预期的管理级别就越高
预计此统一的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 unbound–Unbound是验证、递归和缓存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