GithubHelp home page GithubHelp logo

milaq / otpclient Goto Github PK

View Code? Open in Web Editor NEW

This project forked from paolostivanin/otpclient

0.0 1.0 0.0 1.39 MB

Highly secure and easy to use OTP client written in C/GTK that supports both TOTP and HOTP

License: GNU General Public License v3.0

C 95.17% CMake 4.39% Shell 0.44%

otpclient's Introduction

OTPClient

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)
cmake 3.5 -

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 and/or plain andOTP backup
  • import and export plain FreeOTPPlus backup (key URI format only)
  • import and export plain Aegis backup (plain json only)
  • 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

Testing

  • Before each release, I run PVS Studio in order to catch even more errors and/or corner cases
  • With every commit to master, OTPClient is compiled in CircleCI against different distros

Wiki

For things like roadmap, screenshots, how to use OTPClient, etc, please have a look 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.git
cd OTPClient
mkdir build && cd build
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.

otpclient's People

Contributors

paolostivanin avatar a1346054 avatar dawidd6 avatar 1peter10 avatar pabloyoyoista avatar her001 avatar franciscopombal avatar fvcr avatar maxice8 avatar michalborek avatar mpolr avatar supersandro2000 avatar simonrepp avatar tingping avatar bertob avatar glitsj16 avatar neoflexx726 avatar theo546 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.