DNS server resolving pkarr self-sovereign domains on the mainline DHT.
Use one of the hosted DNS servers to try out pkdns quickly.
- Download the latest release for your plattform.
- Extract the tar file. Should be something like
tar -xvf tarfile.tar.gz
. - Run
pkdns -f 8.8.8.8
. - Verify the server is working. Your server ip is
127.0.0.1
. - Configure your system dns.
- Browse the self-sovereign web.
Make sure you have the Rust toolchain installed.
- Clone repository
git clone https://github.com/SeverinAlexB/pkdns.git
. - Switch directory
cd pkdns
. - Run
cargo run -- -f 8.8.8.8
. - Verify the server is working. Your server ip is
127.0.0.1
. - Configure your system dns.
- Browse the self-sovereign web.
Follow one of the guides to change your DNS server on your system:
Verify your server with this domain http://7fmjpcuuzf54hw18bsgi3zihzyh4awseeuq5tmojefaezjbd64cy/.
Verify the server resolves pkarr domains. Replace PKDNS_SERVER_IP
with your pkdns server IP address.
nslookup 7fmjpcuuzf54hw18bsgi3zihzyh4awseeuq5tmojefaezjbd64cy PKDNS_SERVER_IP
Troubleshooting If this does not work then the pkdns server is likely not running.
Verify it resolves regular ICANN domains. Replace PKDNS_SERVER_IP
with your pkdns server IP address.
nslookup example.com PKDNS_SERVER_IP
Troubleshooting If this does not work then you need to change your ICANN fallback server with
pkdns -f REGULAR_DNS_SERVER_IP
. Or use the Google DNS server:pkdns -f 8.8.8.8
.
Here are some example pkarr domains:
- http://7fmjpcuuzf54hw18bsgi3zihzyh4awseeuq5tmojefaezjbd64cy/.
- http://pknames.p2p.7fmjpcuuzf54hw18bsgi3zihzyh4awseeuq5tmojefaezjbd64cy/.
Hint: Always add a /
to the end of a pkarr domain. Otherwise browsers will search instead of resolve the website.
Other services might occupy the port 53 already. For example, Docker Desktop uses the port 53 on MacOS. Make sure to free those.
Usage: pkdns [OPTIONS]
Options:
-f, --forward <forward> ICANN fallback DNS server. IP:Port [default: 192.168.1.1:53]
-s, --socket <socket> Socket the server should listen on. IP:Port [default: 0.0.0.0:53]
-v, --verbose Show verbose output.
--cache-ttl <cache-ttl> Pkarr packet cache ttl in seconds.
--threads <threads> Number of threads to process dns queries. [default: 4]
-d, --directory <directory> pknames source directory. [default: ~/.pknames]
-h, --help Print help
-V, --version Print version
Lookups on pkarr DNS records are limited. These two approach are supported:
EASY - All in pkarr:
- Direct record resolution (A, AAAA, TXT, ...).
- CNAME pointing directly to another record in the same pkarr.
- No recursion.
ADVANCED - Fully featured:
- Delegate your zone to a fully fledged name server (bind9).
- pkdns will forward the request the name server.
May the power ⚡ be with you.