Add kanakomenu and kanakototp addons, etc.

Signed-off-by: Aoi K <koizumi.aoi@kyoko-project.wer.ee>

git-svn-id: file:///srv/svn/repo/kanako/trunk@9 62e5d677-aa6e-8c4a-b8cb-b9416171cb8e
This commit is contained in:
koizumi.aoi 2022-10-13 15:02:40 +00:00
parent e296b48219
commit e93ff0ee9e
8 changed files with 66 additions and 10 deletions

View File

@ -11,6 +11,17 @@ the adaptable password manager.
* `ls(1)` or `tree(1)` for printing a list * `ls(1)` or `tree(1)` for printing a list
* `mandoc(1)` for documentation * `mandoc(1)` for documentation
## Add-ons
### kanakomenu
quick graphical front-end for kanako, works with either of `dmenu(1)`
or `bemenu(1)`, useful for copying passwords to clipboard. it's configured
through kanakomenu.conf
### kanakototp
time-based one time password addon for kanako, requires `oathtool(1)`
from oath-toolkit.
## License ## License
* [Discordian Public License, version 2.3](https://gt.kalli.st/novaburst/discordian-public-license/src/branch/discordia/DPL-2.3) * [Discordian Public License, version 2.3](https://gt.kalli.st/novaburst/discordian-public-license/src/branch/discordia/DPL-2.3)

View File

@ -1 +1,3 @@
EXEC_MODE=0755
FILE_MODE=0600
PREFIX=/usr/local PREFIX=/usr/local

2
kanako
View File

@ -16,7 +16,7 @@ if test -f "${conf_dir}/kanako.conf"; then
. "${conf_dir}/kanako.conf"; . "${conf_dir}/kanako.conf";
else else
echo "Configuration file has not been found!" echo "Configuration file has not been found!"
echo "Copy kanako.conf.example from the repository," echo "Copy kanako.conf from the examples directory,"
echo "and edit accordingly." echo "and edit accordingly."
exit 1 exit 1
fi fi

View File

@ -1,9 +1,9 @@
# [General] # Configuration file for kanako(1)
#clip="xclip -i" #clip="xclip -i"
#clip="wl-copy --primary" #clip="wl-copy --primary"
#list_cmd="tree" #list_cmd="tree"
# [Encryption]
## age ## age
#encrypt_cmd="age" #encrypt_cmd="age"
#encrypt_args="-e -R ${key_dir}/pub.age --armor" #encrypt_args="-e -R ${key_dir}/pub.age --armor"

14
kanakomenu Executable file
View File

@ -0,0 +1,14 @@
#!/bin/sh -e
readonly conf_dir="${conf_dir:-$HOME/.config/kanako}"
readonly store_dir="${store_dir:-$HOME/.kanako-store}"
if test -f "${conf_dir}"/kanakomenu.conf; then
. "${conf_dir}"/kanakomenu.conf
else
echo "Configuration file has not been found!"
echo "Copy kanakomenu.conf from the examples directory,"
echo "and edit accordingly"
exit 1
fi
find . -name '*.enc' | sort | sed 's,^\./,,;s,\.enc$,,' | ${menu_prog} | xargs $(which kanako) -c

4
kanakomenu.conf.example Normal file
View File

@ -0,0 +1,4 @@
# Configuration file for kanakomenu(1)
#menu_prog="bemenu -p kanako"
#menu_prog="dmenu -p kanako"

12
kanakototp Executable file
View File

@ -0,0 +1,12 @@
#!/bin/sh -e
# extracted from https://rgz.ee/bin/pass
totp_seed="$(kanako -v "$@" | grep 'totp: ' | head -n1 | cut -d' ' -f2)"
if ! [ -z "$totp_seed" ]; then
if command -v oathtool >/dev/null 2>&1; then
oathtool --totp -b "$totp_seed"
else
echo 'oathtool(1) should be installed'
exit 1
fi
fi

27
mkfile
View File

@ -1,9 +1,22 @@
<config.mk <config.mk
install: install:V: install-bin install-examples install-man
install -Dm0755 kanako $PREFIX/bin/kanako uninstall:V: uninstall-bin uninstall-examples uninstall-man
install -Dm0644 kanako.mdoc $PREFIX/share/man/man1/kanako.1
install -Dm0644 kanako.conf.mdoc $PREFIX/share/man/man5/kanako.conf.5 install-bin:
install -Dm0755 kanako-init $PREFIX/bin/kanako-init install -m$EXEC_MODE kanako $PREFIX/bin/kanako
uninstall: install -m$EXEC_MODE kanako-init $PREFIX/bin/kanako-init
rm -f $PREFIX/bin/kanako $PREFIX/share/man/man1/kanako.1 $PREFIX/share/man/man5/kanako.conf.5 install -m$EXEC_MODE kanakomenu $PREFIX/bin/kanakomenu
install -m$EXEC_MODE kanakototp $PREFIX/bin/kanakototp
install-examples:
install -m$FILE_MODE kanako.conf.example $PREFIX/share/examples/kanako/kanako.conf
install -m$FILE_MODE kanakomenu.conf.example $PREFIX/share/examples/kanako/kanakomenu.conf
install-man:
install -m$FILE_MODE kanako.mdoc $PREFIX/share/man/man1/kanako.1
install -m$FILE_MODE kanako.conf.mdoc $PREFIX/share/man/man5/kanako.conf.5
uninstall-bin:
rm -f $PREFIX/bin/kanako $PREFIX/bin/kanako-init $PREFIX/bin/kanakomenu $PREFIX/bin/kanakototp
uninstall-examples:
rm -f $PREFIX/share/examples/kanako/kanako.conf $PREFIX/share/exmaples/kanako/kanakomenu.conf
uninstall-man:
rm -f $PREFIX/share/man/man1/kanako.1 $PREFIX/share/man/man5/kanako.conf.5