为何 Joplin 的作者们都这么固执

2021-05-17 11:20:54 +08:00
 raysonlu

最近为知会员提示即将到期,基于为知对 markdown 编辑器的落后以及使用一年中遇到不少问题(有反馈),想换个笔记。留意到了 joplin 感觉很不错,特别是多端使用,有本地化端到端加密功能,编辑器初步使用起来也没发现什么 bug 。可是它没有对笔记加锁的功能。

插个题外话,这个加锁功能,在现有的知名云笔记中其实也很少见,唯一见到有的是有道和为知,有道的实现方式是请求服务器密码校验,为知应该是通过证书密码校验并定期更新和同步证书,这两种实现方式各有利弊,且两款笔记的其他基础功能在深入使用后发觉也不尽人意,印象是全锁,这种与“单个笔记加锁”完全是两个需求场景。

抱着希望的心情想向 joplin 提交一下这个建议,毕竟好歹也是个开源项目。然后发现,这个需求在 2 年前就已经被提出! https://github.com/laurent22/joplin/issues/289 现在对新功能的建议提交都转到这个地方讨论了 https://discourse.joplinapp.org/t/is-it-possible-to-password-lock-the-application-upon-opening/122/13

看完后我哭笑不得,貌似作者们一直不愿意添加这个功能,他认为:

我感觉作者们对这个需求一直理解错误,或者不愿意去理解。对单个笔记加锁,是不少特殊使用场景都需要用到的功能,而且不少用户都说明了这样的场景,但他们就是不干,有点类似程序员有时候无脑反驳产品经理的需求那样。

18320 次点击
所在节点    程序员
131 条回复
IgniteWhite
2021-05-17 19:02:41 +08:00
@Junzhou 十分感谢你的贡献!我是 BILIBILI-HELPER 的忠实用户!能理解你的感受,不得不说,在国内信息时代到来之后,因为初期对版权管理的不成熟,“白用软件”这个意识要远远先于“开源精神”出现,直到今天为止,“白用软件”依然是大部分人潜意识里存在的。直接去问,人人都会说“我支持开源”,但是不经意间就会在交流中流露出来“白用软件我最棒”的思维。
charlie21
2021-05-17 19:27:51 +08:00
他没有答应你,你干嘛不就此给他上一课呢?
你完全可以 fork 一支然后雇人搞定,然后呢包装一下当作付费软件卖出去,付费的
此时,原团队就会因为你这个无良盈利办法而主动在原 repo 上增加软件加密功能

教他们做人.jpg
charlie21
2021-05-17 19:36:17 +08:00
你甚至可以把单个笔记加锁功能模块卖给原团队
毕竟那是你和你雇的团队的 “知识产权”
若他们馋你,他们是不能白用的奥力给,坑他们一笔
若他们不馋你,你可以继续卖,坑客户的钱奥力给
MeteorCat
2021-05-17 19:39:03 +08:00
这不得加钱?我猜楼主肯定不舍得花钱
3dwelcome
2021-05-17 19:51:49 +08:00
@zhzy0077 " 我希望你破解了 /t/776529 这个再说,这就是个通过业界标 AES 加密的普通文本。"

我帮你科普一下吧,解密文本分三个等级。

1. 最安全的就是你引用的这贴,包括我的友情联动贴,因为解密结果有效性无法得到验证,你连跑个字典都没办法。
2. 类似 WinRAR 之类的文本加密,有校验机制,可以跑个字典。密码能不能跑出来,完全听天由命,和密码强弱正相关。
3. 最不安全就是你们说的调用系统加密 API,因为调用 API 这个步骤中,必然会传进用户密钥,是最容易泄漏的薄弱环节, 我才会顺带提到虚拟机加壳之类技术,你好像完全不能理解这点。
roundgis
2021-05-17 20:11:28 +08:00
自己搞就得了

