大家好!今天,我非常激动地向大家介绍我的一个新的开源项目:Serverless TOTP。这是一个简单、快速、且将用户隐私放在首位的动态密码(TOTP)生成工具。
项目链接:
- GitHub 仓库:
https://github.com/JenkinWoo/cloudflare_TOTP
- 在线演示:
https://2fa.frp.gs
一、为什么要做这个工具?
在今天的数字世界里,两步验证(2FA)几乎成了我们保护在线账户安全的标配。我们大多数人都在手机上安装了像 Google Authenticator 或 Authy 这样的应用来生成动态密码。
但你是否遇到过这样的场景?
- 你正在一台新电脑上工作,需要登录某个服务,但手机恰巧不在身边。
- 你手头只有一个 Base32 格式的密钥,却临时找不到一个可信的应用来生成密码。
- 你尝试使用网上的某些在线 TOTP 工具,但内心总会有一个疑问:“我的密钥会被发送到他们的服务器吗?这安全吗?”
这个“信任问题”正是我开发 Serverless TOTP 的初衷。我想要一个我自己能够完全信任的工具,一个在任何有浏览器的地方都能使用,同时确保我的密钥绝对安全的工具。
二、Serverless TOTP 是什么?
简单来说,Serverless TOTP 是一个部署在 Cloudflare Workers 上的网页工具,它能根据你提供的密钥生成 TOTP 动态密码。
但它的“魔法”在于:所有的加密计算都在你的浏览器本地完成,你的密钥永远不会离开你的电脑。
三、核心亮点
🔐 隐私与安全:你的密钥,你做主
这是本项目的核心设计哲学。我们利用浏览器内置的 Web Crypto API 在客户端进行所有 HMAC 加密运算。Cloudflare Worker 的角色仅仅是向你提供这个带有计算能力的“计算器”(即那个 HTML 文件),而它本身不参与任何计算,也看不到你的任何输入。
⚡️ 全球加速,零延迟体验
由于整个应用部署在 Cloudflare 的全球边缘网络上,无论你身在何处,都能在几十毫秒内加载这个工具,体验如原生应用般流畅。
🚀 开源透明,一键部署
- 完全开源: 项目遵循 Apache 2.0 许可证,所有代码公开透明,你可以随时审查。
- 拥有你自己的版本: 你不需要信任我,因为你可以通过点击一个按钮,在几分钟内将这个工具完全相同地部署到你自己的 Cloudflare 账户下。
四、它是如何工作的?
为了打消你对安全的疑虑,让我们快速看一下它的工作流程:
- 请求: 你的浏览器请求访问 Worker 的 URL。
- 响应: Cloudflare Workers 将一个包含了所有逻辑(HTML, CSS, JS)的单一文件发送给你的浏览器。
- 本地计算: 页面加载后,所有操作都在你的浏览器沙箱中进行。当你输入密钥并点击生成时,是页面内的 JavaScript 脚本在调用你电脑的计算资源来生成密码。
- 显示结果: 计算结果直接呈现在你眼前。
在这个过程中,你的密钥没有经过任何网络传输,完美地解决了信任问题。
五、立即体验并拥有它
我为你提供了多种方式来使用 Serverless TOTP。
1. 直接在线使用
最快的方式就是访问我的在线演示地址:
https://2fa.frp.gs
2. 一键部署到你自己的账户 (推荐)
点击下方按钮,你就可以拥有一个完全属于你、由你自己掌控的 TOTP 工具。
整个过程会自动完成仓库克隆和 Cloudflare 的配置,非常方便。
六、未来的路与欢迎贡献
Serverless TOTP 目前已经完成了核心功能,但我希望它能变得更好。在项目的路线图上,我还计划添加:
- 备用恢复码(Backup Codes)的支持
- 支持更多样的加密算法(如 SHA256, SHA512)
- 更美观和可定制的主题
这是一个充满乐趣和意义的开源项目。如果你对 Web 安全、Serverless 或者纯粹想打磨你的 JavaScript 技能感兴趣,我非常欢迎你加入!无论是提交一个 Issue、发起一个 Pull Request,还是仅仅分享你的想法,都将是对这个项目巨大的贡献。
感谢你的阅读,希望这个小工具能为你带来便利和安心!