View on GitHub

Hostd

Tools to custom your domain resolved rules. Used BlackHole as DNS server.

Download this project as a .zip file Download this project as a tar.gz file

管理Hostd

下载

使用下面的命令进行自动下载和安装:


    curl http://code4craft.github.io/hostd/install.sh | sh
                

管理

首先,你需要修改BlackHole的配置(/usr/local/blackhole/conf/blackhole.conf),将转发的DNS服务器修改为你的内网DNS服务器。


    dns=[你的内网DNS地址]
                

BlackHole支持多个DNS配置,配置靠前的DNS服务器的返回值优先级更高。如果你在内网进行了DNS拦截,请把你的内网DNS服务器配置到第一位。

BlackHole本身也具有缓存和自定义域名配置的功能,你也可以直接使用BlackHole作为内网服务器,并将转发的DNS服务器设置为ISP提供的地址,一个更详细的BlackHole配置请看这里BlackHole配置和使用说明

启动blackhole:


    sudo /usr/local/blackhole/blackhole.sh start
                

Hostd是一个标准的Java Web项目,这里我们使用了一个jetty的轻量级封装(war4e.jar)作为容器,你也可以使用你常用的容器(例如Tomcat、Jboss)启动它。

启动Hostd:


    sudo java -jar /usr/local/hostd/war4e.jar /usr/local/hostd/hostd-server-0.1.0.war -p 80 &
                

Hostd使用sqlite作为存储,所有的数据文件保存在/usr/local/hostd/zonesfile.db里。你也可以配置使用mysql来进行连接:解压hostd-server-0.1.0.war,并修改WEB-INF/classes/spring/applicationContext-myBatis.xml,配置datasource即可。建表语句见 这里