TINCCTL(8)                                         BSD System Manager's Manual                                        TINCCTL(8)

NAME
     tinc — tinc VPN control

SYNOPSIS
     tinc [-bcn] [--config=DIR] [--net=NETNAME] [--pidfile=FILENAME] [--batch] [--force] [--help] [--version] [COMMAND]

DESCRIPTION
     This is the control program of tinc, a secure virtual private network (VPN) project.  tinc can start and stop tincd(8), and
     can to alter and inspect the state of a running VPN.  It can also be used to change the configuration, or to import or ex‐
     port host configuration files from other nodes.

     If tinc is started with a COMMAND, this command is immediately executed, after which tinc exits.  If no COMMAND is given,
     tinc will act as a shell; it will display a prompt, and commands can be entered on the prompt.  If tinc is compiled with
     libreadline, history and command completion are available on the prompt.  One can also pipe a script containing commands
     through tinc.  In that case, lines starting with a # symbol will be ignored.

OPTIONS
     -n, --net=NETNAME
             Communicate with tincd(8) connected with NETNAME.

     --pidfile=FILENAME
             Use the cookie from FILENAME to authenticate with a running tinc daemon.  If unspecified, the default is
             /usr/local/var/run/tinc.NETNAME.pid.

     -b, --batch
             Don't ask for anything (non-interactive mode).

     --force
             Force some commands to work despite warnings.

     --help  Display short list of options.

     --version
             Output version information and exit.
     NETNAME
             If no netname is specified on the command line with the -n option, the value of this environment variable is used.

