/OTPClient

Highly secure and easy to use GTK+ OTP client (TOTP and HOTP)

Primary LanguageCGNU General Public License v3.0GPL-3.0

OTPClient

Coverity Scan Build Status CircleCI

Highly secure and easy to use GTK+ software for two-factor authentication that supports both Time-based One-time Passwords (TOTP) and HMAC-Based One-Time Passwords (HOTP).

Requirements

Name Min Version Suggested Min Version
GTK+ 3.18 3.22
Glib 2.48.0 2.50
jansson 2.6.0 -
libgcrypt 1.6.0 -
libzip 1.0.0 -
libpng 1.2.0 -
libcotp 1.2.1 -
zbar 0.10 0.20 (linuxtv)

Features

  • support both TOTP and HOTP
  • support setting custom digits (between 4 and 10 inclusive)
  • support setting a custom period (between 10 and 120 seconds inclusive)
  • support SHA1, SHA256 and SHA512 algorithms
  • support for Steam codes (please read THIS PAGE)
  • import encrypted Authenticator Plus backup
  • import and export encrypted andOTP backup
  • local database is encrypted using AES256-GCM
    • key is derived using PBKDF2 with SHA512 and 100k iterations
    • decrypted file is never saved (and hopefully never swapped) to disk. While the app is running, the decrypted content resides in a "secure memory" buffer allocated by Gcrypt

Wiki

For things like roadmap, screenshots, how to use OTPClient, etc, please have a lookt at the project's wiki. You'll find a lot of useful information there.

Manual installation

If OTPClient hasn't been packaged for your distro (check here) and your distro doesn't support Flatpak, then you'll have to manually compile and install OTPClient.

  1. install all the needed libraries listed under requirements
  2. clone and install OTPClient:
$ git clone https://github.com/paolostivanin/otpclient OTPClient
$ cd OTPClient
$ mkdir build && cd $_
$ cmake -DCMAKE_INSTALL_PREFIX=/usr ..
$ make
$ sudo make install

License

This software is released under the GPLv3 license. Please have a look at the LICENSE file for more details.