V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
err1y
V2EX  ›  开源软件

基于公钥认证体系的开源笔记系统, v0.1.0a 功能最简化测试版本

  •  
  •   err1y · 2020-12-14 15:43:44 +08:00 · 1806 次点击
    这是一个创建于 1226 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近这些天发现了 mastodon 和 GNU Social 这两个系统,跟我想做的想法很类似,但是他们的账号体系依然采用的中心化认证方式,不能跨服务使用,但是使用公钥体系可以完美解决这个问题。

    mastodon 这个项目让我很受鼓舞,目前很多社区累计几十万用户,github 仓库 22.5k star,让我明白方向是没有问题的

    之前发过一个纯介绍的帖子《基于公钥认证体系的开源云生态设计(信息、关系、查询、信任与分享)》,现在发布一版最简单的笔记系统。

    现在功能还不完善,发出来主要是想给自己一个阶段性的答案以及增加曝光。 服务器仅供测试使用,不保证内容安全

    欢迎 fork/star

    目前支持

    • markdown 编辑
    • 内容搜索(使用正则搜索,效率很低)
    • 文档可见范围(在文本编辑内容页面修改,默认新笔记为私有笔记)
      • 公开
      • 私有(仅自身可见,但内容不加密)
      • 私密(仅自身可见,内容加密,内容无法搜索)

    修改可见

    接下来的研发计划

    下版本更新将加入导入导出和自动更新功能

    1. 客户端
      • [ ] 导入导出
      • [ ] 添加上 /下级节点(上级为标签,下级为子属性)
      • [ ] 根据标签进行交并集查找
      • [ ] 用户关系
        • [ ] 关注列表(服务器会自动采集,类似 rss/atom 协议)
        • [ ] 屏蔽列表
        • [ ] 信任深度查询
      • [ ] 文件上传 /下载
      • [ ] 自动更新
    2. 服务端
      • [ ] 服务器间同步 /自动采集与推送

    截图

    1. 登录页 登录界面
    2. 主页展示 主页展示
    3. 内容编辑页(vditor 编辑器内容编辑页
    3 条回复    2020-12-14 16:19:56 +08:00
    CismonX
        1
    CismonX  
       2020-12-14 16:05:39 +08:00
    明文输入 private key 风险比较高。建议接入 gpg 的本地 keystore,在你的客户端界面上只需要输入密钥 id 。这样用户可以使用加密过的密钥,也可以使用存储在 smart card 上的密钥,更安全,也更方便管理密钥。

    我使用 OpenGPG 的时候,出于安全考虑,从来不在能联网的机器上暴露 private key 。签名、认证、加密的操作全在 Yubikey 上进行。
    err1y
        2
    err1y  
    OP
       2020-12-14 16:15:37 +08:00 via iPhone
    @CismonX 谢谢你,最近也在考虑这个事情,但是只有我自己在做开发,目前还没有精力兼顾,现在处于初级阶段,还在以功能为主进行开发,一些模块(比如 openpgpjs )还没有很熟悉,等把基本功能搞定后再去深入解决安全和其他问题,我先把这个问题加到 todo 里
    err1y
        3
    err1y  
    OP
       2020-12-14 16:19:56 +08:00 via iPhone
    @CismonX 我去下单买个 yubikey 试试去
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1023 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:08 · PVG 06:08 · LAX 15:08 · JFK 18:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.