再也不想被“验证码已过期”暴击?开源自建一个 2FA 管家:2FAuth
你有没有过这种经历:正要用 GitHub 提交代码,或者登录公司的 VPN,系统让你输入二次验证码。于是你手忙脚乱地解锁手机,打开 App,结果眼睁睁看着那个 6 位数字刚好跳到下一组,留下你对着“验证失败”的提示独自凌乱。
或者另一种常见惨剧:换了手机忘记迁移数据,所有二次验证令牌全丢了,只能一个个去找回——那份酸爽,懂的都懂。
是时候把 2FA 的控制权夺回来了。
它解决了什么痛点?
简单说,2FAuth 是一个让你“自己说了算”的二次验证管理器。
我们离不开 2FA(双因素认证),因为光靠密码实在防不住撞库和钓鱼。GitHub 甚至强制要求开启 2FA,不开连代码都推不上去。但问题来了:大多数人用的 Google Authenticator 或 Authy,要么换手机迁移麻烦,要么数据存在别人服务器上。
2FAuth 给出的解法很干脆:把它部署在你自己的服务器上,从任何浏览器访问,完全自托管。 数据归你管,没有第三方能看到你的令牌。对重视隐私的开发者、需要团队共享验证码的小公司、甚至币圈老哥来说,这一点就足够让人心动。
核心特点
如果给 2FAuth 写一份简历,大概长这样:
- 自托管,数据主权在你手——用 AGPL-3.0 开源协议发布,代码随便看随便审。不用担心服务商哪天跑路,你的服务器还在它就在。
- 浏览器即客户端——不需要装任何手机 App。电脑开着浏览器就能直接复制验证码,手机也能访问网页版,真正做到“只要有网就能登录”。
- 扫二维码也能加账号——支持扫码添加,也支持手动输入密钥。从 Google Authenticator、Aegis 等迁移过来也很方便,直接导入导出。
- 分类和图标整理——账号多了不乱,自定义分类加图标,井井有条。
- 用的是标准协议——支持 TOTP 和 HOTP,跟主流服务完全兼容,GitHub、Google、微软、AWS 通通没问题。
翻译成大白话:它就是把你手机里那个验证器 App 搬到了网页上,顺便还给加了整理收纳功能。
上手试试有多简单?
如果你已经有一台运行着 Docker 的服务器或者 NAS,部署基本上就是一两条命令的事情。
以 Docker 部署为例,官方文档给出的是这样的优雅操作:
# 克隆项目代码
git clone https://github.com/Bubka/2FAuth.git
cd 2fauth
# 用 Docker Compose 一键启动
docker-compose up -d
然后浏览器打开你的服务器地址,首次访问时创建一个管理员账号就行。之后就可以开始添加你的 2FA 账号了——扫码或者手动输入密钥,点击即可复制动态码。
如果暂时没有服务器也没关系,项目有 在线 Demo 可以先去体验,觉得顺手了再考虑部署。整个部署门槛对稍微熟悉 Linux 的开发者来说,基本属于“保姆级友好”。
到底适不适合你?
说实话,如果你就一两个账号绑 2FA,且完全信任大厂的服务,那继续用 Google Authenticator 完全没问题。
但如果你:
- 管理着十几个甚至几十个 2FA 账号
- 想让团队成员共享某些验证码
- 对“数据存在别人那儿”有本能的不适感
- 或者单纯想折腾点有意思的开源项目
2FAuth 值得你一玩。
最后,如果你觉得这个项目有意思,不妨去它的GitHub仓库 https://github.com/Bubka/2FAuth 逛一圈,点个Star支持一下作者。如果你刚好会写点PHP或前端,提个PR帮它变得更好——开源世界的快乐,不就来自这种“大家一起搞事情”的氛围吗?