mima-web

command module
v0.0.0-...-4a985ec Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 6, 2022 License: MIT Imports: 12 Imported by: 0

README

mima-web

  • A password manage using a web server.

本软件是一个有特色的密码管理器,需要由用户自行架设到一台 Linux 服务器中。 采用简单有效的 NaCl (libsodium) 加密方式(该方式以 “容易正确处理” 为最大特点), 因此可以确保加密过程得到正确处理。

自己架设密码管理软件的好处是,拥有数据的绝对控制权。

2022-02-11 更新

新增了导出数据库到 json 功能,并且导出后的数据可导入到新版 (https://github.com/ahui2016/mima), 详见后文【如何备份数据】。

指定 IP 可使用简单 PIN 密码的功能也在新版做了, mima-web 停止开发。

2021-06-04 一周年

这个 mima-web 自发布以来,已经一年了,我自己一直在使用,没啥大问题,程序很稳定。

老实说,不算很好用,但勉强够用。后续打算增加功能:指定 IP 可使用简单 PIN 密码。

2020-06-07 重要更新

前端界面使用 Bootstrap 重写,好看了很多。

Install

  1. git clone https://github.com/ahui2016/mima-web.git
  2. mkdir ~/MimaWebDB
  3. cd mima-web && go build
  4. go run cmd/create-account.go -password yourpassword
  5. ./mima-web

Done.

原生代码

  • 后端采用 Go 语言,未使用框架,由标准库搭建
  • 不使用数据库,既免除了数据库相关设置的麻烦,又能减轻服务器负担 (不使用 sqlite, 因此编译速度不会被 cgo 拖慢)
  • 前端没有 React、Vue,只使用原生 JS 和 Bootstrap
  • 前后端分离,前端可根据个人需要用各种框架/库改写,不需要修改后端

解决什么问题

我有一台服务器,我想在上面安装一个密码管理工具,我希望它小巧,占用资源少, 随时可以访问,我不需要指纹解锁、自动填写等的高级功能,希望它是简单的, 使用起来的 “手感” 接近命令行。

比如,假设有一个程序叫做 mypass,在命令行执行 mypass v2 就能复制我在 v2ex.com 的用户名到剪贴板,执行 mypass -p v2 就能复制密码到剪贴板。 (其中 v2 是 v2ex.com 的别名,由用户设定)

但是为了方便随时随地使用,显然做成一个网站比命令行更合适,因此我做了一个简单的网站, 并且让它的使用 “手感” 接近命令行。

命令行手感

  • 打开网站,只有一个密码框,别的啥都没有,非常简洁。
  • 输入密码进去后,只有一个搜索框。
  • 搜索框只能搜索别名,只能精确搜索,并且区分大小写。

别名

  • 别名 (Alias) 是本软件的特色功能
  • 建议设定尽量简短的别名,比如:
    • 用 v2 表示 v2ex.com
    • 用 w 或 vx 表示微信
    • 用 jd 表示京东
使用别名有三大好处
1. 直接得出想要的精确条目,就像命令行一样精确,很爽
2. 可以代替顶置功能,并且比顶置功能好用很多
  • 使用普通密码管理软件,当你记录的条目越来越多,你会希望顶置一些重要或常用的条目
  • 但顶置的条目会越来越多,逐渐失去顶置的意义
  • 于是只好从一堆顶置条目中忍痛取消一些,这个过程会增加思维负担
  • 另外,你可能不想让别人知道你上某些网站,因此使用密码管理软件时,你需要躲避旁人的目光(即使密码已隐藏,但你连网站名字都不想让人看到)
  • 只要使用别名,上述问题全部解决
3. 轻松支持多密码
  • 比如一个网站你有登录密码、支付密码、两部验证密码等
  • 一般密码管理软件可能不支持这种情况
  • 使用别名,比如一个网站有两个密码,那就新建两个条目,然后设定相同的别名即可
  • 比如我自己的真实使用案例,输入 jd 即可得到一个列表,共两个条目,一是登录密码,一是支付密码。

历史记录功能

每次修改,不管修改了用户名、密码、标题还是备注,一律保留历史记录。 因此,可以尽管放心修改,绝对不用担心覆盖旧信息。

Requirement

安装和初始设置本软件,你需要具备:

  • 一台 Linux 服务器
  • 在服务器上架设网站的基础知识
  • Go 语言基础知识(入门级知识即可)
  • 最好知道 Nginx 的基本使用方法(非必须)

本地版

  • 如果不想架设到服务器,其实也可以在本地使用,通过 localhost 访问。

注意事项

  • 由于本软件采用网站的形式,通过浏览器访问,因此,为了提高安全性,避免浏览器缓存, 请使用浏览器的无痕模式 (incognito mode)。
  • 同样由于是网站,实际使用时需要配置 https 提高安全性。

FAQ

如何修改主密码
  1. cd mima-web
  2. go run cmd/change-password -oldPass 当前密码 -newPass 新密码
  3. killall mima-web
  4. ./mima-web
如何备份数据

请在浏览器地址栏手动输入 (其中 example.com 改为你的域名)

example.com/download

在该页面可下载已加密的备份文件,也可下载已解密的 json 文件。其中 json 文件可导入到新版 (在新版的 add.html 页面顶部可找到 Import 页面的连接)。

免责声明

我已尽自己的能力最大程度地确保本软件的安全性 (因为我自己就是本软件的深度用户), 用户可免费使用本软件, 可自行审查本软件的源代码,但万一有什么泄密、删除数据、 造成直接或间接损失等, 我一概不负责任。 (使用别的任何密码管理软件, 即使是收费的, 他们也一样不会负责用户的损失.)

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL