大家好!今天,我非常激动地向大家介绍我的一个新的开源项目: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 账户下。

四、它是如何工作的?

为了打消你对安全的疑虑,让我们快速看一下它的工作流程:

  1. 请求: 你的浏览器请求访问 Worker 的 URL。
  2. 响应: Cloudflare Workers 将一个包含了所有逻辑(HTML, CSS, JS)的单一文件发送给你的浏览器。
  3. 本地计算: 页面加载后,所有操作都在你的浏览器沙箱中进行。当你输入密钥并点击生成时,是页面内的 JavaScript 脚本在调用你电脑的计算资源来生成密码。
  4. 显示结果: 计算结果直接呈现在你眼前。

在这个过程中,你的密钥没有经过任何网络传输,完美地解决了信任问题。

五、立即体验并拥有它

我为你提供了多种方式来使用 Serverless TOTP。

1. 直接在线使用

最快的方式就是访问我的在线演示地址:

https://2fa.frp.gs

2. 一键部署到你自己的账户 (推荐)

点击下方按钮,你就可以拥有一个完全属于你、由你自己掌控的 TOTP 工具。

Deploy to Cloudflare Workers

整个过程会自动完成仓库克隆和 Cloudflare 的配置,非常方便。

六、未来的路与欢迎贡献

Serverless TOTP 目前已经完成了核心功能,但我希望它能变得更好。在项目的路线图上,我还计划添加:

  • 备用恢复码(Backup Codes)的支持
  • 支持更多样的加密算法(如 SHA256, SHA512)
  • 更美观和可定制的主题

这是一个充满乐趣和意义的开源项目。如果你对 Web 安全、Serverless 或者纯粹想打磨你的 JavaScript 技能感兴趣,我非常欢迎你加入!无论是提交一个 Issue、发起一个 Pull Request,还是仅仅分享你的想法,都将是对这个项目巨大的贡献。

感谢你的阅读,希望这个小工具能为你带来便利和安心!