|
|
@@ -9,6 +9,28 @@ function cleanup |
|
|
|
rm "$TMP_OUT" 2>&1 > /dev/null |
|
|
|
} |
|
|
|
|
|
|
|
function getpass |
|
|
|
{ |
|
|
|
echo -n $(cat ~/.mpassword) |
|
|
|
} |
|
|
|
|
|
|
|
function tryerr |
|
|
|
{ |
|
|
|
if [ "$?" != "0" ]; then |
|
|
|
merror "An error occurred." |
|
|
|
cleanup |
|
|
|
exit 1 |
|
|
|
fi |
|
|
|
|
|
|
|
if [ "$1" != "" ]; then |
|
|
|
if [ "$1" != "0" ]; then |
|
|
|
merror "An error occurred." "$1" |
|
|
|
cleanup |
|
|
|
exit 1 |
|
|
|
fi |
|
|
|
fi |
|
|
|
} |
|
|
|
|
|
|
|
# Create password: mpass create <name> [chars] |
|
|
|
if [ "$1" = "create" ]; then |
|
|
|
if [ "$2" = "" ]; then |
|
|
@@ -28,22 +50,20 @@ if [ "$1" = "create" ]; then |
|
|
|
echo "$chars" > "$TMP_IN" |
|
|
|
echo "$chars" | mclip |
|
|
|
|
|
|
|
openssl enc -aes-256-cbc -salt -a -in "$TMP_IN" -out "$TMP_OUT" -pass "file:$HOME/.mpassword" |
|
|
|
getpass | openssl enc -aes-256-cbc -a -in "$TMP_IN" -out "$TMP_OUT" -pass stdin |
|
|
|
tryerr |
|
|
|
|
|
|
|
enc=$(cat "$TMP_OUT") |
|
|
|
|
|
|
|
passsum=$(shasum -a 512 < ~/.mpassword | cut -d ' ' -f 1) |
|
|
|
passsum=$(getpass | shasum -a 512 | cut -d ' ' -f 1) |
|
|
|
|
|
|
|
code=$(curl -s -X POST -d "$enc" "http://pass.mort.coffee/put/$2/$passsum") |
|
|
|
|
|
|
|
if [ "$code" != "200" ]; then |
|
|
|
echo "Error: $code" |
|
|
|
cleanup |
|
|
|
exit 1 |
|
|
|
fi |
|
|
|
tryerr "$code" |
|
|
|
|
|
|
|
echo "$chars" |
|
|
|
|
|
|
|
mnotify "Password created" "$2" |
|
|
|
|
|
|
|
# Get password: mpass get <name> |
|
|
|
elif [ "$1" = "get" ]; then |
|
|
|
if [ "$2" = "" ]; then |
|
|
@@ -52,12 +72,23 @@ elif [ "$1" = "get" ]; then |
|
|
|
exit 1 |
|
|
|
fi |
|
|
|
|
|
|
|
curl -s "http://pass.mort.coffee/get/$2" > $TMP_IN |
|
|
|
curl -s "http://pass.mort.coffee/get/$2" > "$TMP_IN" |
|
|
|
tryerr |
|
|
|
if [ ! -s "$TMP_IN" ]; then |
|
|
|
tryerr "Pasword doesn't exist." |
|
|
|
fi |
|
|
|
|
|
|
|
echo -n "$enc" >> "$TMP_IN" |
|
|
|
|
|
|
|
getpass | openssl enc -aes-256-cbc -a -d -in "$TMP_IN" -out "$TMP_OUT" -pass stdin |
|
|
|
tryerr |
|
|
|
|
|
|
|
openssl enc -aes-256-cbc -d -a -in "$TMP_IN" -out "$TMP_OUT" -pass "file:$HOME/.mpassword" |
|
|
|
chars=$(cat "$TMP_OUT") |
|
|
|
|
|
|
|
echo -n "$chars" | mclip |
|
|
|
echo "$chars" |
|
|
|
|
|
|
|
echo $(cat "$TMP_OUT") | mclip |
|
|
|
echo $(cat "$TMP_OUT") |
|
|
|
mnotify "Password received" "$2" |
|
|
|
fi |
|
|
|
|
|
|
|
cleanup |