受够了广告和收费,我写了个一个开源密码本

密码本可以说是一个非常常见的需求了。

但是想找一个简单好用的密码本却不是什么容易的事,常见的要么是在线服务,需要收费,还时不时传出个密码大规模泄露的问题,就算服务一直稳如老狗,密码一直存在别人机器里总有点不舒服。至于免费的软件,需要费很多功夫搭工具链,搞密码文件多地同步。还得安装软件,还说不定只有桌面端没有手机端,还有 UI 方面,高情商的说是"显得不那么现代"。

说实话,我很烦。

我的密码也不是什么值钱玩意,几张卡里加起来也没几十块钱。还有什么公司邮箱,公司 vpn 这种几百年不见一次的密码,我的要求不高,就是想找个地方能存一下,需要的时候能找到,甚至都不强求一定要够安全。只要不是写到别人脸上那种我都可以。

但是事与愿违,我真没找到,那还说什么,自己动手呗。所以这个项目诞生了:

HoPGoldy/cube-password: 一个简单扁平的桌面 / 移动端密码本。 (github.com)

长啥样?

应用对桌面端和移动端都进行了适配,用起来也算是方便:

创建密码时不仅支持生成随机密码,还可以随机生成用户名,我非常喜欢这个功能,特别是注册那种无关紧要的网站时必须要填用户名的时候。

怎么用?

很简单,首先你得有一台装好了 docker 的服务器,然后敲一下命令:

bash 复制代码
docker run -d -p 3701:3700 -v ~/cube-password-storage:/app hopgoldy/cube-password

可以了,之后应用就会运行在 3701 端口上,并把数据保存在 ~/cube-password-storage。啥配置都不用,跑起来内存占用也就四五十M,非常令人舒爽。

如果你想直接放在互联网上用,可以,这东西自带加密让你即使裸跑在 HTTP 上也能保证不被别人扒裤子。但是毕竟是 web 应用,中间人 js 注入之类的问题确实不好防,如果可以的话非常推荐上个 HTTPS,安全感一下子就起来了。

cube-password 本身不支持 https 传输,推荐用前置 nginx 来实现这个需求,模板 nginx 配置文件

之后直接访问即可,首次打开会让你设置一个主密码,千万别忘了!最好写个纸条塞到你钱包里。然后就可以用了,登录后半小时过期,直接关页面也过期。桌面端移动端通用,功能没啥特别的大家摸索一下就会。

安全么?

虽然我对安全的要求并不高,但是既然开源出来的,咱的标准还是要高一点的,这个项目都用到了哪些安全相关的技术呢:

  • sha512、sha256、aes、128 位 nanoid、加盐
  • 挑战码鉴权
  • 全局登录重试限制
  • 防重放攻击检查
  • 异地登陆 / ip 地址检查
  • totp 二步验证
  • 分组加密
  • ...

完整的安全说明可以看 这里

说实话,我的密码学研究的也一般,搜肠刮肚也就能拿出来这些个方案。不过我觉得也是够用了,起码你让我来攻破一下这个应用我还真做不到。别的不说,密码你得记牢一点,忘了之后数据说找不回来那是真找不回来。

当然你要说 ddos 淹一下我也没辙。但是咱往日无怨近日无仇的,nginx 搞个复杂点的路径别人都扫不到这个网站对吧,犯不着担心这个。

用的什么技术栈?

项目采用了 nodejs 全栈,前端 react + antd,后端 koa + sqlit,完全由 ts 开发。后端用函数式实现了一个简单的依赖注入框架。注释也算比较全,想要上手 node 全栈的同学也可以去瞅瞅,大家相互交流。

相关推荐
whhhhhhhhhw3 小时前
Node.js核心API(fs篇)
node.js
聪聪的学习笔记3 小时前
【1】确认安装 Node.js 和 npm版本号
前端·npm·node.js
zkmall5 小时前
企业电商解决方案哪家好?ZKmall模块商城全渠道支持 + 定制化服务更省心
大数据·运维·重构·架构·开源
GDAL11 小时前
Node.js v22.5+ 官方 SQLite 模块全解析:从入门到实战
数据库·sqlite·node.js
一只叫煤球的猫13 小时前
普通程序员,从开发到管理岗,为什么我越升职越痛苦?
前端·后端·全栈
青阳流月15 小时前
1.vue权衡的艺术
前端·vue.js·开源
RunsenLIu15 小时前
基于Vue.js + Node.js + MySQL实现的图书销售管理系统
vue.js·mysql·node.js
小小鱼儿小小林15 小时前
免费一键自动化申请、续期、部署、监控所有 SSL/TLS 证书,ALLinSSL开源免费的 SSL 证书自动化管理平台
开源·自动化·ssl
三花AI16 小时前
阿里开源 OmniAvatar:音频驱动数字人模型
开源·资讯
说私域17 小时前
基于开源AI智能客服、AI智能名片与S2B2C商城小程序的微商服务质量提升路径研究
人工智能·小程序·开源