Initial payload
Signed-off-by: Aoi K <koizumi.aoi@kyoko-project.wer.ee> git-svn-id: file:///srv/svn/repo/kanako/trunk@1 62e5d677-aa6e-8c4a-b8cb-b9416171cb8e
This commit is contained in:
commit
d55cab46a7
15
DPL-2.3
Normal file
15
DPL-2.3
Normal file
@ -0,0 +1,15 @@
|
||||
Discordian Public License 2.3 (DPL-2.3)
|
||||
|
||||
All Rites Reversed (ĸ) 3188 Aoi Koizumi [Champagne Supernova] <koizumi.aoi@kyoko-project.wer.ee>
|
||||
|
||||
Permission is hereby granted, to any person obtaining a copy of this
|
||||
material without restriction, including but not limited the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the material, subject to the following conditions:
|
||||
|
||||
YOU AGREE THAT THERE IS NO GODDESS BUT GODDESS AND SHE IS YOUR GODDESS &
|
||||
THAT THERE IS NO ERISIAN MOVEMENT BUT THE ERISIAN MOVEMENT AND IT IS THE
|
||||
ERISIAN MOVEMENT.
|
||||
|
||||
HAIL ERIS!
|
||||
FIVE TONS OF FLAX
|
23
README.md
Normal file
23
README.md
Normal file
@ -0,0 +1,23 @@
|
||||
# ayu-ng
|
||||
Rewrite of `ayu(1)`, an actually boring password manager, now with interchangeable encryption backend.
|
||||
|
||||
## Backends supported
|
||||
* [age](https://age-encryption.org)
|
||||
* [gpg](https://gnupg.org)
|
||||
* [saltpack (via salty)](https://git.mills.io/prologic/salty)
|
||||
|
||||
## Dependencies
|
||||
* Any of the above, depending how you configured it
|
||||
* `ls(1)` or `tree(1)` for printing a list
|
||||
* `mandoc(1)` for documentation
|
||||
|
||||
## License
|
||||
* [Discordian Public License, version 2.3](https://gt.kalli.st/novaburst/discordian-public-license/src/branch/discordia/DPL-2.3)
|
||||
|
||||
## Related software
|
||||
* [biox/pa](https://github.com/biox/pa)
|
||||
* [e-zk/page](https://github.com/e-zk/page)
|
||||
* [kl3/spm](https://notabug.org/kl3/spm)
|
||||
* [nmeum/tpm](https://github.com/nmeum/tpm)
|
||||
* [shokara/angou](https://gt.kalli.st/shokara/angou)
|
||||
* [zx2c4/pass](https://passwordstore.org)
|
66
ayu-ng
Executable file
66
ayu-ng
Executable file
@ -0,0 +1,66 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
conf_dir=${conf_dir:-$HOME/.config/ayu}
|
||||
key_dir=${key_dir:-$HOME/.ayu}
|
||||
store_dir=${store_dir:-$HOME/.ayu-store}
|
||||
|
||||
cd ${store_dir} || exit 1
|
||||
|
||||
. ${conf_dir}/config
|
||||
|
||||
fn_copy() {
|
||||
fn_view $2 | ${clip}
|
||||
}
|
||||
fn_edit() {
|
||||
${decrypt_cmd} ${decrypt_args} ${1%%.enc}.enc
|
||||
${EDITOR} ${1%%.enc}
|
||||
${encrypt_cmd} ${encrypt_args} ${1%%.enc}
|
||||
rm ${1%%.enc}
|
||||
}
|
||||
fn_generate() {
|
||||
pwgen -s ${2:-80}
|
||||
}
|
||||
fn_list() {
|
||||
if command -v tree 2>/dev/null; then
|
||||
tree ${store_dir}
|
||||
else
|
||||
ls -l ${store_dir}
|
||||
fi
|
||||
}
|
||||
fn_new() {
|
||||
test -d $1 && fn_usage && exit 1
|
||||
|
||||
tmpfile=$(mktemp)
|
||||
${EDITOR} ${tmpfile}
|
||||
|
||||
mkdir -p $(dirname $1)
|
||||
${encrypt_cmd} ${encrypt_args} ${tmpfile}
|
||||
|
||||
mv ${tmpfile}.enc ${1%%.enc}.enc
|
||||
rm ${tmpfile}
|
||||
}
|
||||
fn_trash_directory() {
|
||||
rm -rf $@
|
||||
}
|
||||
fn_trash_entry() {
|
||||
rm -f ${1}${2},enc
|
||||
}
|
||||
fn_usage() {
|
||||
cat <<EOF
|
||||
Usage:
|
||||
ayu [-ceglnrRv] <arguments>
|
||||
ayu [copy|edit|generate|list|add|trash|trashdir|view] <arguments>
|
||||
EOF
|
||||
}
|
||||
|
||||
case $1 in
|
||||
-c | copy) fn_copy $2 ;;
|
||||
-e | edit) fn_edit $2 ;;
|
||||
-g | generate) fn_generate $2 ;;
|
||||
-l | list) fn_list ;;
|
||||
-n | add) fn_new ;;
|
||||
-r | trash) fn_trash $2 ;;
|
||||
-R | trashd) fn_trash_directory $2 ;;
|
||||
-v | view) fn_view $2 ;;
|
||||
*) fn_usage ;;
|
||||
esac
|
18
ayu-ng.conf.example
Normal file
18
ayu-ng.conf.example
Normal file
@ -0,0 +1,18 @@
|
||||
# [General]
|
||||
#clip="xclip -i"
|
||||
|
||||
# [Encryption]
|
||||
## age
|
||||
#encrypt_cmd="age"
|
||||
#encrypt_args="-e -R ${key_dir}/pub.age"
|
||||
#decrypt_args="-d -i ${key_dir}/priv.age"
|
||||
|
||||
## gpg
|
||||
#encrypt_cmd="gpg"
|
||||
#encrypt_args="-e --recipient ${key_dir}/pub.gpg"
|
||||
#decrypt_args="-d"
|
||||
|
||||
## salty
|
||||
#encrypt_cmd="salty"
|
||||
#encrypt_args="-e -r $(cat ${key_dir}/pub.slt)"
|
||||
#decrypt_args="-d -i ${key_dir}/priv.slt"
|
43
ayu-ng.mdoc
Normal file
43
ayu-ng.mdoc
Normal file
@ -0,0 +1,43 @@
|
||||
.Dd Bureaucracy 62, 3188
|
||||
.Dt AYU-NG 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm ayu-ng
|
||||
.Nd rewrite of ayu, an actually boring password manager
|
||||
.Sh DESCRIPTION
|
||||
|
||||
.Sh USAGE
|
||||
.Bl -tag -width 11n -compact
|
||||
.It add, -n
|
||||
Add a new entry
|
||||
.It copy, -c
|
||||
Copy an entry's text to the clipboard
|
||||
.It edit, -e
|
||||
Edit an entry
|
||||
.It generate, -g
|
||||
Generate a random password
|
||||
.It list, -l
|
||||
List all entries
|
||||
.It del, -r
|
||||
Remove single entries
|
||||
.It delr, -R
|
||||
Remove recursively a directory w/ entries
|
||||
.It view, -v
|
||||
View an entry
|
||||
.Bl
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr 5 ayu-ng.conf
|
||||
.Rs
|
||||
.%A Rob Pike
|
||||
.%T "UNIX Style, or cat -v Considered Harmful"
|
||||
.%J "USENIX Summer Conference Proceedings"
|
||||
.%D 1983
|
||||
.Re
|
||||
.Sh AUTHORS
|
||||
.An Aoi Koizumi Aq Mt koizumi.aoi@kyoko-project.wer.ee
|
||||
.Sh BUGS
|
||||
Under the Wayland display protocol,
|
||||
the clipboard subcommand won't work,
|
||||
due to 'Permission denied'. On X11
|
||||
it works just fine.
|
Loading…
x
Reference in New Issue
Block a user