DHTNODE(1)
π DHTNODE(1) π
okay so bestie, welcome to the dhtnode manual page β it lives in the General Commands Manual section (section 1, the cool section), and honestly? it's giving "tiny CLI, big DHT energy." let's get into it π¦
β¨ NAME β¨
dhtnode β a simple OpenDHT command line node runner. no cap, that's literally the whole job description and she does it flawlessly π
πΈ SYNOPSIS πΈ
dhtnode [-h] [-v [-l logfile] [-L]] [-i [--save-identity file]] [-d]
[-s] [-n network_id] [-p local_port] [-b bootstrap_host[:port]]
[--certificate file] [--privkey file] [--privkey-password password]
[--proxyserver port] [--proxyclient server]
yes queen, that's a lot of brackets, but every single one of them is slaying in her own way π
π DESCRIPTION π
so the whole vibe here is: it runs an OpenDHT node, and you get to pick how. by default it's a CLI β an interactive shell, very demure, very mindful. OR you can run it as a daemon by passing -d or -s. main character choice, truly.
here's the full menu of commands you can type inside that interactive shell, no details skipped because we don't gatekeep here:
h, help Print this help message.
q, quit Quit the program.
log Start/stop printing DHT logs.
Node information:
ll Print basic information and stats about the current node.
ls Print basic information about current searches.
ld Print basic information about currenty stored values on this node.
lr Print the full current routing table of this node
okay bestie real talk: yes, currenty is a typo in the original and yes we are keeping it, it's part of the lore now π
Operations on the DHT:
b ip:port Ping potential node at given IP address/port.
g [key] Get values at [key].
l [key] Listen for value changes at [key].
p [key] [str] Put string value at [key].
s [key] [str] Put string value at [key], signed with our generated
private key.
e [key] [dest] [str] Put string value at [key], encrypted for [dest] with
its public key (if found).
like... put, get, listen, ping, sign, encrypt? she does it ALL. versatile icon behavior fr fr π₯
π OPTIONS π
-hβ prints some help. a little help. a snack of help. π-vβ turns on verbose mode, which logs tostdout/stderrby default. she's yapping (affectionate) π¬-l log_fileβ write the log to a file instead ofstdout/stderr.-Lβ write the log tosysloginstead ofstdout/stderr.-iβ generate a cryptographic identity for the node. glow up, but make it cryptographically verifiable β¨--save-identity fileβ save that generated identity (certificate AND private key) to the given file prefix. keep it safe bestie, it's your whole personality π--certificate fileβ load the identity certificate from the given file.--privkey fileβ load the identity private key from the given file.--privkey-password passwordβ the password to use for private key encryption or decryption. it's optional, so no pressure π«Ά-dβ run the program in daemon mode. she will fork in the background like the independent woman she is π-sβ run the program in service mode, aka a non-forking daemon. same energy, different mechanics.-Dβ enables multicast automatic local peer discovery. she finds her own friends, we love a self-sufficient queen π-f fileβ specify a file path to persist/load the node state. memory? she has it πΎ-n network_idβ specify the network id. this lets you connect to distinct networks and prevents two different networks from merging. (available since OpenDHT v0.6.1, in case you were wondering when this baddie dropped)-p local_portβ use UDP port local_port for the program to bind to.-b bootstrap_host[:port]β the program needs a node to connect to the network, so you use this option to provide the ip address of that node. it's giving "you can't sit with us unless someone introduces you" π--proxyserver local_portβ run a proxy server bound to this DHT node on HTTP port local_port.--proxyclient serverβ run this DHT node in proxy client mode, and connect to server.
π AUTHORS π
Program written by
- Adrien BΓ©raud <adrien.beraud@savoirfairelinux.com>
Man page written by
- Simon DΓ©saulniers <sim.desaulniers@gmail.com>
and that's the whole page, bestie!! this version is the one from 2019-06-08, and it's the DHTNODE(1) page from the General Commands Manual β that's the source/version/date energy we're signing off with. go forth and run your node, you absolute legend ππβ¨
π¦ where this page comes from
- debian bookworm: dhtnode 2.4.12-7 Β· GPL-3.0-or-later
- nixos 26.05: opendht 3.5.4
- ubuntu noble: dhtnode 3.0.1-1.1build2 Β· GPL-3.0-or-later
- ubuntu questing: dhtnode 3.0.1-1.1build5
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms