mirror of
https://github.com/gaschz/qubes-pass.git
synced 2025-03-01 14:22:31 +01:00
53 lines
1.6 KiB
Bash
Executable File
53 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
if [ -s /rw/config/pass-split-domain -a -z "$QUBES_PASS_DOMAIN" ] ; then
|
|
export QUBES_PASS_DOMAIN=$( cat /rw/config/pass-split-domain )
|
|
fi
|
|
|
|
if [ -z "$QUBES_PASS_DOMAIN" ] ; then
|
|
title="Qubes pass error"
|
|
msg="The QUBES_PASS_DOMAIN variable is not defined. Either create /rw/config/pass-split-domain with the VM containing your pass setup, set the environment variable yourself, or pass -d on the command line."
|
|
echo "$title: $msg" >&2
|
|
zenity --error --text "$msg" --title "$title" &
|
|
exit 124
|
|
fi
|
|
|
|
if [ "$1" == "list" ] ; then
|
|
|
|
cmd=$(echo "$1" | base64 -w 0)
|
|
echo "$cmd" | /usr/lib/qubes/qrexec-client-vm "$QUBES_PASS_DOMAIN" ruddo.PassRead
|
|
|
|
elif [ "$1" == "get" ] ; then
|
|
|
|
cmd=$(echo "$1" | base64 -w 0)
|
|
key=$(echo "$2" | base64 -w 0)
|
|
echo "$cmd
|
|
$key" | /usr/lib/qubes/qrexec-client-vm "$QUBES_PASS_DOMAIN" ruddo.PassRead
|
|
|
|
elif [ "$1" == "get-or-generate" ] ; then
|
|
cmd=$(echo "$1" | base64 -w 0)
|
|
key=$(echo "$2" | base64 -w 0)
|
|
autogen=$(echo 1 | base64 -w 0)
|
|
echo "$cmd
|
|
$key
|
|
$autogen" | /usr/lib/qubes/qrexec-client-vm "$QUBES_PASS_DOMAIN" ruddo.PassManage
|
|
|
|
elif [ "$1" == "insert" ] ; then
|
|
|
|
cmd=$(echo "$1" | base64 -w 0)
|
|
key=$(echo "$2" | base64 -w 0)
|
|
multiline=$(echo "$3" | base64 -w 0)
|
|
contents=$(echo "$4" | base64 -w 0)
|
|
echo "$cmd
|
|
$key
|
|
$multiline
|
|
$contents" | /usr/lib/qubes/qrexec-client-vm "$QUBES_PASS_DOMAIN" ruddo.PassManage
|
|
|
|
elif [ "$1" == "init" ] ; then
|
|
|
|
cmd=$(echo "$1" | base64 -w 0)
|
|
echo "$cmd" | /usr/lib/qubes/qrexec-client-vm "$QUBES_PASS_DOMAIN" ruddo.PassManage
|
|
|
|
fi
|