#totp #otp #client #locally #stores #encryption #account

bin+lib yatotp

Yet Another TOTP client which stores its data locally

4 releases (2 breaking)

0.3.1 Dec 19, 2021
0.3.0 Dec 19, 2021
0.2.1 Dec 19, 2021
0.2.0 Dec 16, 2021
0.1.0 Dec 15, 2021

#933 in Authentication

AGPL-3.0-or-later

35KB
623 lines

Crates.io docs.rs Workflow Status Maintenance license

yatotp

Yet Another Time-based OTP client.

It stores TOTP accounts information locally, encrypted so user can sync accounts with their own means (like cloud storage or USB storage). It means user does not need to trust one specific sync server.

In other words, the aim of this project is TOTP version of Keepass.

Install

For now, it have only command-line interface.

$ cargo install yatotp --features=cli

Usage

  • Create database file (encryption password is needed).
    $ yatotp-cli -i [database file path] create
    
  • Add database to entry interactively.
    $ yatotp-cli -i [database file path] add
    
    If you want to use base32-encoded secret key, such as gained from OpenAuth URI, add switch -e (e for Encoded) like this:
    $ yatotp-cli -i [database file path] add -e
    
  • Show TOTP value of the entry.
    $ yatotp-cli -i [database file path] show [entry name]
    
  • List entries in database.
    $ yatotp-cli -i [database file path] list
    
  • Remove the entry from database.
    $ yatotp-cli -i [database file path] remove [entry name]
    
  • Change database password to new one.
    $ yatotp-cli -i [database file path] newpass
    

Current version: 0.3.1

License: AGPL-3.0-or-later

Dependencies

~3–13MB
~132K SLoC