blob: 26f847c90331a83201875a722fa13830663b449b [file] [log] [blame]
Amna6773b072024-02-08 16:08:44 -05001.TH DNC 1 "February 2024" "Version 1.1" "Distributed nc"
Amnab10c6e72023-09-25 11:12:35 -04002.SH NAME
Amna6773b072024-02-08 16:08:44 -05003dnc \- Distributed Netcat
Amnab10c6e72023-09-25 11:12:35 -04004.SH SYNOPSIS
5.B dnc
Amna6773b072024-02-08 16:08:44 -05006[OPTIONS]... <YAML_FILE> <PEER_ID>
Amnab10c6e72023-09-25 11:12:35 -04007.SH DESCRIPTION
Amna6773b072024-02-08 16:08:44 -05008\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.
9
10.SH "MAIN FEATURES"
11.TP
12.B \- Initiates TCP connections on remote devices.
13.TP
14.B \- Facilitates peer-to-peer network connectivity.
15.TP
16.B \- Supports TURN for NAT traversal.
17.TP
18.B \- Manages identities for secure interactions.
19
20.SH "USAGE OPTIONS"
Amnab10c6e72023-09-25 11:12:35 -040021.TP
22.B \-h, \-\-help
Amna6773b072024-02-08 16:08:44 -050023Display help information and exit.
Amnab10c6e72023-09-25 11:12:35 -040024.TP
Amna6773b072024-02-08 16:08:44 -050025.B \-v, \-\-version
26Show program version.
Amnab10c6e72023-09-25 11:12:35 -040027.TP
Amna6773b072024-02-08 16:08:44 -050028.B \-P, \-\-port
29Define the port for socket creation.
Amnab10c6e72023-09-25 11:12:35 -040030.TP
Amna6773b072024-02-08 16:08:44 -050031.B \-i, \-\-ip
32Define the IP address for socket creation.
Amnab10c6e72023-09-25 11:12:35 -040033.TP
34.B \-l, \-\-listen
Amna6773b072024-02-08 16:08:44 -050035Launch in listening mode.
Amnab10c6e72023-09-25 11:12:35 -040036.TP
Amna6773b072024-02-08 16:08:44 -050037.B \-b, \-\-bootstrap
38Set the bootstrap node.
Amnab10c6e72023-09-25 11:12:35 -040039.TP
Amna6773b072024-02-08 16:08:44 -050040.B \-p, \-\-privateKey
41Provide a private key.
Amnab10c6e72023-09-25 11:12:35 -040042.TP
Amna6773b072024-02-08 16:08:44 -050043.B \-t, \-\-turn_host
44Define the TURN server host.
Amnab10c6e72023-09-25 11:12:35 -040045.TP
Amna6773b072024-02-08 16:08:44 -050046.B \-u, \-\-turn_user
47Define the TURN server username.
Amnab10c6e72023-09-25 11:12:35 -040048.TP
Amna6773b072024-02-08 16:08:44 -050049.B \-w, \-\-turn_pass
50Define the TURN server password.
Amnab10c6e72023-09-25 11:12:35 -040051.TP
Amna6773b072024-02-08 16:08:44 -050052.B \-r, \-\-turn_realm
53Specify the TURN server realm.
54.TP
55.B \-c, \-\-certificate
56Specify the certificate.
57.TP
58.B \-d, \-\-dnc_configuration
59Define the dnc configuration with a YAML file path.
60.TP
61.B \-a, \-\-anonymous_cnx
62Activate anonymous connection mode.
63
64.SH "ESTABLISHING SSH CONNECTIONS"
65To facilitate SSH connections, \fBdnc\fR establishes a DHT network connection followed by socket creation on port 22. This requires an operational OpenSSH server.
66
67.SH "PREREQUISITES"
68.TP
69.B \- OpenSSH Installation
70.TP
71.B \- Build dhtnet
72
73.SH "STARTING THE DNC SERVICE"
74To initiate, generate a certificate authority (CA) and an identity, then launch the \fBdnc\fR service. Obtain the hash ID (public key) for server identification.
75
76.SH "CLIENT CONNECTION"
77Establishing 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.
78
79.SH "EXAMPLE"
80To connect to a remote server:
81.nf
82\fBssh <ssh_remote_user>@dnc/<peer_id>\fR
83.fi
84
85.SH "SEE ALSO"
86.TP
87.BR ssh(1),
88.BR netcat(1)
89