请注意!
除了与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 谢谢!