在前面一篇文章里面我讲到了使用NextCloud在Windows平台下使用,但是在Mac下如何才能进行无缝的使用呢。Keepass本身是没有Mac版的。
WX20180803-135351.png
官方在下载页说的是在Linux和OS X下使用Mono运行,总所周知,Keepass是使用.net编写的,可以使用Mono进行跨平台使用,但是那货效率实在是太低了,我以前写.net的时候还真用过,如此糟糕的用户体验还是算了。
WX20180803-130734.png

我在Windows平台上一直是使用的WebDAV连接,你可以看看上一篇Keepass+NextCloud全开源密码管理方案,于是就得找一个在Mac平台上支持WebDAV的衍生版。简单讲一下Mac下的衍生版。如果仅能支持本地打开,那就需要其他的方法帮助其同步,比如DropBox和Nextcloud的桌面客户端。

  • KeePassXC Linux和OS X都支持,界面尚可,简洁风,仅能打开本地数据库。

screen_001.png

  • MacPass 仅支持OS X,界面美观,仅能打开本地数据库。

WX20180803-131735.png

  • KeePassX Linux和OS X都支持,界面就比较简单了,仅能打开本地数据库。

kpx2_main.png

  • KeeWeb Linux和OS X都支持,Windows也支持,基于Node.js,还有在线网页版。

scr1.png

我们今天着重介绍的就是KeeWeb,因为他应该是OS X下唯一直接支持WebDAV的。
其实NextCloud上直接是有插件安装KeeWeb的,就是能在NextCloud中直接打开,我个人并不是很喜欢这种方式,相当于你的所有数据还是都存放在云端的,我更愿意服务器开个接口,将加密的kdbx文件共享出来,进行操作。如果你对直接开始有兴趣,可以看看他们的项目:nextcloud-keeweb
WX20180803-133346.png

在开始之前,有个不得不说的问题,很多朋友没有自己的NextCloud,使用的是坚果云的WebDAV,并不能连接到KeeWeb上,原因是会提示:No Last-Modified header,会提示缺少了请求头。

直接在NextCloud的左下角,能得到当前站点的WebDAV地址。
推荐是,先使用KeeWeb在本地创建一个.kdbx文件,将其上传到NextCloud。如下图:
WX20180803-125859.png

然后你的访问地址就是WebDAV地址+.kdbx文件地址。如:https://cloud.XXXXX.net/remote.php/webdav/cyqsd-old.kdbx

用户名和密码就是你自己的NextCloud账号,这个时候如果是Windows下使用,自然是没有问题的,但是OS X下是有问题的,会提示503错误,是因为这个类型其他人并不知道。
于是要手动对其进行修改,进入NextCloud的服务器程序目录,找到base.php文件。

根目录/lib

WX20180803-134755.png

找到$incompatibleUserAgents,对其进行修改。
WX20180803-125704.png

修改为:

         $incompatibleUserAgents = [
                    // OS X Finder
                    '/^WebDAVFS/',
                    // KeeWeb client
                    '/KeeWeb\/\d[.]\d[.]\d/',
            ];

WX20180803-125755.png

然后重新进入KeeWeb就可以正常工作了。
WX20180803-125846.png

WX20180803-130508.png

WX20180803-130331.png

然后的使用一切如故。
感谢Malformed user agent for WebDav with NextCloud 11 #492,提供的NextCloud不可用WebDav问题。