Skip to main content
Travis state

Keyring OTP

Keyring OTP is a CLI to generate One Time Password from secrets stored in Gnome Keyring (the seahorse’s backend).

Installation

This application is properly running on debian stretch in python3 virtual environement:

$ python3 -m venv koptvenv
$ source ./kotpvenv/bin/activate

This requiere xclip on your computer to temporary put the secret in your clipboard at the end of the program the initial value is back in your clipboard:

$ apt install xclip

Install using your favorite installer. For example:

$ pip install keyring-otp

Usage

use -h to get recent help:

$ kotp -h
usage: kotp [-h] [-s SECRET] [-o] [-d DURATION] keyring key

CLI to generate One Time Password from secrets stored in Keyring (using
seahorse password manager)

positional arguments:
  keyring
  key

optional arguments:
  -h, --help            show this help message and exit
  -s SECRET, --secret SECRET
                        Force using secret from command line instead getting
                        it from the password manager. (as keyring and key are
                        mandatory set any values they will be ignored).
  -o, --output          Display output in console and in the clipboard (useful
                        if you can't install xclip).
  -d DURATION, --duration DURATION
                        How many seconds you wants the One Time Password in
                        your clipboard. Note that as time is changing, the
                        TOTP password will be updated and your clipboard will
                        be updated too!

Let’s assume I’ve a keyring called otp which contains a key called github wich contains my github otp password.

Seahorse Gnome password manager

To get the Time based OTP password in my clipboad I do:

$ kotp otp github

Here an other example by giving the OTP password value in command line:

$ kotp -s SECRETS -o -d 35 nothing real
Current TOTP 887562 at Wed Nov  8 07:48:18 2017
Current TOTP 291833 at Wed Nov  8 07:48:30 2017

Roadmap

  • make it usable as an API, API consumer may add multiple callback they should be called once OTP as benn changed (callback may be declared in entry point to let user define new callback easly), this apps should declare some default behaviours likes:

    • print in console

    • filling clipboard (require an init method and final method to set back current clipboad value)

  • Prompt to unlock keyring

  • Thinking replace -s option and open secret input to avoid le trace in use bash history

  • use python keyring to make this app portable with more password manager: GnomeKeyring (for Gnome environments) or KDEWallet (for KDE environments) or Win32CryptoRegistry (for Windows)

  • manage passman backends

  • save new secrets

Author

Changelog

0.3 (unreleased)
0.2 (2117-11-19)
  • setup travis

  • set clipboad only when TOTP has been changed

  • fix readme.rst to make cleaner on pypi

0.1 (2017-11-11)
  • Initial implementation

Metadata

Release files for keyring-otp 0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for keyring-otp 0.2
File Size Uploaded
keyring-otp-0.2.tar.gz 40.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for keyring-otp 0.2
File Interpreter ABI Platform
keyring_otp-0.2-py3-none-any.whl Python 3 none any Details

Total release size: 48.5 kB

Release files / keyring-otp-0.2.tar.gz

Download URL keyring-otp-0.2.tar.gz
Size 40.4 kB
Tags Source
SHA-256 checksum
How to use checksums
59905e4dc97e01a7996040416e7282d1bab7f5b1df405ee5cbc93d55fb8e8c64
BLAKE2b-256 checksum
How to use checksums
0317703b1727bd2d81c9e521ecbe5f90f8852cd506faad0302fa49fa349a36db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / keyring_otp-0.2-py3-none-any.whl

Download URL keyring_otp-0.2-py3-none-any.whl
Size 8.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2215e1f6916b54abbe8baa460bbd13581e8bc132645859313151d75d12bb4a00
BLAKE2b-256 checksum
How to use checksums
53dae79e1d2124a2bac0cf87579e92a2d98837764f215278d8b1557f2944379f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2 This release

2 release files

0.1

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page