@
tititake 呃,其实写BlackHoleJ之前不知道pdnsd...
看了一下,pdnsd功能很强大,还有uptest这些,毕竟10年了嘛,占用资源也少(我测试下来只有几百K),但是配置稍微繁琐一点,一个DNS cache还要google一番是比较费劲的。
BlackHoleJ设计就是给懒人用的,比如你想自建一个防DNS污染的东东,又在公司内网,有些地址需要拦截,使用BlackHoleJ只需要把公司内网DNS配到第一个就可以了,就一行配置。
BlackHoleJ防污染用的是UDP+持久化污染地址黑名单,理论上比TCP快。
性能上我比较了下,两个响应都在0ms以下,pdnsd好像直接用的文件缓存,BlackHoleJ用了内存缓存,关闭时才持久化。qps分别是18000和50000,不过好像也没什么意义,都够用了。
其实最重要的,本来也是学习的态度做的这个,跟一个维护了10年的项目也没啥可比性。至于重复造轮子,见仁见智了,毕竟也没人用Java写过这个嘛。