cdns is an experimental tool to cure your poisoned DNS. The benifits are:
- No VPN required
- You can use many foreign DNS servers as upstream server.
- You can get really good experience if you use fast foreign DNS server as up stream server.
The following libraries are required.
- libevent2
- argp-standalone (Required for OpenWRT/FreeBSD build only)
On general linux, run commands below to build with CMake.
mkdir build
cd build
cmake ../
make
A simple Makefile is also provided for build without CMake.(Note: this building method is not to be maintained. It is for easy build on OpenWRT and FreeBSD.)
make
To build with OpenWRT toolchain, read documents here (http://wiki.openwrt.org/doc/devel/crosscompile) for how to cross compile. This is an example:
export PATH=$PATH:/openwrt_cc/staging_dir/host/bin/:/openwrt_cc/staging_dir/toolchain-mips_mips32_gcc-4.8-linaro_uClibc-0.9.33.2/bin/
export STAGING_DIR=/openwrt_cc/staging_dir/toolchain-mips_mips32_gcc-4.8-linaro_uClibc-0.9.33.2/
export TARGET_DIR=/openwrt_cc/staging_dir/target-mips_mips32_uClibc-0.9.33.2
export CFLAGS="-mips32 -mtune=mips32 -I$TARGET_DIR/usr/include/ -L$TARGET_DIR/usr/lib/"
make CC=mips-openwrt-linux-gcc LD=mips-openwrt-linux-ld
To build on FreeBSD with gmake:
export CFLAGS="-I/usr/local/include -L/usr/local/lib"
gmake
Run cdns like this:
./cdns -c /path/to/config.json
kill -SIGUSR1 `pidof cdns`
You can create your configuration file based on 'config.json.example'.