|
|
@ -1,5 +1,4 @@ |
|
|
|
hush-seeder |
|
|
|
============== |
|
|
|
# hush-seeder |
|
|
|
|
|
|
|
Hush-seeder is a crawler for the Hush network, which exposes a list |
|
|
|
of reliable nodes via a built-in DNS server. |
|
|
@ -12,35 +11,33 @@ Features: |
|
|
|
* very low memory (a few tens of megabytes) and cpu requirements. |
|
|
|
* crawlers run in parallel (by default 24 threads simultaneously). |
|
|
|
|
|
|
|
REQUIREMENTS |
|
|
|
------------ |
|
|
|
## REQUIREMENTS |
|
|
|
|
|
|
|
$ sudo apt-get install build-essential libboost-all-dev libssl-dev |
|
|
|
|
|
|
|
NOTE: You cannot run this seeder on the same machine as a Hush full |
|
|
|
node, as both require port 8888. |
|
|
|
|
|
|
|
USAGE |
|
|
|
----- |
|
|
|
## 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 |
|
|
|
$ dig -t NS dnsseed.example.com |
|
|
|
|
|
|
|
;; ANSWER SECTION |
|
|
|
dnsseed.example.com. 86400 IN NS vps.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 |
|
|
|
./dnsseed -h dnsseed.example.com -n vps.example.com |
|
|
|
|
|
|
|
If you want the DNS server to report SOA records, please provide an |
|
|
|
e-mail address (with the @ part replaced by .) using -m. |
|
|
|
|
|
|
|
COMPILING |
|
|
|
--------- |
|
|
|
## COMPILING |
|
|
|
|
|
|
|
Compiling will require boost and ssl. On debian systems, these are provided |
|
|
|
by `libboost-dev` and `libssl-dev` respectively. |
|
|
|
|
|
|
@ -49,15 +46,18 @@ $ make |
|
|
|
This will produce the `dnsseed` binary. |
|
|
|
|
|
|
|
|
|
|
|
RUNNING AS NON-ROOT |
|
|
|
------------------- |
|
|
|
## 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 |
|
|
|
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. |
|
|
|
|
|
|
|
## LICENSE |
|
|
|
|
|
|
|
MIT |
|
|
|