shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[shell-script-pt] Usando yad como interface para o pass


From: Ulisses Alves
Subject: [shell-script-pt] Usando yad como interface para o pass
Date: Tue, 23 Jun 2020 22:35:05 +0000

Olá, pessoal. 
Recentemente eu resolvi trocar de navegador e adotei o Ópera.
Além disso, eu usava também até pouco tempo o lastpass como gerenciador de senhas.
Tomei conhecimento do gerenciador chamado pass, que como diz no próprio site deles, é o gerenciador de senhas padrão do Unix.
Após implementar o seu uso no meu computador pessoal e gostar muito, percebi que precisaria também de uma extensão para o Ópera, 
pra que fosse possível buscar e auto-completar os campos de login dos sites que visito. Para a minha surpresa, vi que não existe uma extensão para o pass no Ópera (até onde pesquisei).

Enfim, após isso e aproveitando todo o conhecimento que estou adquirindo no curso de shell do prof. Júlio, resolvi tentar implementar uma interface gráfica bem simples que me possibilite buscar senhas no meu cofre e copiá-las para o clipboard.
Segue então o script que consegui fazer. Obviamente, qualquer sugestão de correção e/ou melhoria é mais que bem vinda.

##################################################################################################

#!/bin/bash

while :; do

SEARCH=$(yad --title "Password search" --entry --entry-label="Search: " \
--button=gtk-cancel:1 --button=gtk-ok:0)

RESULTS=$(find ~/.password-store/ ! -path *.git/* -type f -iname *$SEARCH*)

if [ "$?" == "1" ]; then
exit 0
fi

if [ -z "$RESULTS" ]; then
yad --title "Password search" --text "No matches found!"
exit 0
fi

GPGFILE=$(yad --title "Password search" --button="Back to search":1 --button=gtk-ok:0 \
--width 300 --height=400 --list --column=Password <<< $(basename -s .gpg -a $RESULTS))

if [ "$?" == "1" ]; then
continue
fi

break
done

if [ -z "$GPGFILE" ]; then
exit 0
fi

SITEPATH=$(grep -oE "[[:alnum:]_-]+/$GPGFILE" <<< "$RESULTS")
CONTENTS=$(pass "$SITEPATH")

yad --title "Password search" --button="Copy password to clipboard":1 \
--button="Exit" --height=300 --width 500 --text-info <<< "$CONTENTS"

if [ "$?" == "1" ]; then
pass -c "$SITEPATH"
fi

##################################################################################################


Respeitosamente,

Ulisses Alves
"UOLAYFIRERTRUAESBEILHIDUBGSCNOKLYFUROUSOECYACSSSTUSNOIKHOYLHOSAUEBMLOEC"
image

Sent with ProtonMail Secure Email.

Attachment: publickey - ulisses.alves@protonmail.com - 0x61D9538D.asc
Description: application/pgp-keys

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]