迷你DNS服务器 BlackHoleJ

LGPL
Java 查看源码»
跨平台
2013-03-09
黄亿华

BlackHole是一个Java编写的DNS服务器,它可以进行DNS缓存,也支持自定义域名配置,并可以防止DNS污染。比起老牌的DNS软件BIND、pdnsd,BlackHole功能比较简单,但是更容易使用,性能也更好。BlackHole的功能包括:

DNS缓存

BlackHole具有DNS缓存以及持久化的功能,可以作为一个DNS缓存服务器使用,以加速DNS访问。

BlackHole缓存性能优秀,可以支持每秒50000次随机查询,平均响应时间0.3ms,高于pdnsd及BIND(测试报告)。


hosts风格自定义域名

BlackHole也支持修改域名配置,配置域名的方式非常简单,与hosts文件一致,并且支持通配符(目前仅支持A记录)。

例如:

127.0.0.1   *.codecraft.us

表示将所有以.codecraft.us形式结尾的域名全部指向127.0.0.1。

BlackHole还包含一个Web管理模块Hostd,可以让每个用户管理自己的域名配置,并且彼此之间不冲突。

的码云指数为
超过 的项目
加载中

评论(6)

_vince
_vince
加入我部署到内网一台linux服务器,然后其他电脑dns解析指向这台服务器就可以吗
Monkey丶
Monkey丶
这软件真牛逼呀
黄亿华
黄亿华 软件作者
经过测试,BlackHoleJqps到了50000,比@LinkerLin 的python版本高了10倍,看来也可以自称“高性能DNS服务器”了 。
黄亿华
黄亿华 软件作者
再次把BlackHoleJ配置成开机启动,本地dns设置成127.0.0.1,再也不用烦心运营商劫持的事了!顺便测试一下缓存功能的稳定性。
黄亿华
黄亿华 软件作者
之前一直用JDK7 Developer Preview u04,做BlackHoleJ压测的时候因为要短时间产生大量对象,gc直接就不起作用了,内存从70M飙到300M。后来换到1.7.0u25,稳定到130M不变,吞吐量也有了提高。
黄亿华
黄亿华 软件作者
在这伟大的时刻,BlackHoleJ 成为了超越所有DNS服务器的存在。

BlackHoleJ 1.2.2 发布,Java轻量级DNS服务器

此次更新优化了域名配置功能,更新内容: 极大优化了A记录配置的性能。 修复数万条配置的情况下,性能明显下降的问题issue#9。 新增NS格式的配置。 BlackHoleJ是一个Java编写的DNS服务器,它...

2013/07/16 22:04

BlackHoleJ 1.2.1发布,Java轻型DNS服务器

此次更新优化了DNS缓存功能,更新内容: 增加自定义缓存过期时间的功能。 优化了缓存目录地址。 修复了缓存持久化不生效的bug。 BlackHoleJ是一个Java编写的DNS服务器,它可以进行DNS缓存,也...

2013/06/22 21:49

BlackHoleJ 1.2.0发布,提供跨平台hosts解决方案

主要改动: issues#5 对不同的用户IP提供不同的DNS响应,从而可以让每个用户管理自己的DNS配置。 开发了一个Web模块Hostd,可以在web页面修改hosts,供所有用户进行自己DNS配置的管理。配合B...

2013/05/31 16:20

BlackHoleJ 1.1.3 发布,性能大幅提高

BlackHoleJ是一个迷你型的DNS服务器。它的主要特色是可以通过简单配置,将DNS请求导向某些特定IP。同时可以通过特征判断的方式,防止DNS污染。 BlackHoleJ的配置跟hosts文件类似,但支持通配...

2013/04/27 23:23

没有更多内容

加载失败,请刷新页面

没有更多内容

2
回答
BlackHoleJ修改DNS问题

@黄亿华 你好,想跟你请教个问题: 你好,我安装了BlackHoleJ,现在的问题是,我修改config文件,发现DNS=202.101.172.35 就...

2013/08/09 12:29
2
回答
使用hostd为移动设备切换域名

lz的有个朋友最近在做移动开发,聊到移动设备上要切换开发和线上环境比较麻烦。在PC上我们一般修改hosts,但是在移动设备上修改hosts不太方便(需要R...

2013/06/03 09:56

没有更多内容

加载失败,请刷新页面

没有更多内容

BlackHole开发日记--使用hostd为移动设备切换域名

lz的有个朋友最近在做移动开发,聊到移动设备上要切换开发和线上环境比较麻烦。在PC上我们一般修改hosts,但是在移动设备上修改hosts不太方便(需要ROOT、越狱等,修改起来也不方便)。因为之前...

2013/06/03 09:49
313
0
BlackHole开发日记-使用三种不同IO模型实现一个DNS代理服务器

BlackHoleJ是一个DNS服务器。他的一个功能是,对于它解析不了的DNS请求,它将请求转发到另外一台DNS服务器,然后再将其响应返回给客户端,起到一个DNS代理的作用。 ![图解DNS代理][1] 这个功...

2013/04/27 22:49
875
1

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部