不然開源幹什麼
akira
2021-05-17 21:26:39 +08:00
先不说你的需求合理不合理,
人家一个开源项目,为啥要听你的
zhzy0077
2021-05-17 21:41:18 +08:00
@3dwelcome 你提到的和这个帖子里的毫无关系。我调用系统 API,使用 AES 加密,对我的文本进行了加密,请问你怎么破解?
你一直再说你能 hook 我对这个系统 API 的调用,但是当你能做到这一点的时候,我怎么保护都没有意义了,你大可以监控我的屏幕键盘来拿到一切。
所以这个说的加密就是保证一个文本在被他人拿到的时候,他人无法获取到明文,我看你才是无法理解这个帖子在讨论什么的那个。
zhzy0077
2021-05-17 22:03:02 +08:00
不过从你讨论文本加密用 WinRAR 开始,其实前面几楼说你“密码学民科”我觉得没啥问题了。
3dwelcome
2021-05-17 22:13:16 +08:00
@zhzy0077
我写帖子和写代码一样,是给别人看的,就需要用 WinRAR 这种通俗易懂,大家都能看懂的方式。

我知道你用 PGP 加密文本,看不起 WinRAR 。

可你再看不起,同样也无法破解 RAR 的高强度密码文本。
zhzy0077
2021-05-17 22:21:06 +08:00
@3dwelcome 我没说我能破解 RAR 。你方便回应一下我上面的问题嘛?我用系统 API,通过 AES 对我的 Joplin 文本进行了加密,你怎么破解?
3dwelcome
2021-05-17 22:31:39 +08:00
@zhzy0077 "我用系统 API,通过 AES 对我的 Joplin 文本进行了加密,你怎么破解?"

先要确定一下"破解"的前提条件:任何软件被破解,都是基于被第三方修改官方发布的程序二进制代码。

所以我是可以对你程序和 AES 代码入口下断点的,破解以 openssl 举例( https://github.com/openssl/openssl/blob/master/crypto/aes/aes_core.c),大片的 Te0/Te1/Te2 预定义数组,在程序里有非常高的辨识度,可以轻松定位到 AES_set_decrypt_key 函数入口,hook api 直接在用户运行软件时,获取最关键的 AES_KEY 。
zhzy0077
2021-05-17 22:33:05 +08:00
@3dwelcome 好。你可以在我运行时,拿到我机器的 admin 权限,那你的虚拟机、加壳等方案有在任何程度上解决这个问题吗?只要通过录屏监控键盘一样可以拿到数据。
3dwelcome
2021-05-17 22:42:59 +08:00
@zhzy0077 录屏监控键盘那属于病毒范畴了,系统级监控程序通常会被 Windows Defender 杀掉。

我说的是 XCode Ghost 那种冒仿软件,谁知道未来会不会冒出一个 Joplin Ghost 。

正常破解软件,指的都是修改单个软件,肯定不是全局操作系统监控。
zhzy0077
2021-05-17 22:53:17 +08:00
@3dwelcome 好。对于这个开源的 Joplin,你要怎么加壳、虚拟机才能保证我造不出 Joplin Ghost ?

退一步讲,我一行代码改不了你这个加了壳的非开源版 Joplin,我在外面套一个我的壳,就干一件事记录键盘输入。我一个应用读取键盘输入天经地义把?难道加了壳的非开源版 Joplin 能够保证安全吗?

多提一句,事实上现在对于你这个“ XCode Ghost ”类似的问题,解决方案通常是数字签名或者 PGP/SHA 验证来防篡改,而不是通过加壳或者虚拟机来规避、绕过这个问题。

我不知道你这些知识的来源是什么,但是从你讨论的内容十分偏实践来看,可能是 52pojie 之类的,我的建议是可以多看看有关密码学方面的书。
Kagari
2021-05-17 23:02:58 +08:00
之前搜过一圈,用 md 的基本没这种加密
主要是不完全信任自己的设备,希望软件能内置一下加密,运行时再解密,不要大摇大摆的把文件直接放在硬盘里等着被扫
Acoffice
2021-05-17 23:27:25 +08:00
@raysonlu 你觉得,那你就自己搞啊,别人不接受就是别人固执,这什么逻辑!!!
boboliu
2021-05-17 23:32:06 +08:00
开源项目嘛,维护者不想写你可以写了给他 pr 啊
dbpe
2021-05-18 08:49:50 +08:00
开源的目的: 我好像需要一个 xx,但是市面上好像没有,我写一个吧..
诶..好像有点好用...那么放出去给大家用吧...大家一起添砖加瓦


实际:开源之后,我要那个..我要这个
myCupOfTea
2021-05-18 08:58:29 +08:00
这是开源项目,觉得不爽自己写

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/777378

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX