đž Archived View for it.omarpolo.com âş articoli âş plass-0.1.gmi captured on 2023-09-08 at 16:06:13. Gemini links have been rewritten to link to archived content
âŹ ď¸ Previous capture (2023-01-29)
-=-=-=-=-=-=-
Molto, molto tempo fa, cosĂŹ tanto che la memoria inizia a tradirmi, mi sono arrabbiato con pass(1). Nonostante mi piaccia molto lâidea, trovo che sia poco comodo da âscriptareâ: se uso uno strumento da riga di comando *pretendo* che abbia un output strutturato in modo da poter essere ulteriormente manipolato.
Non è il caso di pass(1).
Quindi, forse anche un poâ in preda a una ricaduta della sindrome NIQ (non inventato qui), ho scritto un rimpiazzo: perl + pass = plass!
Per chi non lo conoscesse, pass è un password manager. Ha un design piuttosto carino: le password sono salvate separatamente, criptate con GPG e organizzate in un albero di file.
Il problema nel mio caso era che, dato che lâoutput dello strumento non è facilmente scriptabile (ad esempio la ricerca delle password usa tree(1) per mostrarle...) ho finito per accumulare qualche pezzettino di codice qui e lĂŹ per fare le cose manualmente, bypassando pass(1).
Alla fine ho raggruppato tutto in un unico script, ho convertito git(1) in got(1) e ho scritto plass!
Quello di cui sono particolarmente felice è il livello di minimalismo che ho raggiunto: sono partito con un set di comandi che pensavo essere âminimaleâ e sono riuscito a ridurlo strada facendo. Il set di comandi offerti da plass(1) al momento è
plass(1) in fondo è un sistema per gestire un albero di file criptati! In questâottica âplass genâ è un poâ un pesce fuor dâacqua quasi, e infatti sto pensando di ridurre ancora il set di comandi togliendolo. âplass teeâ permette di inserire una password, e quindi è facilmente possibile usarlo in combo con altri strumenti
$ generatore-di-password | plass tee www/foo | clip
ma per il momento almeno è comodo avere un comando dedicato per la generazione di password.
La maggior parte delle operazioni di plass(1) usano got(1) implicitamente per registrare i cambiamenti allâarchivio. Sapere che le password sono mantenute in un repository è piuttosto tranquillizzante: tutto lo storico è (piĂš o meno) disponibile per sempre!
Al momento plass è compatibile con pass: per migrare basta (ri)fare il checkout di ~/.password-store con got(1); per tornare indietro a pass(1) basta ri-rifare il checkout con git(1) e pass(1) continuerà a lavorare come nulla fosse successo.
In futuro però vorrei esplorare altre soluzioni per criptare le password: gpg mi sta un poâ antipatico!
$BlogIt: plass-0.1.gmi,v 1.1 2022/10/02 14:26:44 op Exp $