8 个版本 (稳定版)

1.1.0 2022年12月20日
1.0.5 2022年9月17日
1.0.2 2022年8月25日
0.1.1 2022年7月3日

#605 in 身份验证

每月21次下载

MIT 许可证

170KB
2K SLoC

TROTP

A CLI工具,用于管理TOTP账户。所有账户都存储在一个使用提供的密码加密的本地文件中。如果您不提供-p参数,它将期望在stdin上输入密码。

不提供任何参数运行trotp将运行TUI界面。

Lint and Test

安装

cargo install trotp

用法

trotp --help
trotp 1.0.5
Krakaw <41575888+Krakaw@users.noreply.github.com>
TUI TOTP generator

USAGE:
    trotp [OPTIONS] [SUBCOMMAND]

OPTIONS:
    -a, --auto-lock-key                Automatically set the table lock key
    -h, --help                         Print help information
    -p, --password <PASSWORD>          The encryption password
    -s, --sqlite-path <SQLITE_PATH>    The sqlite filename [default: .totp.sqlite3]
    -V, --version                      Print version information

SUBCOMMANDS:
    add            Add a new account
    check          Check an OTP
    delete         Delete an account
    dump           Dump the config file
    edit           Edit an existing account
    help           Print this message or the help of the given subcommand(s)
    interactive    Run in interactive mode [default]
    secret         Extract the TOTP Secret from a record
    serve          Start an HTTP Server

添加账户

trotp -p password add -a AccountName -s SecretToken -u Username -p Password123 -n Note

删除账户

trotp -p password delete -a AccountName

编辑账户

trotp -p password edit -i 1 -a NewAccountName -s NewTOTPSecret -p NewPassword -n NewNote -u NewUserName

在特定时间范围内检查OTP与密钥的匹配

trotp -p password check -t TokenSecretKey -o 123456 -s 2022-06-03T08:35:00+02:00 -r 10  

启动一个HTTP REST服务器,如果提供名称,则从您的账户中返回OTP或为提供的密钥生成一个OTP

trotp -p password serve

# Example using a secret for a once off TOTP
curl localhost:8080/JBSWY3DPEHPK3PXP
{"account_name":"Secret","code":"359962","expiry":11}

curl localhost:8080/acc
{"account_name":"Account 1","code":"783196","expiry":30}

键绑定

用户界面

全局键绑定

键绑定 动作
/ 切换到插入模式
Esc 切换到普通模式
Tab 切换密码模式
向下 选择下一个账户
向上 选择上一个账户
Enter 复制OTP或详细信息到剪贴板
Ctrl-c 退出

依赖关系

~2–22MB
~275K SLoC