# dnsseeder Go Language dns seeder for the Twister P2P network This is a dns seeder for the [Twister P2P network](http://twister.net.co/) It is based on the original twister-seeder https://github.com/miguelfreitas/twister-seeder Also see the associated utility to display information about [non-standard ip addresses](https://github.com/gombadi/nonstd/) > **NOTE:** This repository is under ongoing development. Stable releases have been tagged and should be used for production systems. ## Installing Simply use go get to download the code: $ go get github.com/gombadi/dnsseeder Dependencies are handled by the Go vendor directory. Note: This means the codebase requires Go 1.5 or higher and use of GO15VENDOREXPERIMENT=1 There seem to be some issues with using go get so a process that works for me on Unix based systems is - ``` cd ${HOME} mkdir -p go/src/github.com/gombadi cd go/src/github.com/gombadi git clone the repo into this directory cd dnsseeder go install ``` The binary will then be available in ${HOME}/go/bin ## Usage $ dnsseeder -h An easy way to run the program is with tmux or screen. This enables you to log out and leave the program running. ``` Command line Options: -h hostname to serve -p port to listen on -d Produce debug output -v Produce verbose output -v Produce stats output ``` An easy way to run the program is with the following script. Change to suit your system. ``` #!/bin/bash LOGDIR=${HOME}/goseederlogs/ mkdir -p ${LOGDIR} # pass through the logging level needed if [ -z ${1} ]; then LOGLV="-v" else LOGLV="${1}" fi cd echo echo "======= Run the Go Language dnsseed =======" echo ${HOME}/go/bin/dnsseeder -h -p ${LOGLV} 2>&1 | tee ${LOGDIR}/$(date +%F-%s)-goseeder.log ``` ## RUNNING AS NON-ROOT Typically, you'll need root privileges to listen to port 53 (name service). One solution is using an iptables rule (Linux only) to redirect it to a non-privileged port: $ iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-port 5353 If properly configured, this will allow you to run dnsseeder in userspace, using the -p 5353 option. ## License For the DNS library license see https://github.com/miekg/dns For the bitcoin library license see https://github.com/btcsuite/btcd