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

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

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


From: Fernando Mercês
Subject: Re: [shell-script-pt] Usando yad como interface para o pass
Date: Tue, 23 Jun 2020 23:50:10 -0300

Parabéns pela solução, Ulisses. Acho muito legal essa vibe de "se não tem, eu vou lá e crio!" hehe. :-)

Não tenho o yad aqui (infelizmente não tem no macOS ainda) mas como recomendações gerais eu acho que você poderia evitar variáveis com tudo maiúsculo, pois vai que acerta uma de ambiente né? rsrs

Outra coisa: eu li em algum lugar que o [ tá obsoleto e devemos usar o [[ sempre. Não lembro da referência agora, mas vale pesquisar.

Ah, você pode substituir:

if [ isso ]; then aquilo; fi

Por:

[[ isso ]] && aquilo

Em prol da legibilidade, também mudaria while :; pra while true; 🙂

Abraços!


On Tue, Jun 23, 2020 at 7:40 PM Ulisses Alves por (shell-script-pt) <shell-script-pt@nongnu.org> wrote:
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.

_______________________________________________
Lista brasileira de usuários de shell script
Endereço de e-mail da lista: shell-script-pt@nongnu.org
Para se inscrever ou desinscrever acesse: https://lists.nongnu.org/mailman/listinfo/shell-script-pt
Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse https://lists.nongnu.org/archive/html/shell-script-pt/

NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize somente esta.

reply via email to

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