From 99bf9e4cebed4e6cffec68651ba2244b4ffd7752 Mon Sep 17 00:00:00 2001 From: Elden Ivanouski Date: Thu, 6 Nov 2025 10:34:10 +0100 Subject: [PATCH] Ameliorations et ajout de suppression de fichiers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Déplacement des définitions de variables de l'email et du domaine de l'instance bitwarden en début de script pour plus de lisibilité. - Modification du test de comparaison de longueur dans la condition servant à déterminer si un token de session était bien déjà présent ou non pour une version plus optimisée proposée par shellcheck. - Ajout d'une boucle supprimant les fichiers générés par les méthodes décrites dans la documentation afin de ne laisser aucune trace après une déconnexion du terminal. - Suppression d'un echo de test dans la ligne trap kill utilisée pour supprimer les agents ssh ouverts dans des fenêtres n'existant plus. Modification également de la commande trap kill afin que la valeur de $SSH_AGENT_PID ne soit résolue qu'au moment de l'invocation de la commande et non au moment de l'enregistrement de la fonction dans l'environnement du terminal. --- bw_cli_autolog.sh | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/bw_cli_autolog.sh b/bw_cli_autolog.sh index 1822bf6..31b627f 100644 --- a/bw_cli_autolog.sh +++ b/bw_cli_autolog.sh @@ -2,10 +2,12 @@ identities_create() { # IDENTITES + Bitwarden_Email="" + Bitwarden_Server="" Inception_Detect=0 - if [ -z "${BW_Session}" ] || [ "$(echo "${BW_Session}" | wc -c)" -lt 10 ]; then - Local_Version="2.1.2" + if [ -z "${BW_Session}" ] || [ "${#BW_Session}" -lt 10 ]; then + Local_Version="2.2.3" Latest_Version=$(curl -s "https://gitea.cloudyfy.fr/Siphonight/bw-cli_autologger/src/branch/main/bw_cli_autolog.sh" | grep -m1 "Local_Version" | cut -d ';' -f 2 | cut -d '&' -f 1) if [ "${Local_Version}" != "${Latest_Version}" ]; then tput setaf 1 @@ -21,8 +23,6 @@ identities_create() { echo "Lancement du autologin (ne prenez pas en compte les tokens, ils sont gérés automatiquement)." tput sgr0 identities_destroy - Bitwarden_Email="" - Bitwarden_Server="" bw config server "${Bitwarden_Server}" # shellcheck disable=SC2155 export BW_Session="$(bw login "${Bitwarden_Email}" | tee /dev/tty | grep -m1 '==' | cut -d '"' -f 2)" @@ -66,14 +66,17 @@ identities_create() { identities_destroy() { tput setaf 4 echo "Déconnexion des identités en cours..." - tput sgr0 bw logout ssh-add -D pkill ssh-agent + echo "Suppression des fichiers générés..." + # shellcheck disable=SC2016 + grep -in 'printf "%s" "$BW_List"' "${HOME}"/.identities-loaded.sh | grep ">" | cut -d ">" -f 2 | sed -e "s,\~,${HOME},g ; s,\"\$HOME\",${HOME},g" | while IFS= read -r each; do + rm -rf "${each}" + done unset BW_Session - tput setaf 4 echo "Déconnexion des identités terminée" tput sgr0 } @@ -83,5 +86,5 @@ identities_create if [ -n "${BW_Session}" ]; then trap identities_destroy EXIT else - trap "kill $SSH_AGENT_PID && echo test" EXIT + trap 'kill $SSH_AGENT_PID' EXIT fi