Novacoin DNS seeder
C++ C Perl Makefile
Pull request Compare This branch is 2 commits behind CryptoManiac:master.
Permalink
Failed to load latest commit information.
obj
COPYING Initial commit Aug 15, 2013
Makefile Rewrite makefile Dec 14, 2014
README Initial commit Aug 15, 2013
bitcoin.cpp Require startingheight >= 142000 Dec 14, 2014
bitcoin.h Initial commit Aug 15, 2013
combine.pl
compat.h
db.cpp Initial commit Aug 15, 2013
db.h Initial commit Aug 15, 2013
dns.c Initial commit Aug 15, 2013
dns.h Initial commit Aug 15, 2013
main.cpp Initial commit Aug 15, 2013
netbase.cpp Initial commit Aug 15, 2013
netbase.h Initial commit Aug 15, 2013
protocol.cpp Initial commit Aug 15, 2013
protocol.h Protocol update, set version to 60011 Jan 27, 2014
serialize.h Remove redundant insert method in serialize. Dec 14, 2014
strlcpy.h
test.pl Initial commit Aug 15, 2013
uint256.h Initial commit Aug 15, 2013
util.cpp Initial commit Aug 15, 2013
util.h Initial commit Aug 15, 2013

README

novacoin-seeder
==============

NovaCoin-seeder is a crawler for the NovaCoin network, which exposes a list
of reliable nodes via a built-in DNS server.

Features:
* regularly revisits known nodes to check their availability
* bans nodes after enough failures, or bad behaviour
* keeps statistics over (exponential) windows of 2 hours, 8 hours,
  1 day and 1 week, to base decisions on.
* very low memory (a few tens of megabytes) and cpu requirements.
* crawlers run in parallel (by default 24 threads simultaneously).

USAGE
-----

Assuming you want to run a dns seed on dnsseed.example.com, you will
need an authorative NS record in example.com's domain record, pointing
to for example vps.example.com:

$ dig -t NS dnsseed.example.com

;; ANSWER SECTION
dnsseed.example.com.   86400    IN      NS     vps.example.com.

On the system vps.example.com, you can now run dnsseed:

./dnsseed -h dnsseed.example.com -n vps.example.com

If you want the DNS server to report SOA records, please provide an
e-mailadres (with the @ part replaced by .) using -m.

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 dnsseed in userspace, using
the -p 5353 option.