blob: 67084de0ecdce5c0830e09850bce28233a54bf11 [file] [log] [blame]
Amna4e52b162024-01-14 21:16:57 -05001.TH dvpn 1 "December 2023" "dvpn Manual"
2
3.SH NAME
4dvpn \- Distributed VPN
5
6.SH SYNOPSIS
7.B dvpn
Amna77e27dc2024-07-24 13:09:40 -04008[OPTIONS] <PEER_ID>
Amna4e52b162024-01-14 21:16:57 -05009
10.SH DESCRIPTION
11.B dvpn
12is a VPN tool based on the DHTNet library, utilizing a decentralized architecture for peer discovery and communication. It supports both server and client modes, implements a TUN interface for network communication and offers configuration flexibility.
13
Amna77e27dc2024-07-24 13:09:40 -040014.B <PEER_ID>
15is the identifiant of the target peer or device in the DHT network with which the connection should be established.
16It is required when not running in listen mode.
17
Amna4e52b162024-01-14 21:16:57 -050018.SH OPTIONS
19.TP
20.B \-h, \-\-help
21Display help information.
22
23.TP
24.B \-V, \-\-version
25Display the version information of dvpn.
26
27.TP
28.B \-l, \-\-listen
29Run dvpn in listen mode, allowing the program to accept incoming VPN connections.
30
31.TP
Amna77e27dc2024-07-24 13:09:40 -040032.B \-b, \-\-bootstrap \fIADDRESS\fR
Amna4e52b162024-01-14 21:16:57 -050033Specify the address of a bootstrap node to connect to an existing DHT network. Default is "bootstrap.jami.net" if not specified.
34
35.TP
Amna77e27dc2024-07-24 13:09:40 -040036.B \-t, \-\-turn_host \fIADDRESS\fR
37Define the TURN server host.
Amna4e52b162024-01-14 21:16:57 -050038
39.TP
Amna77e27dc2024-07-24 13:09:40 -040040.B \-u, \-\-turn_user \fIUSER\fR
41Define the TURN server username.
Amna4e52b162024-01-14 21:16:57 -050042
43.TP
Amna77e27dc2024-07-24 13:09:40 -040044.B \-w, \-\-turn_pass \fISECRET\fR
45Define the TURN server password.
Amna4e52b162024-01-14 21:16:57 -050046
47.TP
Amna77e27dc2024-07-24 13:09:40 -040048.B \-r, \-\-turn_realm \fIREALM\fR
49Specify the TURN server realm.
Amna4e52b162024-01-14 21:16:57 -050050
51.TP
Amna77e27dc2024-07-24 13:09:40 -040052.B \-c, \-\-certificate \fIFILE\fR
53Specify the certificate.
Amna4e52b162024-01-14 21:16:57 -050054
55.TP
Amna77e27dc2024-07-24 13:09:40 -040056.B \-p, \-\-privateKey \fIFILE\fR
57Provide a private key.
58
59.TP
60.B \-d, \-\-configuration \fIFILE\fR
61Define the dnc configuration with a YAML file path.
62
63.TP
64.B \-C, \-\-vpn_configuration \fIFILE\fR
Amna4e52b162024-01-14 21:16:57 -050065Specify the path to the configuration file. Default is "dhtnet/tools/dvpn/test_config.yaml" if not specified.
66
67.TP
Amna77e27dc2024-07-24 13:09:40 -040068.B \-a, \-\-anonymous
69Activate anonymous connection mode.
Amna4e52b162024-01-14 21:16:57 -050070
71.SH VPN SETUP PROCESS
72For each connection,
73.B dvpn
74dynamically creates a new TUN interface, utilizing information from the configuration file. The setup script then configures the TUN interface and establishes routing logic for the client, as well as managing NAT for the server.
75
76The TUN interfaces are configured as follows:
77
78Server TUN Interface:
79.IP
80<server tun address> 255.255.255.255 <client tun address>
81
82Client TUN Interface:
83.IP
84<client tun address> 255.255.255.255 <server tun address>
85
86.SH NOTES
87.B dvpn
88requires sudo privileges to create and configure TUN interfaces on both the client and server sides.
89
90.SH EXAMPLES
91To run a dvpn server:
92.IP
93$ sudo ./dvpn -l
94
95To connect to a dvpn server:
96.IP
97$ sudo ./dvpn <PEER_ID>
98
99.SH SEE ALSO
Amna77e27dc2024-07-24 13:09:40 -0400100.BR dnc (1),
101.BR dhtnet-crtmgr (1)
102
Amna4e52b162024-01-14 21:16:57 -0500103The DHTNet library documentation for more details.
104
105.SH "dvpn 1.0" December 2023 DVPN(1)