DHTNODE(1) General Commands Manual DHTNODE(1)

dhtnode - a simple OpenDHT command line node runner.

dhtnode [-h] [-V] [-v [-l logfile] [-L]] [-i [-I file]] [-c file] [-k file] [-m password] [-d] [-s] [-D] [-U] [-P] [-n network_id] [-p local_port] [-b bootstrap_host[:port]] [-f path] [-S port] [-e port] [-a address] [-w file] [-K file] [-M password] [-C server] [-y endpoint] [-z key] [-u bundleid]

Runs an OpenDHT node, with an interactive CLI (default) or as a daemon (with '-d' or '-s'). Commands available in the interactive shell are:

    h, help    Print this help message.
    x, quit    Quit the program.
    log        Start/stop printing DHT logs.
    Node information:
    ll         Print basic information and stats about the current node.
    ls [key]   Print basic information about current search(es).
    ld [key]   Print basic information about currenty stored values on this
               node (or for a specific key).
    lr         Print the full current routing table of this node.
    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>.
    cl <key> <token>       Cancel listen for <token> and <key>.
    p <key> <str>          Put string value at <key>.
    pp <key> <str>         Put string value at <key> (persistent version).
    cpp <key> <id>         Cancel persistent put operation for <key> and
                           value <id>.
    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).
    cc                     Trigger connectivity changed signal.
    Operations with the proxy (if compiled with proxy server support):
    pst [port] <pushServer>  Start the proxy interface on port.
    psx [port]               Start the proxy SSL interface on port.
    psp [port]               Stop the proxy interface on port.
    Operations with the proxy (if compiled with proxy client support):
    stt [server_address] <device_key>  Start the proxy client.
    stp                                Stop the proxy client.
    rs  [token]                        Resubscribe to opendht.
    rp  [token]                        Inject a push notification.

Prints help and exits.
Prints version information and exits.
Enable verbose mode (log to stdout/stderr by default).
Write log to file instead of stdout/stderr.
Write log to syslog instead of stdout/stderr (enables verbose mode).
Generate a cryptographic identity (RSA key pair and self-signed certificate) for the node. Required to perform cryptographic operations (encrypt/sign values) if no private key file is provided.
Save generated identity (certificate and private key) to given file prefix. Files are saved as file and file_ca.
Load identity certificate from given file. If specified, the certificate is published on the DHT.
Load identity private key from given file. Required to perform cryptographic operations if no identity is generated.
Password to use for private key encryption or decryption (optional).
Run the program in daemon mode (will fork in the background). When verbose mode is enabled, logs to syslog by default.
Run the program in service mode (non-forking daemon).
Enables multicast automatic local peer discovery.
Disable rate limiting (allows unlimited requests and storage).
Enable public stable mode.
Specify a file path to persist/load the node state (routing table and values).
Specify the network id. This lets you connect to distinct networks and prevents the merge of two different networks. Defaults to 0 (the main public network).
Use UDP port local_port for the program to bind to. If not set, will use any available port. The default OpenDHT port for public nodes is 4222.
Specify a bootstrap node address to connect to the network.
Run a REST API proxy server bound to this DHT node on HTTP port local_port.
Run a REST API proxy server with SSL bound to this DHT node on HTTPS port local_port.
Proxy server bind address.
Load proxy SSL certificate from given file.
Load proxy SSL private key from given file.
Password for the proxy private key encryption or decryption (optional).
Run this DHT node in proxy client mode, and connect to server.
Push notification server endpoint.
Device key for push notifications.
Bundle ID for push notifications.

Run a node using bootstrap.jami.net as a bootstrap:

dhtnode -b bootstrap.jami.net:4222

Run a node as a non-forking daemon on port 4222:

dhtnode -b bootstrap.jami.net -p 4222 -s

Run a proxy server on port 8000:

dhtnode -b bootstrap.jami.net:4222 --proxyserver 8000

Use a proxy client to connect to a proxy server:

dhtnode --proxyclient dhtproxy.jami.net:80

Adrien Béraud <adrien.beraud@savoirfairelinux.com>
Simon Désaulniers <sim.desaulniers@gmail.com>
2026-04-18