From ee255460498966edad197db54d4dbfdfd3dbebf9 Mon Sep 17 00:00:00 2001 From: T0MuX Date: Fri, 27 Dec 2024 06:46:07 +0100 Subject: [PATCH] +lps --- lps/lps.sh | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 lps/lps.sh diff --git a/lps/lps.sh b/lps/lps.sh new file mode 100644 index 0000000..0c2ed4b --- /dev/null +++ b/lps/lps.sh @@ -0,0 +1,50 @@ +# LASTPASS +lp_login= +color1='\e[31m' +color2='\e[32m' +color3='\e[34m' +color4='\e[33m' + +if [ "$lp_login" = "" ]; then echo "Please edit lps.sh to set your Lastpass login."; fi + +lp_check_login(){ +lpass status | grep 'Logged in' > /dev/null +if [ $? != 0 ]; then lpass login $lp_login; fi +} + +lp_color_alt(){ +case "$color" in + "$color1") color=$color2;; + "$color2") color=$color3;; + "$color3") color=$color4;; + "$color4") color=$color1;; +esac +} + +lps() { +lp_check_login +lpass ls > .lp_extract +IFS_bak=$IFS +IFS=$'\n' +declare SEARCH=($(grep -i $1 .lp_extract)) +lp_search_count=$(echo "${SEARCH[*]}" | wc -l ) +lp_search_count=$((--lp_search_count)) +color=$color1 +for i in $( seq 0 $lp_search_count ) + do + echo -e "$color$i) ${SEARCH[$i]}" + lp_color_alt + done +echo -e "\e[0m\n" +read -p "Item ? " lp_item +lp_item_id=$(echo ${SEARCH[$lp_item]} | awk -F' |]' '{printf $(NF-1)}') +lp_item_id=${lp_item_id#* } +lpass show $lp_item_id +read -p "Press enter to clip user/pass..." +lpass show $lp_item_id --username | xclip +echo "Username clipped for 4 seconds..."; sleep 4 +lpass show $lp_item_id --password | xclip +echo "Password clipped" +notify-send "Lastpass CLI" "Password clipped" +rm .lp_extract +}