.\" car - crytographic archiver
.\" Copyright (c) 2010 David Sugar <dyfet@gnutelephony.org>
.\"
.\" This manual page is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program; if not, write to the Free Software
.\" Foundation, Inc.,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
.\"
.\" This manual page is written especially for Debian GNU/Linux.
.\"
.TH car "1" "January 2010" "GNU uCommon" "GNU Telephony"
.SH NAME
car \- crytographic archiver.
.SH SYNOPSIS
.B car
.RI [ options ]
.RI [ paths... ]
.br
.B car
.B \-\-decode
.RI [ .carfile ]
.br
.SH DESCRIPTION
Creates and decodes portable cross-platform crytographic archives.  An archive
can be a collection of files, or an in-stream message that is piped.  Output
can be to a binary .car file, or ascified text.  A symetric cipher is used,
and the passhrase is hashed to form a key.
.SH OPTIONS
.TP
.BI \-\-cipher= name
Specify symetric cipher.  By default 256 bit aes is used.
.TP
.B \-\-decrypt
Specify decryption operation on an existing car stream or file.  If no
file is specified, stdin is used.
.TP
.BI \-\-digest= name
Specify name of digest algorithm.  By default sha will be used.
.TP
.B \-\-follow
Dereference and follow symlinks.  Otherwise they are ignored.
.TP
.BI \-\-output= filename
Specify output file for a new archive.  By default stdout is used.
.TP
.B \-\-overwrite
Always overwrite existing files without prompting.
.TP
.B \-\-quiet
Non-interactive and no status output.
.TP
.B \-\-recursive
If argument is a directory, recursively scan directory and any subdirectory
contents as arguments.
.TP
.B \-\-help
Outputs help screen for the user.
.SH AUTHOR
.B car
was written by David Sugar <dyfet@gnutelephony.org>.
.SH "REPORTING BUGS"
Report bugs to bug-commoncpp@gnu.org.
.SH COPYRIGHT
Copyright \(co 2010 David Sugar, Tycho Softworks.
.br
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

