From: Guus Sliepen Date: Fri, 8 Mar 2013 15:22:56 +0000 (+0100) Subject: Rename tincctl to tinc. X-Git-Tag: import-tinc-1.1~168 X-Git-Url: http://git.meshlink.io/?p=meshlink;a=commitdiff_plain;h=23a634becf09ac84c71250474fcb96e23b0ebdf1 Rename tincctl to tinc. --- diff --git a/README b/README index 0709fb82..1f534d08 100644 --- a/README +++ b/README @@ -22,7 +22,7 @@ Please note that this is NOT a stable release. Until version 1.1.0 is released, please use one of the 1.0.x versions if you need a stable version of tinc. Although tinc 1.1 will be protocol compatible with tinc 1.0.x, the -functionality of the tincctl program may still change, and the control socket +functionality of the tinc program may still change, and the control socket protocol is not fixed yet. @@ -88,6 +88,6 @@ Windows environment this means tinc will intall itself as a service, which will restart after reboots. To prevent tinc from detaching or running as a service, use the -D option. -The status of the VPN can be queried using the "tincctl" tool, which connects +The status of the VPN can be queried using the "tinc" command, which connects to a running tinc daemon via a control connection. The same tool also makes it easy to start and stop tinc, and to change its configuration. diff --git a/doc/Makefile.am b/doc/Makefile.am index 2ada5d79..9540b494 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -2,11 +2,11 @@ info_TEXINFOS = tinc.texi -man_MANS = tincd.8 tincctl.8 tinc.conf.5 tinc-gui.8 +man_MANS = tincd.8 tinc.8 tinc.conf.5 tinc-gui.8 -EXTRA_DIST = tincinclude.texi.in tincd.8.in tincctl.8.in tinc.conf.5.in tinc-gui.8.in sample-config.tar.gz +EXTRA_DIST = tincinclude.texi.in tincd.8.in tinc.8.in tinc.conf.5.in tinc-gui.8.in sample-config.tar.gz -CLEANFILES = *.html tinc.info tincd.8 tincctl.8 tinc.conf.5 tinc-gui.8 tincinclude.texi +CLEANFILES = *.html tinc.info tincd.8 tinc.8 tinc.conf.5 tinc-gui.8 tincinclude.texi # Use `ginstall' in the definition of man_MANS to avoid # confusion with the `install' target. The install rule transforms `ginstall' @@ -25,7 +25,7 @@ texi2html: tinc.texi tincd.8.html: tincd.8 w3mman2html $? > $@ -tincctl.8.html: tincctl.8 +tinc.8.html: tinc.8 w3mman2html $? > $@ tinc-gui.8.html: tinc-gui.8 @@ -43,7 +43,7 @@ substitute = sed \ tincd.8: tincd.8.in $(substitute) $? > $@ -tincctl.8: tincctl.8.in +tinc.8: tinc.8.in $(substitute) $? > $@ tinc-gui.8: tinc-gui.8.in diff --git a/doc/tinc.8.in b/doc/tinc.8.in new file mode 100644 index 00000000..fba373e4 --- /dev/null +++ b/doc/tinc.8.in @@ -0,0 +1,266 @@ +.Dd 2013-01-15 +.Dt TINCCTL 8 +.\" Manual page created by: +.\" Scott Lamb +.Sh NAME +.Nm tinc +.Nd tinc VPN control +.Sh SYNOPSIS +.Nm +.Op Fl cn +.Op Fl -config Ns = Ns Ar DIR +.Op Fl -net Ns = Ns Ar NETNAME +.Op Fl -pidfile Ns = Ns Ar FILENAME +.Op Fl -help +.Op Fl -version +.Ar COMMAND +.Sh DESCRIPTION +This is the control program of tinc, a secure virtual private network (VPN) +project. +.Nm +communicates with +.Xr tincd 8 +to alter and inspect the running VPN's state. +.Sh OPTIONS +.Bl -tag -width indent +.It Fl n, -net Ns = Ns Ar NETNAME +Communicate with tincd(8) connected with +.Ar NETNAME . +.It Fl -pidfile Ns = Ns Ar FILENAME +Use the cookie from +.Ar FILENAME +to authenticate with a running tinc daemon. +If unspecified, the default is +.Pa @localstatedir@/run/tinc. Ns Ar NETNAME Ns Pa .pid. +.It Fl -help +Display short list of options. +.It Fl -version +Output version information and exit. +.El +.Sh ENVIRONMENT VARIABLES +.Bl -tag -width indent +.It Ev NETNAME +If no netname is specified on the command line with the +.Fl n +option, the value of this environment variable is used. +.El +.Sh COMMANDS +.Bl -tag -width indent +.It init Op Ar name +Create initial configuration files and RSA and ECDSA keypairs with default length. +If no +.Ar name +for this node is given, it will be asked for. +.It get Ar variable +Print the current value of configuration variable +.Ar variable . +If more than one variable with the same name exists, +the value of each of them will be printed on a separate line. +.It set Ar variable Ar value +Set configuration variable +.Ar variable +to the given +.Ar value . +All previously existing configuration variables with the same name are removed. +To set a variable for a specific host, use the notation +.Ar host Ns Li . Ns Ar variable . +.It add Ar variable Ar value +As above, but without removing any previously existing configuration variables. +.It del Ar variable Op Ar value +Remove configuration variables with the same name and +.Ar value . +If no +.Ar value +is given, all configuration variables with the same name will be removed. +.It edit Ar filename +Start an editor for the given configuration file. +You do not need to specify the full path to the file. +.It export +Export the host configuration file of the local node to standard output. +.It export-all +Export all host configuration files to standard output. +.It import Op Fl -force +Import host configuration data generated by the +.Nm +export command from standard input. +Already existing host configuration files are not overwritten unless the option +.Fl -force +is used. +.It exchange Op Fl -force +The same as export followed by import. +.It exchange-all Op Fl -force +The same as export-all followed by import. +.It start Op tincd options +Start +.Xr tincd 8 , +optionally with the given extra options. +.It stop +Stop +.Xr tincd 8 . +.It restart +Restart +.Xr tincd 8 . +.It reload +Partially rereads configuration files. Connections to hosts whose host +config files are removed are closed. New outgoing connections specified +in +.Xr tinc.conf 5 +will be made. +.It pid +Shows the PID of the currently running +.Xr tincd 8 . +.It generate-keys Op bits +Generate both RSA and ECDSA keypairs (see below) and exit. +.It generate-ecdsa-keys +Generate public/private ECDSA keypair and exit. +.It generate-rsa-keys Op bits +Generate public/private RSA keypair and exit. +If +.Ar bits +is omitted, the default length will be 2048 bits. +When saving keys to existing files, tinc will not delete the old keys; +you have to remove them manually. +.It dump [reachable] nodes +Dump a list of all known nodes in the VPN. +If the keyword reachable is used, only lists reachable nodes. +.It dump edges +Dump a list of all known connections in the VPN. +.It dump subnets +Dump a list of all known subnets in the VPN. +.It dump connections +Dump a list of all meta connections with ourself. +.It dump graph | digraph +Dump a graph of the VPN in +.Xr dotty 1 +format. +Nodes are colored according to their reachability: +red nodes are unreachable, orange nodes are indirectly reachable, green nodes are directly reachable. +Black nodes are either directly or indirectly reachable, but direct reachability has not been tried yet. +.It info Ar node | subnet | address +Show information about a particular node, subnet or address. +If an address is given, any matching subnet will be shown. +.It purge +Purges all information remembered about unreachable nodes. +.It debug Ar N +Sets debug level to +.Ar N . +.It log Op Ar N +Capture log messages from a running tinc daemon. +An optional debug level can be given that will be applied only for log messages sent to +.Nm tinc . +.It retry +Forces +.Xr tincd 8 +to try to connect to all uplinks immediately. +Usually +.Xr tincd 8 +attempts to do this itself, +but increases the time it waits between the attempts each time it failed, +and if +.Xr tincd 8 +didn't succeed to connect to an uplink the first time after it started, +it defaults to the maximum time of 15 minutes. +.It disconnect Ar NODE +Closes the meta connection with the given +.Ar NODE . +.It top +If +.Nm +is compiled with libcurses support, this will display live traffic statistics +for all the known nodes, similar to the UNIX +.Xr top 1 +command. +See below for more information. +.It pcap +Dump VPN traffic going through the local tinc node in +.Xr pcap-savefile 5 +format to standard output, +from where it can be redirected to a file or piped through a program that can parse it directly, +such as +.Xr tcpdump 8 . +.El +.Sh EXAMPLES +Examples of some commands: +.Bd -literal -offset indent +tinc -n vpn dump graph | circo -Txlib +tinc -n vpn pcap | tcpdump -r - +tinc -n vpn top +.Pp +.Ed +Example of configuring tinc using +.Nm : +.Bd -literal -offset indent +tinc -n vpn init foo +tinc -n vpn add Subnet 192.168.1.0/24 +tinc -n vpn add bar.Address bar.example.com +tinc -n vpn add ConnectTo bar +tinc -n vpn export | gpg --clearsign | mail -s "My config" vpnmaster@example.com +.Ed +.Sh TOP +The top command connects to a running tinc daemon and repeatedly queries its per-node traffic counters. +It displays a list of all the known nodes in the left-most column, +and the amount of bytes and packets read from and sent to each node in the other columns. +By default, the information is updated every second. +The behaviour of the top command can be changed using the following keys: +.Bl -tag +.It Ic s +Change the interval between updates. +After pressing the +.Ic s +key, enter the desired interval in seconds, followed by enter. +Fractional seconds are honored. +Intervals lower than 0.1 seconds are not allowed. +.It Ic c +Toggle between displaying current traffic rates (in packets and bytes per second) +and cumulative traffic (total packets and bytes since the tinc daemon started). +.It Ic n +Sort the list of nodes by name. +.It Ic i +Sort the list of nodes by incoming amount of bytes. +.It Ic I +Sort the list of nodes by incoming amount of packets. +.It Ic o +Sort the list of nodes by outgoing amount of bytes. +.It Ic O +Sort the list of nodes by outgoing amount of packets. +.It Ic t +Sort the list of nodes by sum of incoming and outgoing amount of bytes. +.It Ic T +Sort the list of nodes by sum of incoming and outgoing amount of packets. +.It Ic b +Show amount of traffic in bytes. +.It Ic k +Show amount of traffic in kilobytes. +.It Ic M +Show amount of traffic in megabytes. +.It Ic G +Show amount of traffic in gigabytes. +.It Ic q +Quit. +.El +.Sh BUGS +If you find any bugs, report them to tinc@tinc-vpn.org. +.Sh SEE ALSO +.Xr tincd 8 , +.Xr tinc.conf 5 , +.Xr dotty 1 , +.Xr pcap-savefile 5 , +.Xr tcpdump 8 , +.Xr top 1 , +.Pa http://www.tinc-vpn.org/ , +.Pa http://www.cabal.org/ . +.Pp +The full documentation for tinc is maintained as a Texinfo manual. +If the info and tinc programs are properly installed at your site, +the command +.Ic info tinc +should give you access to the complete manual. +.Pp +tinc comes with ABSOLUTELY NO WARRANTY. +This is free software, and you are welcome to redistribute it under certain conditions; +see the file COPYING for details. +.Sh AUTHORS +.An "Ivo Timmermans" +.An "Guus Sliepen" Aq guus@tinc-vpn.org +.Pp +And thanks to many others for their contributions to tinc! diff --git a/doc/tinc.conf.5.in b/doc/tinc.conf.5.in index 38a4c117..de79dcc5 100644 --- a/doc/tinc.conf.5.in +++ b/doc/tinc.conf.5.in @@ -55,15 +55,15 @@ However, you are only allowed to use alphanumerical characters (a-z, A-Z, and 0- .Sh INITIAL CONFIGURATION If you have not configured tinc yet, you can easily create a basic configuration using the following command: .Bd -literal -offset indent -.Nm tincctl Fl n Ar NETNAME Li init Ar NAME +.Nm tinc Fl n Ar NETNAME Li init Ar NAME .Ed .Pp You can further change the configuration as needed either by manually editing the configuration files, or by using -.Xr tincctl 8 . +.Xr tinc 8 . .Sh PUBLIC/PRIVATE KEYS The -.Nm tincctl Li init +.Nm tinc Li init command will have generated both RSA and ECDSA public/private keypairs. The private keys should be stored in files named .Pa rsa_key.priv @@ -77,7 +77,7 @@ The RSA keys are used for backwards compatibility with tinc version 1.0. If you are upgrading from version 1.0 to 1.1, you can keep the old configuration files, but you will need to create ECDSA keys using the following command: .Bd -literal -offset indent -.Nm tincctl Fl n Ar NETNAME Li generate-ecdsa-keys +.Nm tinc Fl n Ar NETNAME Li generate-ecdsa-keys .Ed .Sh SERVER CONFIGURATION The server configuration of the daemon is done in the file @@ -102,7 +102,7 @@ it is recommended to put host specific configuration options in the host configu as this makes it easy to exchange with other nodes. .Pp You can edit the config file manually, but it is recommended that you use -.Xr tincctl 8 +.Xr tinc 8 to change configuration variables for you. .Pp Here are all valid variables, listed in alphabetical order. @@ -279,7 +279,7 @@ When this option is enabled, experimental protocol enhancements will be used. Ephemeral ECDH will be used for key exchanges, and ECDSA will be used instead of RSA for authentication. When enabled, an ECDSA key must have been generated before with -.Nm tincctl generate-ecdsa-keys . +.Nm tinc generate-ecdsa-keys . The experimental protocol may change at any time, and there is no guarantee that tinc will run stable when it is used. .It Va Forwarding Li = off | internal | kernel Po internal Pc Bq experimental @@ -653,7 +653,7 @@ its connection to the virtual network device. .El .Sh SEE ALSO .Xr tincd 8 , -.Xr tincctl 8 , +.Xr tinc 8 , .Pa http://www.tinc-vpn.org/ , .Pa http://www.tldp.org/LDP/nag2/ . .Pp diff --git a/doc/tinc.texi b/doc/tinc.texi index 89101156..b46d171f 100644 --- a/doc/tinc.texi +++ b/doc/tinc.texi @@ -462,7 +462,7 @@ default). @subsection libcurses @cindex libcurses -For the "tincctl top" command, tinc requires a curses library. +For the "tinc top" command, tinc requires a curses library. If this library is not installed, you wil get an error when running the configure script. You can either install a suitable curses library, or disable @@ -485,7 +485,7 @@ of this package. @subsection libreadline @cindex libreadline -For the "tincctl" command's shell functionality, tinc uses the readline library. +For the "tinc" command's shell functionality, tinc uses the readline library. If this library is not installed, you wil get an error when running the configure script. You can either install a suitable readline library, or @@ -696,12 +696,12 @@ If you have everything clearly pictured in your mind, proceed in the following order: First, create the initial configuration files and public/private keypairs using the following command: @example -tincctl -n @var{NETNAME} init @var{NAME} +tinc -n @var{NETNAME} init @var{NAME} @end example -Second, use @samp{tincctl -n @var{NETNAME} config ...} to further configure tinc. -Finally, export your host configuration file using @samp{tincctl -n @var{NETNAME} export} and send it to those +Second, use @samp{tinc -n @var{NETNAME} config ...} to further configure tinc. +Finally, export your host configuration file using @samp{tinc -n @var{NETNAME} export} and send it to those people or computers you want tinc to connect to. -They should send you their host configuration file back, which you can import using @samp{tincctl -n @var{NETNAME} import}. +They should send you their host configuration file back, which you can import using @samp{tinc -n @var{NETNAME} import}. These steps are described in the subsections below. @@ -721,7 +721,7 @@ it doesn't even have to be the same on all the nodes of your VPN, but it is recommended that you choose one anyway. We will asume you use a netname throughout this document. -This means that you call tincctl with the -n argument, +This means that you call tinc with the -n argument, which will specify the netname. The effect of this option is that tinc will set its configuration @@ -809,7 +809,7 @@ put host specific configuration options in the host configuration file, as this makes it easy to exchange with other nodes. You can edit the config file manually, but it is recommended that you use -tincctl to change configuration variables for you. +tinc to change configuration variables for you. In the following two subsections all valid variables are listed in alphabetical order. The default value is given between parentheses, @@ -1003,7 +1003,7 @@ When this option is enabled, experimental protocol enhancements will be used. Ephemeral ECDH will be used for key exchanges, and ECDSA will be used instead of RSA for authentication. When enabled, an ECDSA key must have been generated before with -@samp{tincctl generate-ecdsa-keys}. +@samp{tinc generate-ecdsa-keys}. The experimental protocol may change at any time, and there is no guarantee that tinc will run stable when it is used. @@ -1130,7 +1130,7 @@ accidental eavesdropping if you are editting the configuration file. @cindex PrivateKeyFile @item PrivateKeyFile = <@var{path}> (@file{@value{sysconfdir}/tinc/@var{netname}/rsa_key.priv}) This is the full path name of the RSA private key file that was -generated by @samp{tincctl generate-keys}. It must be a full path, not a +generated by @samp{tinc generate-keys}. It must be a full path, not a relative directory. @cindex ProcessPriority @@ -1273,7 +1273,7 @@ This is the RSA public key for this host. @cindex PublicKeyFile @item PublicKeyFile = <@var{path}> [obsolete] This is the full path name of the RSA public key file that was generated -by @samp{tincctl generate-keys}. It must be a full path, not a relative +by @samp{tinc generate-keys}. It must be a full path, not a relative directory. @cindex PEM format @@ -1421,7 +1421,7 @@ When a subnet becomes (un)reachable, this is set to the subnet. The initial directory structure, configuration files and public/private keypairs are created using the following command: @example -tincctl -n @var{netname} init @var{name} +tinc -n @var{netname} init @var{name} @end example (You will need to run this as root, or use "sudo".) @@ -1449,7 +1449,7 @@ and you yourself have a smaller portion of that range: 192.168.2.0/24. Then you should run the following command: @example -tincctl -n @var{netname} config add subnet 192.168.2.0/24 +tinc -n @var{netname} config add subnet 192.168.2.0/24 @end example This will add a Subnet statement to your host configuration file. @@ -1465,7 +1465,7 @@ If you will use more than one address range, you can add more Subnets. For example, if you also use the IPv6 subnet fec0:0:0:2::/64, you can add it as well: @example -tincctl -n @var{netname} config add subnet fec0:0:0:2::/24 +tinc -n @var{netname} config add subnet fec0:0:0:2::/24 @end example This will add another line to the file @file{hosts/@var{name}}. @@ -1476,7 +1476,7 @@ you should add your public IP address or hostname to your host configuration fil For example, if your hostname is foo.example.org, run: @example -tincctl -n @var{netname} config add address foo.example.org +tinc -n @var{netname} config add address foo.example.org @end example If you already know to which daemons your daemon should make meta-connections, @@ -1484,7 +1484,7 @@ you should configure that now as well. Suppose you want to connect to a daemon named "bar", run: @example -tincctl -n @var{netname} config add connectto bar +tinc -n @var{netname} config add connectto bar @end example Note that you specify the Name of the other daemon here, not an IP address or hostname! @@ -1501,7 +1501,7 @@ If you are on a UNIX platform, you can easily send an email containing the neces (assuming the owner of bar has the email address bar@@example.org): @example -tincctl -n @var{netname} export | mail -s "My config file" bar@@example.org +tinc -n @var{netname} export | mail -s "My config file" bar@@example.org @end example If the owner of bar does the same to send his host configuration file to you, @@ -1509,16 +1509,16 @@ you can probably pipe his email through the following command, or you can just start this command in a terminal and copy&paste the email: @example -tincctl -n @var{netname} import +tinc -n @var{netname} import @end example If you are the owner of bar yourself, and you have SSH access to that computer, you can also swap the host configuration files using the following command: @example -tincctl -n @var{netname} export \ - | ssh bar.example.org tincctl -n @var{netname} exchange \ - | tincctl -n @var{netname} import +tinc -n @var{netname} export \ + | ssh bar.example.org tinc -n @var{netname} exchange \ + | tinc -n @var{netname} import @end example You should repeat this for all nodes you ConnectTo, or which ConnectTo you. @@ -1551,7 +1551,7 @@ When tinc starts, this script will be executed. When tinc exits, it will execute You can manually open the script in an editor, or use the following command: @example -tincctl -n @var{netname} edit tinc-up +tinc -n @var{netname} edit tinc-up @end example An example @file{tinc-up} script, that would be appropriate for the scenario in the previous section, is: @@ -1612,7 +1612,7 @@ the real interface is also shown as a comment, to give you an idea of how these example host is set up. All branches use the netname `company' for this particular VPN. -Each branch is set up using the @samp{tincctl init} and @samp{tincctl config} commands, +Each branch is set up using the @samp{tinc init} and @samp{tinc config} commands, here we just show the end results: @subsubheading For Branch A @@ -1783,7 +1783,7 @@ their daemons, tinc will try connecting until they are available. If everything else is done, you can start tinc by typing the following command: @example -tincctl -n @var{netname} start +tinc -n @var{netname} start @end example @cindex daemon @@ -1834,7 +1834,7 @@ Specifying . for @var{netname} is the same as not specifying any @var{netname}. @xref{Multiple networks}. @item --pidfile=@var{filename} -Store a cookie in @var{filename} which allows tincctl to authenticate. +Store a cookie in @var{filename} which allows tinc to authenticate. If unspecified, the default is @file{@value{localstatedir}/run/tinc.@var{netname}.pid}. @@ -2108,25 +2108,25 @@ Be sure to include the following information in your bugreport: @node Controlling tinc @chapter Controlling tinc -You can control and inspect a running tincd through the tincctl +You can control and inspect a running tincd through the tinc command. A quick example: @example -tincctl -n @var{netname} reload +tinc -n @var{netname} reload @end example @menu -* tincctl runtime options:: -* tincctl environment variables:: -* tincctl commands:: -* tincctl examples:: -* tincctl top:: +* tinc runtime options:: +* tinc environment variables:: +* tinc commands:: +* tinc examples:: +* tinc top:: @end menu @c ================================================================== -@node tincctl runtime options -@section tincctl runtime options +@node tinc runtime options +@section tinc runtime options @c from the manpage @table @option @@ -2151,8 +2151,8 @@ Output version information and exit. @end table @c ================================================================== -@node tincctl environment variables -@section tincctl environment variables +@node tinc environment variables +@section tinc environment variables @table @env @cindex NETNAME @@ -2162,8 +2162,8 @@ the value of this environment variable is used. @end table @c ================================================================== -@node tincctl commands -@section tincctl commands +@node tinc commands +@section tinc commands @c from the manpage @table @code @@ -2200,7 +2200,7 @@ Export the host configuration file of the local node to standard output. Export all host configuration files to standard output. @item import [--force] -Import host configuration file(s) generated by the tincctl export command from standard input. +Import host configuration file(s) generated by the tinc export command from standard input. Already existing host configuration files are not overwritten unless the option --force is used. @item exchange [--force] @@ -2263,7 +2263,7 @@ Sets debug level to @var{level}. @item log [@var{level}] Capture log messages from a running tinc daemon. -An optional debug level can be given that will be applied only for log messages sent to tincctl. +An optional debug level can be given that will be applied only for log messages sent to tinc. @item retry Forces tinc to try to connect to all uplinks immediately. @@ -2276,7 +2276,7 @@ it defaults to the maximum time of 15 minutes. Closes the meta connection with the given @var{node}. @item top -If tincctl is compiled with libcurses support, this will display live traffic statistics for all the known nodes, +If tinc is compiled with libcurses support, this will display live traffic statistics for all the known nodes, similar to the UNIX top command. See below for more information. @@ -2288,30 +2288,30 @@ such as tcpdump. @end table @c ================================================================== -@node tincctl examples -@section tincctl examples +@node tinc examples +@section tinc examples Examples of some commands: @example -tincctl -n vpn dump graph | circo -Txlib -tincctl -n vpn pcap | tcpdump -r - -tincctl -n vpn top +tinc -n vpn dump graph | circo -Txlib +tinc -n vpn pcap | tcpdump -r - +tinc -n vpn top @end example -Example of configuring tinc using tincctl: +Example of configuring tinc using the tinc command: @example -tincctl -n vpn init foo -tincctl -n vpn config Subnet 192.168.1.0/24 -tincctl -n vpn config bar.Address bar.example.com -tincctl -n vpn config ConnectTo bar -tincctl -n vpn export | gpg --clearsign | mail -s "My config" vpnmaster@@example.com +tinc -n vpn init foo +tinc -n vpn config Subnet 192.168.1.0/24 +tinc -n vpn config bar.Address bar.example.com +tinc -n vpn config ConnectTo bar +tinc -n vpn export | gpg --clearsign | mail -s "My config" vpnmaster@@example.com @end example @c ================================================================== -@node tincctl top -@section tincctl top +@node tinc top +@section tinc top The top command connects to a running tinc daemon and repeatedly queries its per-node traffic counters. It displays a list of all the known nodes in the left-most column, diff --git a/doc/tincctl.8.in b/doc/tincctl.8.in deleted file mode 100644 index 335b3e1b..00000000 --- a/doc/tincctl.8.in +++ /dev/null @@ -1,266 +0,0 @@ -.Dd 2013-01-15 -.Dt TINCCTL 8 -.\" Manual page created by: -.\" Scott Lamb -.Sh NAME -.Nm tincctl -.Nd tinc VPN control -.Sh SYNOPSIS -.Nm -.Op Fl cn -.Op Fl -config Ns = Ns Ar DIR -.Op Fl -net Ns = Ns Ar NETNAME -.Op Fl -pidfile Ns = Ns Ar FILENAME -.Op Fl -help -.Op Fl -version -.Ar COMMAND -.Sh DESCRIPTION -This is the control program of tinc, a secure virtual private network (VPN) -project. -.Nm -communicates with -.Xr tincd 8 -to alter and inspect the running VPN's state. -.Sh OPTIONS -.Bl -tag -width indent -.It Fl n, -net Ns = Ns Ar NETNAME -Communicate with tincd(8) connected with -.Ar NETNAME . -.It Fl -pidfile Ns = Ns Ar FILENAME -Use the cookie from -.Ar FILENAME -to authenticate with a running tinc daemon. -If unspecified, the default is -.Pa @localstatedir@/run/tinc. Ns Ar NETNAME Ns Pa .pid. -.It Fl -help -Display short list of options. -.It Fl -version -Output version information and exit. -.El -.Sh ENVIRONMENT VARIABLES -.Bl -tag -width indent -.It Ev NETNAME -If no netname is specified on the command line with the -.Fl n -option, the value of this environment variable is used. -.El -.Sh COMMANDS -.Bl -tag -width indent -.It init Op Ar name -Create initial configuration files and RSA and ECDSA keypairs with default length. -If no -.Ar name -for this node is given, it will be asked for. -.It get Ar variable -Print the current value of configuration variable -.Ar variable . -If more than one variable with the same name exists, -the value of each of them will be printed on a separate line. -.It set Ar variable Ar value -Set configuration variable -.Ar variable -to the given -.Ar value . -All previously existing configuration variables with the same name are removed. -To set a variable for a specific host, use the notation -.Ar host Ns Li . Ns Ar variable . -.It add Ar variable Ar value -As above, but without removing any previously existing configuration variables. -.It del Ar variable Op Ar value -Remove configuration variables with the same name and -.Ar value . -If no -.Ar value -is given, all configuration variables with the same name will be removed. -.It edit Ar filename -Start an editor for the given configuration file. -You do not need to specify the full path to the file. -.It export -Export the host configuration file of the local node to standard output. -.It export-all -Export all host configuration files to standard output. -.It import Op Fl -force -Import host configuration data generated by the -.Nm -export command from standard input. -Already existing host configuration files are not overwritten unless the option -.Fl -force -is used. -.It exchange Op Fl -force -The same as export followed by import. -.It exchange-all Op Fl -force -The same as export-all followed by import. -.It start Op tincd options -Start -.Xr tincd 8 , -optionally with the given extra options. -.It stop -Stop -.Xr tincd 8 . -.It restart -Restart -.Xr tincd 8 . -.It reload -Partially rereads configuration files. Connections to hosts whose host -config files are removed are closed. New outgoing connections specified -in -.Xr tinc.conf 5 -will be made. -.It pid -Shows the PID of the currently running -.Xr tincd 8 . -.It generate-keys Op bits -Generate both RSA and ECDSA keypairs (see below) and exit. -.It generate-ecdsa-keys -Generate public/private ECDSA keypair and exit. -.It generate-rsa-keys Op bits -Generate public/private RSA keypair and exit. -If -.Ar bits -is omitted, the default length will be 2048 bits. -When saving keys to existing files, tinc will not delete the old keys; -you have to remove them manually. -.It dump [reachable] nodes -Dump a list of all known nodes in the VPN. -If the keyword reachable is used, only lists reachable nodes. -.It dump edges -Dump a list of all known connections in the VPN. -.It dump subnets -Dump a list of all known subnets in the VPN. -.It dump connections -Dump a list of all meta connections with ourself. -.It dump graph | digraph -Dump a graph of the VPN in -.Xr dotty 1 -format. -Nodes are colored according to their reachability: -red nodes are unreachable, orange nodes are indirectly reachable, green nodes are directly reachable. -Black nodes are either directly or indirectly reachable, but direct reachability has not been tried yet. -.It info Ar node | subnet | address -Show information about a particular node, subnet or address. -If an address is given, any matching subnet will be shown. -.It purge -Purges all information remembered about unreachable nodes. -.It debug Ar N -Sets debug level to -.Ar N . -.It log Op Ar N -Capture log messages from a running tinc daemon. -An optional debug level can be given that will be applied only for log messages sent to -.Nm tincctl . -.It retry -Forces -.Xr tincd 8 -to try to connect to all uplinks immediately. -Usually -.Xr tincd 8 -attempts to do this itself, -but increases the time it waits between the attempts each time it failed, -and if -.Xr tincd 8 -didn't succeed to connect to an uplink the first time after it started, -it defaults to the maximum time of 15 minutes. -.It disconnect Ar NODE -Closes the meta connection with the given -.Ar NODE . -.It top -If -.Nm -is compiled with libcurses support, this will display live traffic statistics -for all the known nodes, similar to the UNIX -.Xr top 1 -command. -See below for more information. -.It pcap -Dump VPN traffic going through the local tinc node in -.Xr pcap-savefile 5 -format to standard output, -from where it can be redirected to a file or piped through a program that can parse it directly, -such as -.Xr tcpdump 8 . -.El -.Sh EXAMPLES -Examples of some commands: -.Bd -literal -offset indent -tincctl -n vpn dump graph | circo -Txlib -tincctl -n vpn pcap | tcpdump -r - -tincctl -n vpn top -.Pp -.Ed -Example of configuring tinc using -.Nm : -.Bd -literal -offset indent -tincctl -n vpn init foo -tincctl -n vpn add Subnet 192.168.1.0/24 -tincctl -n vpn add bar.Address bar.example.com -tincctl -n vpn add ConnectTo bar -tincctl -n vpn export | gpg --clearsign | mail -s "My config" vpnmaster@example.com -.Ed -.Sh TOP -The top command connects to a running tinc daemon and repeatedly queries its per-node traffic counters. -It displays a list of all the known nodes in the left-most column, -and the amount of bytes and packets read from and sent to each node in the other columns. -By default, the information is updated every second. -The behaviour of the top command can be changed using the following keys: -.Bl -tag -.It Ic s -Change the interval between updates. -After pressing the -.Ic s -key, enter the desired interval in seconds, followed by enter. -Fractional seconds are honored. -Intervals lower than 0.1 seconds are not allowed. -.It Ic c -Toggle between displaying current traffic rates (in packets and bytes per second) -and cumulative traffic (total packets and bytes since the tinc daemon started). -.It Ic n -Sort the list of nodes by name. -.It Ic i -Sort the list of nodes by incoming amount of bytes. -.It Ic I -Sort the list of nodes by incoming amount of packets. -.It Ic o -Sort the list of nodes by outgoing amount of bytes. -.It Ic O -Sort the list of nodes by outgoing amount of packets. -.It Ic t -Sort the list of nodes by sum of incoming and outgoing amount of bytes. -.It Ic T -Sort the list of nodes by sum of incoming and outgoing amount of packets. -.It Ic b -Show amount of traffic in bytes. -.It Ic k -Show amount of traffic in kilobytes. -.It Ic M -Show amount of traffic in megabytes. -.It Ic G -Show amount of traffic in gigabytes. -.It Ic q -Quit. -.El -.Sh BUGS -If you find any bugs, report them to tinc@tinc-vpn.org. -.Sh SEE ALSO -.Xr tincd 8 , -.Xr tinc.conf 5 , -.Xr dotty 1 , -.Xr pcap-savefile 5 , -.Xr tcpdump 8 , -.Xr top 1 , -.Pa http://www.tinc-vpn.org/ , -.Pa http://www.cabal.org/ . -.Pp -The full documentation for tinc is maintained as a Texinfo manual. -If the info and tinc programs are properly installed at your site, -the command -.Ic info tinc -should give you access to the complete manual. -.Pp -tinc comes with ABSOLUTELY NO WARRANTY. -This is free software, and you are welcome to redistribute it under certain conditions; -see the file COPYING for details. -.Sh AUTHORS -.An "Ivo Timmermans" -.An "Guus Sliepen" Aq guus@tinc-vpn.org -.Pp -And thanks to many others for their contributions to tinc! diff --git a/doc/tincd.8.in b/doc/tincd.8.in index 88da75d3..3c5886b1 100644 --- a/doc/tincd.8.in +++ b/doc/tincd.8.in @@ -92,7 +92,7 @@ is omitted, the default is Store a cookie in .Ar FILENAME which allows -.Xr tincctl 8 +.Xr tinc 8 to authenticate. If .Ar FILE @@ -186,7 +186,7 @@ If you find any bugs, report them to tinc@tinc-vpn.org. .Sh TODO A lot, especially security auditing. .Sh SEE ALSO -.Xr tincctl 8 , +.Xr tinc 8 , .Xr tinc.conf 5 , .Pa http://www.tinc-vpn.org/ , .Pa http://www.cabal.org/ . diff --git a/src/Makefile.am b/src/Makefile.am index eeee1529..c073eecf 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,6 +1,6 @@ ## Produce this file with automake to get Makefile.in -sbin_PROGRAMS = tincd tincctl sptps_test +sbin_PROGRAMS = tincd tinc sptps_test EXTRA_DIST = linux bsd solaris cygwin mingw openssl gcrypt @@ -22,11 +22,11 @@ endif nodist_tincd_SOURCES = \ device.c cipher.c crypto.c ecdh.c ecdsa.c digest.c prf.c rsa.c -tincctl_SOURCES = \ +tinc_SOURCES = \ utils.c getopt.c getopt1.c dropin.c \ info.c list.c subnet_parse.c tincctl.c top.c names.c -nodist_tincctl_SOURCES = \ +nodist_tinc_SOURCES = \ ecdsagen.c rsagen.c sptps_test_SOURCES = \ @@ -37,7 +37,7 @@ if TUNEMU tincd_SOURCES += bsd/tunemu.c endif -tincctl_LDADD = $(READLINE_LIBS) $(CURSES_LIBS) +tinc_LDADD = $(READLINE_LIBS) $(CURSES_LIBS) DEFAULT_INCLUDES = diff --git a/src/tincctl.c b/src/tincctl.c index be0aa9d9..cb9740ef 100644 --- a/src/tincctl.c +++ b/src/tincctl.c @@ -1147,7 +1147,7 @@ static int cmd_top(int argc, char *argv[]) { top(fd); return 0; #else - fprintf(stderr, "This version of tincctl was compiled without support for the curses library.\n"); + fprintf(stderr, "This version of tinc was compiled without support for the curses library.\n"); return 1; #endif }