一种通用的dns黑洞区域生成器

dns-blackhole的Python项目详细描述


查看历史记录。
此脚本帮助您为DNS服务器创建黑洞区域, 使用一些著名的广告/跟踪/恶意软件列表。
只要您的dns服务器允许包含一个包含 每行的域及其配置语法应该可以工作。
目前已知工作和测试:

也可以生成agregated主机文件。

功能

  • 未绑定到特定的DNS服务器,生成 选择
  • 支持3种不同的列表格式
  • 允许您白名单/黑名单域
  • yaml配置文件

安装

脚本需要PyYAMLrequests模块。

pip install [--upgrade] dns-blackhole

未绑定

需要unbound>;=1.6,使用带unbound的默认区域文件 1.5肯定会让它吃掉你所有的ram并在之前交换 被杀死。
在您的 server:块。
在^{tt8}中使用以下zone_data。$ (默认):
zone_data:'local-zone:"{domain}"always_nxdomain'

{domain}将被黑洞域替换

powerdns递归器

在递归程序中添加forward-zones-file=/etc/pdns/blackhole.zone。 配置。
dns-blackhole.yml中使用以下zone_data
zone_data:'{domain}='

{domain}将被黑洞域替换

dnsmasq

在dnsmasq配置中添加conf-dir=/etc/dnsmasq.d,并指向 zone_file选项到/etc/dnsmasq.d/blackhole.conf
dns-blackhole.yml中使用以下zone_data
zone_data:'server=/{domain}/'

{domain}将被黑洞域替换

主机文件

dns-blackhole.yml中使用以下zone_data

zone_data:'127.0.0.1{domain}'
一旦您满意您的配置,只需运行dns-blackhole
dns-blackhole.yml中的默认列表将生成一个区域 包含约698000个条目。

配置

由于配置文件在yaml中,因此可以使用yaml锚定

dns-blackhole:general:cache:/var/cache/dns-blackholelog:/var/log/dns-blackhole/dns-blackhole.logwhitelist:/etc/dns-blackhole/whitelistblacklist:/etc/dns-blackhole/blacklistblackhole_lists:hosts:-http://someonewhocares.org/hosts/hosts-https://hosts-file.net/download/hosts.txt-http://winhelp2002.mvps.org/hosts.txt-http://www.malwaredomainlist.com/hostslist/hosts.txt-https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts;showintro=0easylist:&bh_easy-https://easylist.to/easylist/easylist.txt-https://raw.githubusercontent.com/paulgb/BarbBlock/master/BarbBlock.txtdisconnect:&bh_disconnecturl:https://services.disconnect.me/disconnect-plaintext.jsoncategories:# Advertising, Analytics, Disconnect, Social-Advertising-Analyticsconfig:zone_file:/etc/unbound/blackhole.zone# {domain} will be replaced by the blackholed domain, do not change it herezone_data:'local-zone:"{domain}"always_nxdomain'blackhole_lists:hosts:-http://winhelp2002.mvps.org/hosts.txteasylist:*bh_easydisconnect:*bh_disconnect

在本例中,您将保留easylistdisconnect列表, 但会删除除MVP以外的所有主机文件列表。

常见问题解答

让dns服务器返回nx而不是127.0.0.1

主机列表通常返回127.0.0.10.0.0.0
根据您使用的系统和/或浏览器,您最终可能会 在之前多次尝试连接时出现超时/缓慢问题 正在考虑关闭远程资源。

让您的DNS服务器返回nx-域-非存在域- 另一边让你的客户表现得更快,因为没有什么可重试的 当域不存在时。

为什么在powerdns递归程序中使用forward zones file选项而不是auth zones?

auth-zones的语法如下: auth-zones=dom1=<zone>,dom2=<zone>,dom3=<zone>,etc
虽然这可能适用于5000个黑洞域,但几乎适用于700 000个 产生的速度太慢,需要几十年的时间 完成时间。更糟糕的是,有了这样一个列表,pdns recursor 甚至无法启动并将崩溃。
通过使用forward-zones-filepdns递归器还需要大约5个 处理区域文件的秒数。

哪个DNS服务器最好?

这真的是一个偏好和你有什么可用的问题。使用 一个你最喜欢的。

待办事项

  • 尚未实现缓存
  • 日志尚未实现

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Clojure关键字在内存中的大小是多少?   Java中有固定长度的通用数组对象吗?   PostgreSQL:通过Java更新我的用户表   错误:使用java解析xml   java Json显示列表中对象的名称   java比较JodaTime时区   与JAVA中的API和包的区别?   java的int值在for循环中不改变   谷歌应用引擎中的java RSA   迁移到spring 5后出现java非法字符错误   java Websphere管理控制台不工作   JavaGSON如何始终在json中包含毫秒?   带有空格和双引号的windows Java ProcessBuilder命令参数失败   java错误:重复的zip条目[43.jar:org/apache/http/annotation/NotThreadSafe.class]