Skip to content

P2P DNS with content key, crypto key and PKI support. DynDNS alternative.

License

Notifications You must be signed in to change notification settings

mwarning/KadNode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a4ed684 · Nov 3, 2024
Feb 11, 2020
Jun 23, 2013
Feb 11, 2024
Oct 30, 2022
May 18, 2018
Nov 3, 2024
Nov 3, 2024
Nov 3, 2024
Aug 24, 2020
Aug 25, 2022
Aug 22, 2017
Oct 31, 2024
Aug 25, 2022
Nov 3, 2024

Repository files navigation

KadNode

KadNode finds the IP address of other instances on the Internet or local network. It is used like DNS, but is based on the decentralized BitTorrent network.

KadNode intercepts .p2p domain queries on the systems level and resolves them using a decentralized Kademlia DHT network. Additionally, TLS authentication can be used to make sure the correct IP address was found. If successful, the IP address is passed to the application making the request.

Features:

  • Support for two kinds of domains:
    1. public key domains as <public-key>.p2p
      • No need to exchange any further keys/certificates
      • Uses secp256r1 ECC key pairs
    2. named domains like yourdomain.com.p2p
      • Needs pre-shared certificates (self-signed root certificates or e.g. "Let's Encrypt")
      • Uses TLS session handshake for authentication
  • IPv4/IPv6 support
  • UPnP/NAT-PMP support
  • Local peer discovery
  • Small size / ~100KB depending on features / ~50KB compressed
  • Command line control program
  • NSS support through /etc/nsswitch.conf
  • DNS server interface and DNS proxy
    • Handles A, AAAA, and SRV requests
  • Packages for ArchLinux, Debian, FreeBSD, MacOSX, OpenWrt, Windows
  • Peer file import/export on startup/shutdown and every 24h
  • Uses sha256 hash method

Documentation

Installation

You can download the latest package from releases page

OpenWrt

From official package repository: opkg install kadnode

Debian/Ubuntu

From PPA repository:

sudo add-apt-repository ppa:stokito/kadnode
sudo apt update
sudo apt install kadnode

Or install a downloaded package with dpkg -i kadnode_*.deb

FreeBSD

From repository: pkg install kadnode

Or install a downloaded package with pkg install kadnode-*.txz

ArchLinux

install a downloaded package with: pacman -U kadnode-*.pkg.tar.xz

License

MIT/X11

Authors