Joplin: 关注隐私的 Evernote 开源替代软件
文章目录
上图中,我在笔记本中搜索编程 Python
, 在毫秒级的时间里,从 11509 条笔记中,搜出了所有包含 编程/Python 的笔记。
一些问题
我是谁
我是 Evernote 多年老用户,积累了一万多条笔记。
为何放弃 Evernote?
放弃 Evernote,倒不是因为它在产品层面有什么值得吐槽的地方。Evernote 基本满足我日常的所有需求。尤其最近还支持了 markdown。 它肯定是最好的商业笔记软件之一。
放弃 Evernote 的主要原因是我开始关注隐私,最近围绕加密和隐私这个话题写过一些文章:
如果碰巧你也是一个喜欢记笔记或备忘录的人,可能会经常在不同客户端之间同步笔记。有时趴在床上读完书,习惯在平板上写写读书心得;有时在旅途中,记录一些感触;有时在电脑上, 记录一些信息片段。
Evernote 客户端之间数据同步是经由它的云端。根据不同国家的法规,公司的数据需要不同程度上开放给政府审查,对此有兴趣的朋友,不妨去翻翻相关法律法规。此外,在机器学习的驱动下,偷窥用户数据,进而从中淘金,在各大公司里,进展得如火如荼, 看看最近 Siri 和亚马逊干的事,便知道下限有多低了。
苹果已经是在商业公司里,最关注用户隐私的公司之一了。
倒不是说 Evernote 也和这些公司一样混蛋,Evernote 一直给人一种小而美的感觉,我喜欢这个产品,很感谢他们的辛勤劳动,也情愿相信这是一家伟大的公司,但这并不能说服我去信任一个明显存在风险的机制 – 非开源软件, 云端同步数据。
当我在 Evernote 里写下一些思考的时候,总觉别扭,于是私密的东西,我宁可记录在纸上。记录在云端,怕冷不防背后冒出一双眼睛,就像晚自习看小说时,身后的班主任。
那些说你之所以怕被人看到笔记和想法,就是心里有鬼的人。真希望能少做些有罪推定,希望你今后有了孩子,能忍住控制欲,别偷窥 ta 的日记本。
尽管偷窥在这儿有时候是一种文化,我们从小到大,在社会生活的各个方面,也见得多了,但它毕竟是偷窥啊,不能因为这么干的人多就变得合理,不能因为这么干的公司都很成功就变得合理,不能因为整个环境都这样干就变得合理。当然,也不能因为"他们"说这是为你好
或者为大家好
就变得合理。无论"他们"有多大的权力。
我无法把自己一些私人的想法,交出去让人审查,在我看来这是自由的底线之一。
关于这点,约翰·斯图尔特·密尔在《论自由》里已经做了充分阐述.
我深信,在今天,围绕隐私问题的争论,和密尔所处的时代,围绕自由问题的争论是极度相似的。
隐私关乎数字时代的自由。
因为上述的讨论,只能放弃使用商业笔记软件。
Why not OneNote/有道云笔记
原因在上边已经说了。
并不是这些软件的功能不好,只考虑功能,他们几乎都是最佳选择之一。如果考虑隐私,就只能放弃。
对笔记软件的需求
为了实现隐私的目标,客户端开源是必要的,否则你并不能知道软件在背后都干了啥。但开源的笔记软件也有很多,我试用过不少,可能多数都用过。在遇到Joplin之前,一直没一款中意的。
我对笔记软件的需求不算挑剔, 列举出来,无非以下几点:
- 支持 markdown
- 注: 大多数开源笔记软件都支持 markdown,商业软件反而许多不支持,Evernote 最近才支持。
- 支持标签
- 注: 方便日后整理笔记。
- 支持快速的搜索
- 注: 笔记数量一多,大多数开源软件就非常卡
- 支持保存文件(粘贴截图等)
- 注: 许多开源软件只允许你粘贴图片连接。但保存本地截图却是我的日常需求。
- 导出为 PDF
- 注: 有时要将笔记内容分享给同事,PDF 比 markdown 文本易读。这功能在 Evernote 中需要付费。
- 跨平台同步功能
- 注: 我平时使用 MacOS 和 iOS 两个系统,希望有跨平台客户端,他们之间能够同步笔记。而且最好允许我自己架设同步服务器。
- 支持端对端加密
- 注: 最好支持端对端加密,这样可以将数据存在不信任的云上;此外也保证在非信任网络里,同步笔记时能确保安全性。
为满足这些需求,我试用过许多开源笔记软件,大多数使用时间都没超过 2 天。我甚至还自己写过一个笔记本软件: WNE(WNE Not Evernote)
,用了几个月后,又回到 Evernote,原因是不够易用,比如搜索用的是ack-grep
。
易用性
当然也是核心需求。
Joplin
Joplin 是目前满足我所有需求的开源笔记软件。所以我在 APP Store 里的第一个满分评价,就给了它,我评价里说: 关注隐私的Evernote替代物中,Joplin也许是最好的
从 Evernote 中迁移数据
如果你与我一样,是 Evernote 老用户,安装完 Joplin 之后,第一件事,便是从 Evernote 导入笔记 到 Joplin。
我在 Evernote 里有 11509 条笔记,将其从 Evernote 导出到 Joplin,只花了几分钟。笔记导入 Joplin 的时间要短于从 Evernote 导出的时间。
将笔记导出 Evernote
关于如何从 Evernote 导出所有笔记,可以参考如何备份(导出)和恢复(导入)笔记和笔记本
将笔记导入 Joplin
官方文档说的很清楚了: 打开File > Import > ENEX
,选择你从 Evernote 导出的文件即可。
跨平台同步笔记
Joplin 支持多种方式同步笔记:
- Dropbox
- NextCloud
- WebDAV
- OneDrive
- 文件系统
你可能会疑惑,Dropbox、OneDrive 不都是商业云服务吗?为何一个关注隐私的项目要支持这些云服务?那不如直接使用 OneNote 算了。
情况是这样的,当你使用了端对端加密后,数据只有你自己能加解密。所以可以放心地使用不受信任的网络和云服务,把它当作中间管道使用即可。
我的选择
我的选择是WebDAV,WebDAV 是个开放协议,是 HTTP 的扩展,有利于用户间协同编辑和管理存储在万维网服务器文档。WebDAV 协议为用户在服务器上创建、更改和移动文档提供了一个框架。
同步笔记正是创建、更改和移动文档
的一个例子。
我的思路是电脑上跑一个 WebDAV 服务,然后将其用作服务器,在 Joplin 不同客户端之间同步数据。
Joplin 目前支持以下 WebDAV 服务:
- Apache WebDAV Module
- Box.com
- DriveHQ
- Fastmail
- HiDrive from Strato. Setup help
- Nginx WebDAV Module
- NextCloud
- OwnCloud
- Seafile
- Stack
- WebDAV Nav, a macOS server.
- Zimbra
我准备跑一个轻量级且开源的WebDAV服务, 选择了wsgidav (因为比较熟悉 Python),它只是一个Python库。
使用起来很简单:
|
|
启用pam-login
认证之后,WebDAV 服务的登录名/密码就是你当前电脑的登录名和密码。
WebDAV 服务运行起来之后,在 Joplin 客户端做个配置,就可以用起来了。
ps: 如果你是非技术用户, 不建议你自己运行WebDAV服务,简单的方案是,开启端对端加密,然后使用 Dropbox/OneDrive/NextCloud,它同样是安全的。
端对端加密
端对端加密在 Joplin 是个可选项,操作起来十分方面,只是打个勾而已,文档在这儿:关于端到端加密(E2EE),需要注意的是,加密是个重计算量的活,如果你的笔记和我一样多,第一次同步数据最好在睡前,可能要花上一个晚上时间。
Joplin的端对端加密截至2021年还是不稳定:
- IOS App Encryption bug during sync。笔记的备份,可以考虑导出文件,之后加密文件(GPG或者veracrypt)。
- Encryption-Sync Not Working
注意事项
丢失数据
使用 WebDAV 来同步笔记,有个问题需要留意,官方在 FAQ 里有列出: 更改 WebDAV URL 后,我的所有笔记都被删除!
同步数据前,一定记得先导出数据,做个备份!
后记
OneNote
如果你是OneNote用户,关注隐私,也可以很轻松切换到Joplin。现将笔记导出导入到Evernote,再按照上文操作即可。
其他笔记软件用户同理。
参考
文章作者 种瓜
上次更新 2019-10-17