blob: 26f847c90331a83201875a722fa13830663b449b [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 "USAGE OPTIONS"
.TP
.B \-h, \-\-help
Display help information and exit.
.TP
.B \-v, \-\-version
Show program version.
.TP
.B \-P, \-\-port
Define the port for socket creation.
.TP
.B \-i, \-\-ip
Define the IP address for socket creation.
.TP
.B \-l, \-\-listen
Launch in listening mode.
.TP
.B \-b, \-\-bootstrap
Set the bootstrap node.
.TP
.B \-p, \-\-privateKey
Provide a private key.
.TP
.B \-t, \-\-turn_host
Define the TURN server host.
.TP
.B \-u, \-\-turn_user
Define the TURN server username.
.TP
.B \-w, \-\-turn_pass
Define the TURN server password.
.TP
.B \-r, \-\-turn_realm
Specify the TURN server realm.
.TP
.B \-c, \-\-certificate
Specify the certificate.
.TP
.B \-d, \-\-dnc_configuration
Define the dnc configuration with a YAML file path.
.TP
.B \-a, \-\-anonymous_cnx
Activate anonymous connection 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)