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

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

但是想找一个简单好用的密码本却不是什么容易的事,常见的要么是在线服务,需要收费,还时不时传出个密码大规模泄露的问题,就算服务一直稳如老狗,密码一直存在别人机器里总有点不舒服。至于免费的软件,需要费很多功夫搭工具链,搞密码文件多地同步。还得安装软件,还说不定只有桌面端没有手机端,还有 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 全栈的同学也可以去瞅瞅,大家相互交流。

相关推荐
tonngw38 分钟前
【Mac 从 0 到 1 保姆级配置教程 16】- Docker 快速安装配置、常用命令以及实际项目演示
macos·docker·容器·开源·github·docker desktop·orbstack
你的人类朋友4 小时前
✍️Node.js CMS框架概述:Directus与Strapi详解
javascript·后端·node.js
DisonTangor5 小时前
【小红书拥抱开源】小红书开源大规模混合专家模型——dots.llm1
人工智能·计算机视觉·开源·aigc
算家计算8 小时前
字节开源代码模型——Seed-Coder 本地部署教程,模型自驱动数据筛选,让每行代码都精准落位!
人工智能·开源
smallzip9 小时前
node大文件拷贝优化(显示进度)
前端·性能优化·node.js
蓝胖子的多啦A梦10 小时前
npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚
前端·npm·node.js
Spider_Man11 小时前
“AI查用户”也能这么简单?手把手带你用Node.js+前端玩转DeepSeek!
javascript·人工智能·node.js
我这里是好的呀12 小时前
全栈开发个人博客12.嵌套评论设计
前端·全栈
我这里是好的呀12 小时前
全栈开发个人博客13.AI聊天设计
前端·全栈