
Gestore di password minimale basato su terminale
Gestore di password minimalista per terminale.
Argon2id per la derivazione delle chiavi e crittografia autenticata con libsodium.Scarica l'AppImage da releases ed esegui:
chmod +x klip-x86_64.appimage
./klip-x86_64.appimage
Dipendenze:
Installazione:
git clone https://github.com/vid4l-07/Klip.git
cd klip
mkdir build
cd build
cmake ..
make
sudo make install
| Tasto | Azione |
|---|---|
q | esci |
| Tasto | Azione |
|---|---|
l / Destra | sposta a destra |
h / Sinistra | sposta a sinistra |
Invio | apre il database selezionato |
o | apre/crea un nuovo database |
x | chiude il database selezionato |
| Tasto | Azione |
|---|---|
Esc | focus sulla barra schede |
j / Giù | sposta in basso |
k / Su | sposta in alto |
Invio | seleziona/copia |
n | nuova credenziale |
f | filtra per sito |
e | modifica credenziale |
d | elimina credenziale |
g | genera password sicura |
Quando una credenziale è selezionata:
Invio su Utente copia il nome utente.Invio su Password copia la password.Quando scegli Apri, appare un popup di testo. All'interno del popup puoi premere Tab per navigare tra i database aperti di recente.
Puoi inserire il percorso assoluto o relativo del database. Se il file non esiste, verrà creato se il percorso specificato è valido.
I percorsi dei file recenti sono memorizzati in $HOME/.config/klip/recents.
Tutta la logica di crittografia si trova in src/Security.cpp
crypto_pwhash di libsodium, basato su Argon2id in modalità INTERACTIVE (parametri di costo regolabili contro attacchi brute-force).crypto_secretbox_easy con la chiave derivata e un nonce casuale.[sale][nonce][testo cifrato]
crypto_secretbox_open_easy.I contributi sono sempre benvenuti. Se trovi un bug o vuoi aiutare con nuove funzionalità, puoi:
Ho bisogno di aiuto con il rilevamento dei tasti freccia:
Al momento, i tasti normali vengono rilevati correttamente, ma i tasti freccia vengono sempre interpretati come una singola pressione del tasto ESC invece della sequenza di escape completa.
Se hai esperienza con l'input da terminale (termios, sequenze di escape ANSI, ecc.), apprezzerei molto il tuo aiuto.
La logica per leggere le pressioni dei tasti si trova in src/term/term.cpp, in particolare nella funzione read_char ed è utilizzata dalla classe App nella funzione start in src/ui/app/app.cpp.
Se desideri contribuire, cerca di limitare le modifiche alla funzione read_char o alla classe Terminal, in modo che il resto del progetto non debba essere modificato.