Add sekrit
This commit is contained in:
parent
024b065d3b
commit
63edc5f58d
3 changed files with 310 additions and 1 deletions
138
bin/sekrit.1
Normal file
138
bin/sekrit.1
Normal file
|
@ -0,0 +1,138 @@
|
|||
.\"
|
||||
.\" sekrit.1
|
||||
.\" Written in 2018 by Lucas
|
||||
.\" CC0 1.0 Universal/Public domain - No rights reserved
|
||||
.\"
|
||||
.\" To the extent possible under law, the author(s) have dedicated all
|
||||
.\" copyright and related and neighboring rights to this software to the
|
||||
.\" public domain worldwide. This software is distributed without any
|
||||
.\" warranty. You should have received a copy of the CC0 Public Domain
|
||||
.\" Dedication along with this software. If not, see
|
||||
.\" <http://creativecommons.org/publicdomain/zero/1.0/>.
|
||||
.\"
|
||||
.Dd September 25, 2018
|
||||
.Dt SEKRIT 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm sekrit
|
||||
.Nd Secret files manager
|
||||
.Sh SYNOPSIS
|
||||
.Nm sekrit
|
||||
.Cm add
|
||||
.Ar key
|
||||
.Op Ar value ...
|
||||
.Nm sekrit
|
||||
.Cm gen
|
||||
.Op Fl l Ar length
|
||||
.Op Ar chars
|
||||
.Nm sekrit
|
||||
.Cm get
|
||||
.Ar key
|
||||
.Nm sekrit
|
||||
.Cm has
|
||||
.Ar key
|
||||
.Nm sekrit
|
||||
.Cm ls
|
||||
.Op Ar keys ...
|
||||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
is a small shell script for managing encrypted files.
|
||||
It leverages
|
||||
.Xr gpg2 1
|
||||
to create and read encrypted files,
|
||||
and can generate random data to populate them.
|
||||
.Pp
|
||||
Because of this,
|
||||
.Nm
|
||||
can be used as an account credentials manager,
|
||||
or as a general-purpose key-value store of encrypted information.
|
||||
.Bl -tag -width Ds
|
||||
.It Nm Cm add Ar key Op Ar value ...
|
||||
Adds a value to
|
||||
.Ar key .
|
||||
.Ar value
|
||||
is inserted as is, without any extra modifications.
|
||||
If no
|
||||
.Ar value
|
||||
is specified on command line,
|
||||
.Cm add
|
||||
will read the value from standard input.
|
||||
.Cm add
|
||||
will fail if
|
||||
.Ar key
|
||||
already has a value.
|
||||
.It Nm Cm gen Oo Fl l Ar length Oc Op Ar chars
|
||||
Outputs a randomly generated sequence.
|
||||
The generated sequence consist of characters
|
||||
.Ar chars .
|
||||
Defaults to
|
||||
.Ar +/0-9A-Za-z .
|
||||
If
|
||||
.Fl l Ar length
|
||||
is provided, the randomly generated sequence will be
|
||||
.Ar length
|
||||
characters long.
|
||||
Defaults to 43.
|
||||
.It Nm Cm get Ar key
|
||||
Decrypts the value associated with
|
||||
.Ar key
|
||||
and prints it to standard output.
|
||||
Fails if
|
||||
.Ar key
|
||||
doesn't have a value associated with it.
|
||||
.It Nm Cm has Ar key
|
||||
Returns success if
|
||||
.Ar key
|
||||
has a value associated with it.
|
||||
Fails otherwise.
|
||||
.It Nm Cm ls Op Ar keys ...
|
||||
For each
|
||||
.Ar key
|
||||
given as argument,
|
||||
list all the registered keys under that hierarchy.
|
||||
If no
|
||||
.Ar key
|
||||
is given, list all the registeres keys.
|
||||
.El
|
||||
.Sh ENVIRONMENT
|
||||
.Bl -tag -width SEKRIT_GPG_ID
|
||||
.It Ev SEKRIT_DIR
|
||||
Secret files base directory.
|
||||
Defaults to
|
||||
.Pa ~/keep/sekrit .
|
||||
.It Ev SEKRIT_GPG_ID
|
||||
The recipient to whom encrypt the files.
|
||||
Defaults to
|
||||
.Ar myself .
|
||||
.El
|
||||
.Sh EXIT STATUS
|
||||
.Ex -std
|
||||
.Sh EXAMPLES
|
||||
To use
|
||||
.Nm
|
||||
as an account credentials manager, you can run
|
||||
.Bd -literal -offset indent
|
||||
sekrit add accounts/example.com/user myuser
|
||||
sekrit gen accounts/example.com/pass
|
||||
.Ed
|
||||
.Pp
|
||||
Then, to retrieve credentials to login as
|
||||
.Ar myuser
|
||||
in
|
||||
.Ar example.com
|
||||
you can run
|
||||
.Bd -literal -offset indent
|
||||
sekrit get accounts/example.com/user | xclip -l 1 -sel clip -q
|
||||
sekrit get accounts/example.com/pass | xclip -l 1 -sel clip -q
|
||||
.Ed
|
||||
.Sh AUTHORS
|
||||
.An Lucas
|
||||
.Sh LICENSE
|
||||
.Nm
|
||||
is in the public domain.
|
||||
.Pp
|
||||
To the extent possible under law, the author(s) have dedicated all
|
||||
copyright and related and neighboring rights to this software to the
|
||||
public domain worldwide.
|
||||
.Pp
|
||||
.Lk http://creativecommons.org/publicdomain/zero/1.0/
|
Loading…
Add table
Add a link
Reference in a new issue