COMMANDS
     init [name]
             Create initial configuration files and RSA and Ed25519 key pairs with default length.  If no name for this node is
             given, it will be asked for.

     get variable
             Print the current value of configuration variable variable.  If more than one variable with the same name exists,
             the value of each of them will be printed on a separate line.

     set variable value
             Set configuration variable variable to the given value.  All previously existing configuration variables with the
             same name are removed.  To set a variable for a specific host, use the notation host.variable.

     add variable value
             As above, but without removing any previously existing configuration variables.  If the variable already exists
             with the given value, nothing happens.

     del variable [value]
             Remove configuration variables with the same name and value.  If no value is given, all configuration variables
             with the same name will be removed.

     edit filename
             Start an editor for the given configuration file.  You do not need to specify the full path to the file.

     export  Export the host configuration file of the local node to standard output.

     export-all
             Export all host configuration files to standard output.

     import  Import host configuration data generated by the tinc export command from standard input.  Already existing host
             configuration files are not overwritten unless the option --force is used.

     exchange
             The same as export followed by import.

     exchange-all
             The same as export-all followed by import.

     invite name
             Prepares an invitation for a new node with the given name, and prints a short invitation URL that can be used with
             the join command.

     join [URL]
             Join an existing VPN using an invitation URL created using the invite command.  If no URL is given, it will be read
             from standard input.

     start [tincd options]
             Start tincd(8), optionally with the given extra options.

     stop    Stop tincd(8).

     restart [tincd options]
             Restart tincd(8), optionally with the given extra options.

     reload  Partially rereads configuration files. Connections to hosts whose host config files are removed are closed. New
             outgoing connections specified in tinc.conf(5) will be made.

     pid     Shows the PID of the currently running tincd(8).

     generate-keys [bits]
             Generate both RSA and Ed25519 key pairs (see below) and exit.

     generate-ed25519-keys
             Generate public/private Ed25519 key pair and exit.

     generate-rsa-keys [bits]
             Generate public/private RSA key pair and exit.  If 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.

     dump [reachable] nodes
             Dump a list of all known nodes in the VPN.  If the keyword reachable is used, only lists reachable nodes.

     dump edges
             Dump a list of all known connections in the VPN.

     dump subnets
             Dump a list of all known subnets in the VPN.

     dump connections
             Dump a list of all meta connections with ourself.

     dump graph | digraph
             Dump a graph of the VPN in dotty(1) format.  Nodes are colored according to their reachability: red nodes are un‐
             reachable, orange nodes are indirectly reachable, green nodes are directly reachable.  Black nodes are either di‐
             rectly or indirectly reachable, but direct reachability has not been tried yet.

     dump invitations
             Dump a list of outstanding invitations.  The filename of the invitation, as well as the name of the node that is
             being invited is shown for each invitation.

     info node | subnet | address
             Show information about a particular node, subnet or address.  If an address is given, any matching subnet will be
             shown.

     purge   Purges all information remembered about unreachable nodes.

     debug N
             Sets debug level to N.

     log [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 tinc.

     retry   Forces tincd(8) to try to connect to all uplinks immediately.  Usually tincd(8) attempts to do this itself, but in‐
             creases the time it waits between the attempts each time it failed, and if 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.

     disconnect NODE
             Closes the meta connection with the given NODE.

     top     If tinc is compiled with libcurses support, this will display live traffic statistics for all the known nodes, sim‐
             ilar to the UNIX top(1) command.  See below for more information.

     pcap    Dump VPN traffic going through the local tinc node in 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 tcpdump(8).

     network [netname]
             If netname is given, switch to that network.  Otherwise, display a list of all networks for which configuration
             files exist.

     fsck    This will check the configuration files for possible problems, such as unsafe file permissions, missing executable
             bit on script, unknown and obsolete configuration variables, wrong public and/or private keys, and so on.

             When problems are found, this will be printed on a line with WARNING or ERROR in front of it.  Most problems must
             be corrected by the user itself, however in some cases (like file permissions and missing public keys), tinc will
             ask if it should fix the problem.

     sign [filename]
             Sign a file with the local node's private key.  If no filename is given, the file is read from standard input.  The
             signed file is written to standard output.

     verify name [filename]
             Check the signature of a file against a node's public key.  The name of the node must be given, or can be .  to
             check against the local node's public key, or * to allow a signature from any node whose public key is known.  If
             no filename is given, the file is read from standard input.  If the verification is successful, a copy of the input
             with the signature removed is written to standard output, and the exit code will be zero.  If the verification
             failed, nothing will be written to standard output, and the exit code will be non-zero.

EXAMPLES
     Examples of some commands:

           tinc -n vpn dump graph | circo -Txlib
           tinc -n vpn pcap | tcpdump -r -
           tinc -n vpn top

     Examples of changing the configuration using tinc:

           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

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:

     s       Change the interval between updates.  After pressing the s key, enter the desired interval in seconds, followed by
             enter.  Fractional seconds are honored.  Intervals lower than 0.1 seconds are not allowed.

     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).

     n       Sort the list of nodes by name.

     i       Sort the list of nodes by incoming amount of bytes.

     I       Sort the list of nodes by incoming amount of packets.

     o       Sort the list of nodes by outgoing amount of bytes.

     O       Sort the list of nodes by outgoing amount of packets.

     t       Sort the list of nodes by sum of incoming and outgoing amount of bytes.

     T       Sort the list of nodes by sum of incoming and outgoing amount of packets.

     b       Show amount of traffic in bytes.

     k       Show amount of traffic in kilobytes.

     M       Show amount of traffic in megabytes.

     G       Show amount of traffic in gigabytes.

     q       Quit.

BUGS
     If you find any bugs, report them to tinc@tinc-vpn.org.
     tincd(8), tinc.conf(5), dotty(1), pcap-savefile(5), tcpdump(8), top(1), http://www.tinc-vpn.org/, http://www.cabal.org/.

     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 info tinc should give you access to the complete manual.

     tinc comes with ABSOLUTELY NO WARRANTY.  This is free software, and you are welcome to redistribute it under certain condi‐
     tions; see the file COPYING for details.

AUTHORS
     Ivo Timmermans
     Guus Sliepen <guus@tinc-vpn.org>

     And thanks to many others for their contributions to tinc!

                                                          June 27, 2021