Nextcloud+KeeWeb在Mac下实现无缝使用
在前面一篇文章里面我讲到了使用NextCloud在Windows平台下使用,但是在Mac下如何才能进行无缝的使用呢。Keepass本身是没有Mac版的。
官方在下载页说的是在Linux和OS X下使用Mono运行,总所周知,Keepass是使用.net编写的,可以使用Mono进行跨平台使用,但是那货效率实在是太低了,我以前写.net的时候还真用过,如此糟糕的用户体验还是算了。
我在Windows平台上一直是使用的WebDAV连接,你可以看看上一篇Keepass+NextCloud全开源密码管理方案,于是就得找一个在Mac平台上支持WebDAV的衍生版。简单讲一下Mac下的衍生版。如果仅能支持本地打开,那就需要其他的方法帮助其同步,比如DropBox和Nextcloud的桌面客户端。
- KeePassXC Linux和OS X都支持,界面尚可,简洁风,仅能打开本地数据库。
- MacPass 仅支持OS X,界面美观,仅能打开本地数据库。
- KeePassX Linux和OS X都支持,界面就比较简单了,仅能打开本地数据库。
- KeeWeb Linux和OS X都支持,Windows也支持,基于Node.js,还有在线网页版。
我们今天着重介绍的就是KeeWeb,因为他应该是OS X下唯一直接支持WebDAV的。
其实NextCloud上直接是有插件安装KeeWeb的,就是能在NextCloud中直接打开,我个人并不是很喜欢这种方式,相当于你的所有数据还是都存放在云端的,我更愿意服务器开个接口,将加密的kdbx文件共享出来,进行操作。如果你对直接开始有兴趣,可以看看他们的项目:nextcloud-keeweb
在开始之前,有个不得不说的问题,很多朋友没有自己的NextCloud,使用的是坚果云的WebDAV,并不能连接到KeeWeb上,原因是会提示:No Last-Modified header,会提示缺少了请求头。
直接在NextCloud的左下角,能得到当前站点的WebDAV地址。
推荐是,先使用KeeWeb在本地创建一个.kdbx文件,将其上传到NextCloud。如下图:
然后你的访问地址就是WebDAV地址+.kdbx文件地址。如:https://cloud.XXXXX.net/remote.php/webdav/cyqsd-old.kdbx
用户名和密码就是你自己的NextCloud账号,这个时候如果是Windows下使用,自然是没有问题的,但是OS X下是有问题的,会提示503错误,是因为这个类型其他人并不知道。
于是要手动对其进行修改,进入NextCloud的服务器程序目录,找到base.php文件。
根目录/lib
找到$incompatibleUserAgents,对其进行修改。
修改为:
$incompatibleUserAgents = [ // OS X Finder '/^WebDAVFS/', // KeeWeb client '/KeeWeb\/\d[.]\d[.]\d/', ];
然后重新进入KeeWeb就可以正常工作了。
然后的使用一切如故。
感谢Malformed user agent for WebDav with NextCloud 11 #492,提供的NextCloud不可用WebDav问题。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
十分感谢你的教程,请问坚果云的WebDAV,并不能连接到KeeWeb上,原因是会提示:No Last-Modified header,会提示缺少了请求头,这个问题是否有办法解决呢 十分感谢
暂时没有,如果有的话欢迎分享方法。
keeweb已经在1.6版本后解决这个问题了。
只要在设置-存储中选择上"始终重新加载文件,而不是依赖Last-Modified HTTP标头"
多谢提醒
补充个alfred插件和chrome插件就更好了