gui to temporarily save passwords to clipboard (paste-buffer)
Project description
What is pwclip?
pwclip has two operating modes. One is for operating on yubikeys to generate uniq responses which might be used as passwords while they can be generated by that exact yubikey only. The first yubikey found on the system and the first slot, configured with (HMAC-SHA1) challenge-response, will be used. For that function Windows is supported (see “Install” section). For now python2.7 is still also supported but might be discontinued. Therefor it should be sufficient to just apply the installation for python2 likewise.
To catch user input python’s Tk (tkinter) library is used to create a simple password input window. The appropriate response is saved for only 3 seconds by default to not have it exposed as soon as it’s used. The utility also supports the input of any integer which is then used as timer. Otherwise the environment is searched for PWCLIPTIME and uses the value of that environment variable as timer. The timer is used as time in which the received password stays in the paste buffer bevore its replaced by the previously copied value.
The second operating mode does currently only work (and so far tested) on Linux due to gpg4win limitation. It can be used to create a ~/.pwdcrypt file which is gpg encrypted text using either the value of GPGKEYS as gpg recipients if found in environment otherwise every key within the users keyring will be used. For password-list managing there is a simple “import” function. On startup it lookes for a ~/.pwd.yaml file and if found merged with the already known passwords from the ~/.passcrypt there is one. All entrys in ~/.passcrypt will be overridden by the entrys from the ~/.pwd.yaml file. As soon as it has been merged the ~/.pwd.yaml file will be deleted.
The accepted yaml format:
---
- realsystemuser:
- - somename:
- Som3(rypt!cPass - Some optional info to display as popup notification
- - othername:
- Som3other(rypt!cPass
Installation
pwclip requires the “xsel” package on Debian-Like Systems to have access to copy/paste buffers. On Windows Systems the libusb package must be integrated to python3 as “USB-Backend”.
If you are on a Debian-Like system the installation of the dependencies should work like the following (on root terminal):
$ apt-get install xsel gnupg2
Installing via pip3
You can install this package from the Python Package Index (pyPI) by running:
pip3 install pwclip
Installing from a source distribution archive
To install this package from a source distribution archive, do the following:
Extract all the files in the distribution archive to some directory on your system.
In that directory, run: python setup.py install
Usage
Although is was planed as GUI-Program it’s also possible to be executed from terminals. For Windows, Linux and OSX there is an appropriate executable packed which might be executed like the following examples will show:
Yubikey-Mode
pwclip
The PWCLIPTIME environment variable is used if found so the following command does pretty much the same:
pwclip $PWCLIPTIME
To have it wait for a specific time like 5 seconds (bevore resetting the paste buffer to the previously copied value) use the following command:
pwclip 5
GPG-Mode
pwclip -c
Alike in yubikey-mode the PWCLIPTIME variable is used as timer. If there is an environment variable called GPGKEYS it will use those keys to encrypt on changes to the password file
Change log
0.3.1 (current)
Released:
final release of pwclip with new function and documentation
0.2.6 - 0.2.8
Released: 2016-10-22
minor documentation fixes (playing around with rst formatting)
0.2.5
Released: 2016-10-22
seperated the code into submodules within lib/ to be more compliant to my usual environment
added complete new encryption mode via python3-gnupg - now it’s capable of selecting gpg-keys by GPGKEYS environment variable to encrypt ~/.passcrypt
documentation updated and cleanup on typo/irrelevant text
FIXED: issue where the gpg-agent isn’t able decrypt without passphrase/pin and clould not ask for it
Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.