网页版Google身份验证器
Gauth是什么?
使用Google身份验证器的你是否有时候担心手机丢失了,两步验证码找不回来?
有时候忘了带手机,不想拿手机出来,但是又需要查看自己的两步验证码?
使用Gauth即可解决你的问题!
标题党不好做啊
这个程序的目的就是解决不想拿出手机,又想看自己的两步验证码的问题。
鸣谢:https://github.com/gbraadnl/gauth
使用教程
必要准备:
一台VPS
一个域名(必须)
python3
前置准备:
首先clone代码
1 | git clone https://github.com/WhyFear/MyGAuth |
安装依赖包
1 | cd MyGAuth |
将.env_template名称改为.env
1 | mv .env_template .env |
申请reCAPTCHA keys
前往官网申请 :
- 标签随便填写,可以写一个方便记忆的。
- reCAPTCHA 类型选择V2,同时勾选“进行人机身份验证”复选框。
- 域名填写根域名,不要填入子域名,同时添加一个本地地址,方便后期在本地测试。
将上面的密钥填写到.env文件的RECAPTCHA_PUBLIC_KEY一项中,下面的密钥填写到RECAPTCHA_PRIVATE_KEY一项中。注意不要填反了。
其他.env项的填写
APP_SECRET_KEY可以随便填写,建议填写一个复杂的。这个不用记忆,只是为了加盐保证安全。
USER_ID 填写你的登录时用户名,比如pakro
USERNAME目前还没有作用,可以填写和USER_ID 一样
PASSWORD 密码,明文即可。
gauth 导出key
如果你使用的身份验证器可以导出key那么可以直接跳过到下一步,如果没有的话,请跟着我做。
ios设备
不好意思,目前除了越狱没有办法将你的key导出。可以使用app的导出功能,然后使用安卓手机扫码导入,然后跟着安卓的操作走。
安卓设备
首先确保已经开启了开发者模式,并打开了USB调试
adb shell 连接手机 ,输入:
1 | adb pull /data/data/com.google.android.apps.authenticator2/databases/databases |
linux设备
1 | sqlite3 ./databases "select * from accounts" > google_authenticator_backup.txt |
数据格式如下:
1 | 1|Google:[email protected]|XXXXXXXXXXXXXXXXXXXXXXXX|0|0|0|| |
那一大堆的X就是我们需要的key了。
Windows设备
下载DB Browser for SQLite或者可以使用其他能够查看sqlite数据库的软件,打开databases文件即可。
MyGAuth key的导入
打开static/js/gauth.js文件,转到132行
按照addAccount(‘Google’, ‘XXXXXXX’);的格式,一行一行添加内容。
测试
此时可以在本地测试或者直接服务器启动服务看看工作是否正常了。
1 | python3 app.py |
部署
首先获取几个信息
1 | 在MyGAuth文件夹中输入如下命令 |
1 | 输入如下命令找到gunicorn安装位置 |
修改下面的两个内容:/var/www/gauth/ 、/usr/local/python3/bin/gunicorn、48224
48224可以改为自己喜欢的端口,如果没有前置代理,可以设置为80。但是我不建议这样做。
1 | nano /etc/systemd/system/gauth.service |
保存退出
1 | systemctl daemon-reload |
caddy设置
如果你使用nginx可以参考其他文章的配置方法,下面给出我caddy1的配置方法
1 | https://your.website.name { |
到此,设置完毕,可以开始使用了。