A simple DNS proxy server for Node.js
一个简单的 Node.js DNS 代理服务器
npm install dnsproxy # install from npm
sudo dnsproxy -a a.com:127.0.0.1 & # start dns proxy server
dig @localhost a.com # test the server, return 127.0.0.1
Usage: dnsproxy [-?hv] [-b address] [-p port] [-c true|false] [-a domain1:ip1 [domain2:ip2 [...]]] [-f filename]
Options:
-?,-h : this help
-v : show version and exit
-b address : set bind address
-p port : set bind port(default: 53)
-c true|false : enable/disable cache
-a domain:ip : add one or more DNS recode
-f filename : load options from file
sudo dnsproxy -a "*.a.com:127.0.0.1" "*.b.a.com:127.0.0.2" "*:127.0.0.3" &
dig @localhost xx.a.com # return 127.0.0.1
dig @localhost xx.b.a.com # return 127.0.0.2
dig @localhost any.other.domain # return 127.0.0.3
When "ip" configuration is "localhost", node-dnsproxy returns the requesting host IP address
当"ip"配置为"localhost"时,node-dnsproxy 返回请求主机的ip地址
When "ip" configuration is "proxyhost", node-dnsproxy returns the binding IP address of the server
当"ip"配置为"proxyhost"时,node-dnsproxy 返回服务器绑定的ip地址
# start server on 192.168.1.1
sudo dnsproxy -a who.am.i:localhost who.are.you:proxyhost &
# run on 192.168.1.2
dig @192.168.1.1 who.am.i # return 192.168.1.2
dig @192.168.1.1 who.are.you # return 192.168.1.1
# run on 192.168.1.3
dig @192.168.1.1 who.am.i # return 192.168.1.3
dig @192.168.1.1 who.are.you # return 192.168.1.1