Skip to content
CloudFlare-enabled DNS seeder for the Litecoin Cash network
Branch: master
Clone or download
Pull request Compare This branch is 6 commits ahead of litecoincash-project:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
cf-uploader set a custom valid port in the config Nov 23, 2018
.gitignore Added CloudFlare uploader Feb 26, 2018
Makefile Fix per-flag-cache size tracking Oct 29, 2016
README Ported for Litecoin Cash Feb 26, 2018
bitcoin.cpp Improved debugging Feb 26, 2018
bitcoin.h Only poll nodes once a week for new addresses Apr 24, 2013 Better combination formula Apr 18, 2012
compat.h removed redundant insert and added a missing define on mac os x Mar 24, 2014
db.cpp Improve filter whitelist Jun 7, 2016
db.h updating proto Apr 12, 2019
dns.c Add support to filter nodes by node flags May 27, 2016
dns.h Add support to filter nodes by node flags May 27, 2016
main.cpp updating magic bytes Apr 12, 2019
netbase.cpp Merge pull request sipa#19 Jul 29, 2015
netbase.h Merge pull request sipa#19 Jul 29, 2015
protocol.cpp magic bytes Apr 12, 2019
serialize.h Update serialize.h May 3, 2019
strlcpy.h Add missing files May 25, 2012 IPv6/AAAA record support May 25, 2012
uint256.h Fix per-flag-cache size tracking Oct 29, 2016
util.cpp Add missing files May 25, 2012
util.h fix logging May 25, 2012


Litecoin Cash Seeder

litecoincash-seeder is a crawler for the Litecoin Cash network, which 
exposes a list of reliable nodes via a built-in DNS server, or instead
just generates that list to push to a remote CloudFlare server.

* CloudFlare DNS integration
* regularly revisits known nodes to check their availability
* bans nodes after enough failures, or bad behaviour
* accepts nodes down to v0.3.19 to request new IP addresses from,
  but only reports good post-v0.3.24 nodes.
* 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).


$ sudo apt-get install build-essential libboost-all-dev libssl-dev


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

$ dig -t NS

;; ANSWER SECTION   86400    IN      NS

On the system, you can now run dnsseed:

./dnsseed -h -n

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


Have the seeder above running all the time, but with no NS record.

Fill in CloudFlare API config and have the CloudFlare upload run on a
cron job.

Compiling will require boost and ssl.  On debian systems, these are provided
by `libboost-dev` and `libssl-dev` respectively.

$ make

This will produce the `dnsseed` binary.


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.
You can’t perform that action at this time.