blob: c6b7aaee68b78cd87e0fa7a1d6ed4dbf082f5984 [file] [log] [blame]
.TH DNC 1 "February 2024" "Version 1.1" "Distributed nc"
.SH NAME
dnc \- Distributed Netcat
.SH SYNOPSIS
.B dnc
[OPTIONS]... <YAML_FILE> <PEER_ID>
.SH DESCRIPTION
\fBdnc\fR is a command-line utility designed to facilitate network communication across a Distributed Hash Table (DHT) network. It enables users to initiate TCP connections and create sockets on remote devices, functioning similarly to the traditional netcat utility but with added features for DHT networks.
.SH "MAIN FEATURES"
.TP
.B \- Initiates TCP connections on remote devices.
.TP
.B \- Facilitates peer-to-peer network connectivity.
.TP
.B \- Supports TURN for NAT traversal.
.TP
.B \- Manages identities for secure interactions.
.SH "OPTIONS"
.TP
.B \-h, \-\-help
Display help information and exit.
.TP
.B \-v, \-\-version
Show program version.
.TP
.B \-P, \-\-port \fIPORT\fR
Define the port for socket creation.
.TP
.B \-i, \-\-ip \fIADDRESS\fR
Define the IP address for socket creation.
.TP
.B \-l, \-\-listen
Launch in listening mode.
.TP
.B \-b, \-\-bootstrap \fIADDRESS\fR
Set the bootstrap node.
.TP
.B \-t, \-\-turn_host \fIADDRESS\fR
Define the TURN server host.
.TP
.B \-u, \-\-turn_user \fIUSER\fR
Define the TURN server username.
.TP
.B \-w, \-\-turn_pass \fISECRET\fR
Define the TURN server password.
.TP
.B \-r, \-\-turn_realm \fIREALM\fR
Specify the TURN server realm.
.TP
.B \-p, \-\-privateKey \fIFILE\fR
Provide a private key.
.TP
.B \-c, \-\-certificate \fIFILE\fR
Specify the certificate.
.TP
.B \-d, \-\-configuration \fIFILE\fR
Define the dnc configuration with a YAML file path.
.TP
.B \-a, \-\-anonymous
Activate anonymous connection mode.
.TP
.B \-vv, \-\-verbose
Enable verbose mode.
.SH "ESTABLISHING SSH CONNECTIONS"
To facilitate SSH connections, \fBdnc\fR establishes a DHT network connection followed by socket creation on port 22. This requires an operational OpenSSH server.
.SH "PREREQUISITES"
.TP
.B \- OpenSSH Installation
.TP
.B \- Build dhtnet
.SH "STARTING THE DNC SERVICE"
To initiate, generate a certificate authority (CA) and an identity, then launch the \fBdnc\fR service. Obtain the hash ID (public key) for server identification.
.SH "CLIENT CONNECTION"
Establishing a secure connection from the client side involves generating a CA and a unique identity, including a private key and a certificate. Integrate \fBdnc\fR with your SSH workflow by configuring your SSH client.
.SH "EXAMPLE"
To connect to a remote server:
.nf
\fBssh <ssh_remote_user>@dnc/<peer_id>\fR
.fi
.SH "SEE ALSO"
.TP
.BR ssh(1),
.BR netcat(1),
.BR dhtnet-crtmgr (1)