OTPm

OTPm 是一款轻量、高效的命令行两步验证密码器,专注于 TOTP 动态口令的生成与管理。无需图形界面,即可快速安全地生成一次性密码,为各类平台账号提供二次身份验证保护。
支持密钥导入、多账户管理、自动刷新令牌与本地加密存储,兼顾安全与便捷,适合开发者、运维人员与注重隐私的用户在终端环境下快速使用两步验证能力。
Installation
npm install -g @spoonly/otpm
pnpm add -g @spoonly/otpm
Commands
Account Management
otpm add | a | 添加账户(手动输入 或 otpauth:// URI) |
otpm delete [account] | del | 删除账户 |
otpm rename [account] | mv | 重命名账户 |
otpm info [account] | i | 查看账户详细配置 |
OTP Generation
otpm list | ls | 列出所有账户及当前 OTP 码 |
otpm generate [account] | g | 生成指定账户的 OTP |
Backup & Restore
otpm export [file] | — | 导出账户备份(明文或加密) |
otpm import [file] | — | 从备份文件导入账户 |
Usage
添加账户
otpm add
支持两种方式:
- 手动输入:依次填写账户名、issuer(平台名)和 secret,其余参数自动使用主流默认值
- otpauth:// URI:直接粘贴扫码后的 URI 一键导入
生成 OTP
otpm generate
otpm generate "GitHub:alice@example.com"
otpm generate --copy
otpm generate --watch
列出所有账户
otpm list
otpm list --watch
备份与恢复
otpm export
otpm export my-backup.json
otpm import
otpm import my-backup.json
Security
- 本地存储文件基于机器信息派生密钥,使用 AES 加密,secret 不会明文落盘
- 加密导出使用 AES-256-CBC + scrypt 密钥派生,需要用户设置独立密码
- 导出的明文备份文件请妥善保管
Release
首次发布需手动执行 pnpm publish 在 npm 创建包,然后前往 https://www.npmjs.com/package/otpm/access 配置 GitHub Trusted Publisher。
后续发布执行 pnpm run release,GitHub Actions 会自动完成发布流程。
License
MIT License © OSpoon