tristanbudd/2fa-debug-tool

GitHub: tristanbudd/2fa-debug-tool

一款基于 Next.js 的现代化应用程序,用于生成、验证和调试 TOTP 与 HOTP 双因素认证设置,支持二维码生成及特定提供商配置。

Stars: 0 | Forks: 0

2FA Debug Tool
# 2FA 调试工具 2FA Debug Tool —— 一款现代化的 Next.js 应用程序,用于生成和验证 OTP 设置(TOTP 和 HOTP),支持二维码、提供商感知选项以及专注于 QA 的测试工作流。 ![](https://img.shields.io/github/stars/tristanbudd/2fa-debug-tool.svg) ![](https://img.shields.io/github/watchers/tristanbudd/2fa-debug-tool.svg) ![](https://img.shields.io/github/license/tristanbudd/2fa-debug-tool.svg) ![](https://img.shields.io/github/issues-raw/tristanbudd/2fa-debug-tool.svg) ![](https://img.shields.io/github/issues-closed-raw/tristanbudd/2fa-debug-tool.svg) ![](https://img.shields.io/github/issues-pr-raw/tristanbudd/2fa-debug-tool.svg) ![](https://img.shields.io/github/issues-pr-closed-raw/tristanbudd/2fa-debug-tool.svg) ## 本项目简介 本仓库是一个 Next.js + TypeScript 应用程序,用于生成、显示和验证 2FA 测试设置。 主要用例: - 输入公司名称或前缀,加上标识符或后缀(例如身份验证器应用中显示的标签) - 配置特定于提供商的或自定义的 OTP 选项 - 生成用于扫描的书面设置字符串和二维码 - 测试手动 OTP 输入并接收清晰的验证反馈 - 同时验证基于时间(TOTP)和基于计数器(HOTP)的流程 ## 功能特性 - 针对 Google Authenticator、Microsoft Authenticator 和自定义模式的提供商配置文件 - 支持 TOTP 和 HOTP 两种 OTP 模式(强制执行提供商兼容性) - 可配置的算法、位数、周期和计数器(基于所选配置文件) - 生成二维码和 otpauth URI 以便进行基于扫描的设置 - 当前代码预览,带有可刷新 TOTP 窗口的倒计时 - HOTP 测试控件,包括计数器步进以及在验证成功后可选的自动递增 - 默认情况下在服务器端屏蔽密钥,并提供独立的显示/复制控件 - 用于验证和当前代码生成的密钥规范化(忽略空格/破折号) - 支持粘贴和键盘导航的分隔式 OTP 输入用户体验 - 主题切换、响应式布局和最小宽度回退状态 ## 截图 Light Mode Preview: Light Mode Preview Dark Mode Preview: Dark Mode Preview: ## 安装与项目设置 1. 克隆仓库 ``` git clone https://github.com/tristanbudd/2fa-debug-tool.git cd 2fa-debug-tool ``` 2. 安装依赖(使用 pnpm) ``` pnpm install ``` 3. 运行开发服务器 ``` pnpm dev ``` 在浏览器中打开 http://localhost:3000。 ## 脚本 ``` pnpm dev # Start Next.js in development mode pnpm build # Build for production pnpm start # Start the production server pnpm lint # Run ESLint pnpm lint:fix # Fix lint issues pnpm format # Run Prettier to format files pnpm format:check # Check formatting pnpm typecheck # Run TypeScript type checking pnpm prepare # Set up Husky git hooks ``` ## 开发说明 - 本项目使用 Next.js 16、React 19、TypeScript 5 和 Tailwind CSS。 - Prettier 配置了 Tailwind 和导入排序插件。 - Husky pre-commit hook 在提交时运行 `pnpm lint && pnpm format:check && pnpm typecheck`。 ## API 文档 - Markdown 参考:`docs/API.md` - OpenAPI 3.1 JSON:`/api/openapi.json` - 排除 `/api/og`(Open Graph 图像端点) ## 贡献指南 如果您想做出贡献,请阅读 `CONTRIBUTING.md` 并遵循以下通用准则: 1. Fork 仓库并为您的功能/修复创建一个分支。 2. 运行 `pnpm install` 并进行更改。 3. 保持提交的精简和专注;在适当的地方添加测试。 4. 确保格式化/检查在本地通过:`pnpm lint && pnpm format:check && pnpm typecheck`。 5. 打开一个 Pull Request,描述更改并关联相关问题。 ## Issue 和 PR 模板 本仓库在 `.github/ISSUE_TEMPLATE` 和 `.github/PULL_REQUEST_TEMPLATE.md` 下包含模板,以帮助规范贡献内容。 ## 安全 如果您发现安全漏洞,请开启一个私有 issue 并将其标记为敏感问题,或遵循 `SECURITY.md` 中的指引。 ## 许可证 本项目在 MIT 许可证下获得许可,详情请参阅 `LICENSE` 文件。
标签:2FA, Google Authenticator, HOTP, Microsoft Authenticator, OTP, otpauth, QA工具, QR Code, TOTP, TypeScript, 二维码, 双因素认证, 安全插件, 安全测试, 攻击性安全, 时间同步, 测试工具, 自动化攻击, 计数器, 验证码