Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
hotpot — 一个简单且安全的命令行工具,用于管理基于TOTP的两因素认证码。 | Kitploit
工具/GitHubGitHub/yen223/hotpot
身份验证与授权通用工具密码破解加密/解密工具隐私保护身份验证
GitHubyen223/hotpot

hotpot

一个简单且安全的命令行工具,用于管理基于TOTP的两因素认证码。

查看仓库
143个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Hotpot 🍲

Recording of hotpot in action

命令行版的 Authy / Google Authenticator。

Hotpot 是一个简单安全的命令行工具,用于管理基于 TOTP 的双因素认证码。它安全地将你的 2FA 密钥存储在系统钥匙环中,并在需要时生成基于时间的一次性密码。

采用 Rust 构建,兼具安全性、性能和可靠性。

特性

  • 安全存储:使用系统钥匙环(Keychain/libsecret/Credential Manager)
  • TOTP (RFC 6238) 码生成,支持可自定义算法(SHA1/SHA256/SHA512)
  • 交互式仪表盘:实时显示验证码、进度条和模糊搜索
  • 一键复制:点击即复制到剪贴板并带有视觉反馈
  • QR 码导出:方便在移动应用上设置
  • 截屏捕获(macOS):用于导入 QR 码
  • 快速响应的终端 UI:流畅的动画效果
  • 模糊搜索:快速查找账户

安装

克隆该仓库,然后运行

root@kitploit:~
cargo install --path . --locked

使用

添加新账户

root@kitploit:~
hotpot add <account-name>

系统会提示你安全地输入 Base32 密钥。

示例:

root@kitploit:~
hotpot add github
Enter the Base32 secret: ********

从 QR 码图片添加(macOS)

root@kitploit:~
hotpot --load-image /path/to/qr-code.png

或者,在仪表盘中按下 [A] 后再按 [S],使用交互式截屏捕获功能。

交互式仪表盘

直接运行 hotpot 即可打开交互式仪表盘,在其中你可以:

  • 实时查看所有 TOTP 码:带有平滑进度条
  • 导航:使用上下箭头键
  • 复制验证码:按 Enter 键(会显示“已复制”指示)
  • 搜索:按 [F] 并输入内容(模糊匹配)
  • 添加账户:按 [A],然后选择 [M] 手动或 [S] 截屏(macOS)
  • 删除账户:按 [D](需确认)
  • 导出 QR 码:按 [E] 以便在移动应用上设置
  • 退出:按 'q'、'Esc' 或 Ctrl+C

仪表盘每 250ms 自动刷新,并能优雅地适应终端大小变化。

生成单个验证码

root@kitploit:~
hotpot code <account-name>

示例:

root@kitploit:~
hotpot code github

删除账户

root@kitploit:~
hotpot delete <account-name>

导出 QR 码

你可以通过仪表盘(按 [E])或使用以下命令导出账户的 QR 码:

root@kitploit:~
hotpot export-qr --name <account-name>

这会在终端显示一个 QR 码,可供身份验证应用扫描。

文件备份存储模式

当需要便携配置或钥匙环访问不可用时,可以使用 --file 标志将账户存储在 JSON 文件中,而非安全的钥匙环中。

root@kitploit:~
# 使用文件存储的交互式仪表盘
hotpot --file ~/.config/hotpot/accounts.json

# 向文件添加账户
hotpot --file ./my-accounts.json add work-account

# 从文件存储的账户生成验证码
hotpot --file ./my-accounts.json code work-account

# 从文件删除账户
hotpot --file ./my-accounts.json delete work-account

文件备份存储的适用场景:

  • 便携配置:将账户存储在一个可同步或备份的文件中
  • 服务器环境:当钥匙环服务不可用时使用
  • 开发/测试:将测试账户与安全存储隔离
  • 团队共享:共享账户配置(需确保文件安全)

安全说明:文件备份存储以明文 JSON 存储密钥。请确保文件权限为 600,并在敏感环境中考虑加密文件。

安全性

默认安全存储: Hotpot 将所有密钥安全地存储在系统钥匙环中:

  • macOS:Keychain
  • Linux:Secret Service API/libsecret
  • Windows:Windows Credential Manager

文件备份存储: 使用 --file 标志时,账户存储在指定路径的 JSON 文件中。文件会以适当权限(600)创建,目录也会自动按需创建。该模式适用于便携配置或钥匙环访问不可用的情况。

开发

从源码构建

  1. 确保已安装 Rust
  2. 克隆仓库
  3. 运行:
root@kitploit:~
cargo build --release

编译后的二进制文件位于 target/release/hotpot

运行测试

该项目包含覆盖核心功能的全面单元测试:

root@kitploit:~
cargo test

测试覆盖范围包括:

  • TOTP 码生成与验证
  • 账户过滤与搜索逻辑
  • QR 码解析与验证
  • 仪表盘状态管理
  • 输入处理与模式切换

开发命令

root@kitploit:~
# 以开发模式运行
cargo run

# 带特定参数运行
cargo run -- add github

# 使用文件存储测试
cargo run -- --file test-accounts.json add test-account

# 检查代码质量
cargo clippy

# 快速编译检查
cargo check

架构

Hotpot 采用模块化架构,注重安全性和可维护性:

  • main.rs:CLI 接口与存储管理
  • totp.rs:TOTP 算法实现(RFC 6238),包含全面测试
  • dashboard.rs:交互式终端 UI,实时更新并带有大量单元测试
  • lib.rs:通用错误处理与共享工具

关键依赖

  • 安全与存储:keyring, base32, hmac, sha1/sha2
  • CLI 与终端:clap, crossterm, rpassword
  • 交互特性:fuzzy-matcher, qrcode, arboard
  • 数据处理:serde, serde_json, url, urlencoding
  • 图像处理:image, (QR 码检测)

许可证

MIT 许可证

贡献

欢迎任何形式的贡献!请随时提交拉取请求。

代码质量

该项目保持较高的代码质量标准:

  • 全面的单元测试(运行 cargo test)
  • Clippy 代码检查(运行 cargo clippy)
  • 功能与模块均有良好文档
  • 安全的编码实践与完善的错误处理

近期改进

  • 增强仪表盘:重构 UI 代码,提高可维护性和性能
  • 全面测试:新增 25 个以上单元测试覆盖核心功能
  • 用户体验优化:复制验证码时显示视觉反馈,流畅的进度条
  • 代码质量:提取辅助函数,减少重复代码
下载工具
rqrr