Pieter Wuille
13 years ago
2 changed files with 71 additions and 0 deletions
@ -0,0 +1,47 @@
@@ -0,0 +1,47 @@
|
||||
bitcoin-seeder |
||||
============== |
||||
|
||||
Bitcoin-seeder is a crawler for the Bitcoin 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 |
||||
* 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). |
||||
|
||||
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. |
Loading…
Reference in new issue