项目介绍

在当今数字化时代,账户安全比以往任何时候都更加重要。二步验证(2FA)作为一种有效的安全措施,能显著提高账户的安全性。今天,我很高兴向大家推荐我开发的开源项目 —— 2faWeb,一款基于Web的二步验证器应用,使用serverless技术部署在Cloudflare上。

不同于传统的2FA应用需要下载安装到手机上,2faWeb可以直接在浏览器中使用,让你随时随地都能安全便捷地获取验证码。项目地址:https://github.com/lvbyte-bot/2faWeb

✨ 主要特性

🔑 生成密码

  • 提供TOTP/HOTP安全码(一次性密码)
  • 支持多种时间间隔和算法选项

🌐 随时随地工作

  • 作为Web应用,可在任何设备上使用
  • 无需安装额外软件,打开浏览器即可使用

📱 二维码扫描

  • 支持扫描和解码二维码以添加2FA账户
  • 兼容大多数服务提供商的2FA设置流程

📋 2FA管理

  • 便捷管理您的所有2FA账户
  • 使用群组功能进行组织和分类
  • 提供搜索和筛选功能,快速找到所需账户

🔒 数据安全

  • 通过端到端加密保护您的敏感数据
  • 支持WebAuthn身份验证,可使用指纹或面部识别登录
  • 数据完全自托管,隐私得到充分保障

👥 多用户支持

  • 支持创建多个用户账户
  • 适合家庭或小团队使用

📤📥 导入/导出

  • 支持从其他2FA应用导入数据
  • 提供加密导出功能,确保数据安全

🛡️ 安全特性详解

端到端加密

所有敏感数据(如2FA密钥)在客户端加密后再存储到服务器。系统使用用户密码派生的密钥进行加密,确保即使是服务器也无法访问原始数据。这种设计理念保证了即使在云端部署的情况下,用户数据也能得到最高级别的保护。

WebAuthn认证

项目实现了WebAuthn认证标准,支持使用生物识别(如指纹、面部识别)和安全密钥进行登录。这不仅提高了安全性,还大大提升了用户体验,让登录过程更加便捷。WebAuthn遵循FIDO2标准,为用户提供了无密码认证选项。

离线支持与数据同步

2faWeb支持在离线状态下使用,并实现了数据同步机制,在网络恢复后自动同步。系统提供冲突解决策略,确保在多设备使用时数据的一致性。

数据备份与恢复

用户可以创建加密备份文件,进行选择性恢复数据,同时系统提供数据验证机制,确保备份的完整性和可靠性。

🛠️ 技术实现

2faWeb采用了现代化的技术栈:

  • 前端:React + Vite,提供高效的开发体验和优秀的用户界面
  • 后端:Cloudflare Workers (Serverless),实现无服务器部署,降低维护成本
  • 数据存储:Cloudflare KV 和 D1 (SQLite),确保数据持久化和高效查询
  • 认证:WebAuthn + 密码认证,多层次保障用户账户安全
  • 部署:Cloudflare Pages,提供全球CDN加速和自动部署功能

为什么选择2faWeb?

与传统2FA应用相比,2faWeb具有以下优势:

  1. 无需安装:作为Web应用,无需下载安装,节省设备存储空间
  2. 跨平台兼容:可在任何支持现代浏览器的设备上使用
  3. 数据同步:账户信息自动同步到云端,避免设备丢失导致的验证码丢失
  4. 开源透明:代码完全开源,安全机制可被审计,值得信赖
  5. 自托管选项:支持自托管部署,完全掌控自己的数据
  6. 现代化界面:精心设计的用户界面,使用体验流畅

使用场景

2faWeb特别适合以下用户群体:

  • 跨设备用户:经常在不同设备间切换的用户
  • 隐私关注者:对数据隐私有高要求的用户
  • 开发者和技术爱好者:喜欢尝试新技术的用户
  • 企业和团队:需要集中管理2FA的小团队

未来规划

作为一个持续发展的项目,2faWeb计划在未来添加更多功能:

  • 支持更多的2FA标准和算法
  • 增强的数据分析和安全报告功能
  • 更多自定义选项和主题支持
  • 与密码管理器的集成
  • 企业级功能支持

结语

2faWeb项目旨在提供一个安全、便捷、透明的2FA解决方案。作为开发者,我相信安全和隐私是数字时代的基本权利,希望通过这个项目为提升网络安全做出贡献。

如果你也对账户安全感兴趣,欢迎访问项目GitHub页面,尝试使用,或者参与项目开发。任何反馈和建议都将帮助我们打造更好的产品!