#!/usr/bin/perl

#  You may distribute under the terms of either the GNU General Public License
#  or the Artistic License (the same terms as Perl itself)
#
#  (C) Paul Evans, 2015 -- leonerd@leonerd.org.uk

use strict;
use warnings;

use App::MatrixTool;
exit App::MatrixTool->run( @ARGV );

=head1 NAME

matrixtool - commands to interact with a Matrix home-server

=head1 SYNOPSIS

 $ matrixtool server-key matrix.org

=head1 DESCRIPTION

This command provides a wrapper around a number of sub-commands that provide
useful interactions with a Matrix home-server.

The individual sub-commands are listed below:

=head1 COMMANDS

=head2 help

Display help information about commands

   $ matrixtool help [COMMAND]

=head2 notary

Fetch a server's signing key via another server

   $ matrixtool notary SERVER-NAME VIA

=head2 resolve

Look up hostname or IP addresses of a server

   $ matrixtool resolve SERVER-NAME

Options:

=over 4

=item * --address (-a)

Resolve hostnames into IP addressese

=back

=head2 server-key

Fetch a server's signing key

   $ matrixtool server-key SERVER-NAME

Options:

=over 4

=item * --no-store (-n)

Don't cache the received key in the key store

=item * --v1 (-1)

Restrict to the v1 key API

=item * --v2 (-2)

Restrict to the v2 key API

=back

=head1 AUTHOR

Paul Evans <leonerd@leonerd.org.uk>
