ShadowCloud-通用云客户端

当前,许多公司提供云存储服务,但是每个公司都有其自己的专有客户端,并且其功能通常还有很多不足之处。
由于多种原因,现有的替代方案不适合我,因此我决定创建自己的通用客户端-shadowcloud


像这样:


图片


有什么可以


  • 直接下载(不使用本地磁盘)到Google云端硬盘,Yandex磁盘(WebDAV),Mail.Ru云,Dropbox
  • 默认情况下完全加密,有多种算法和设置可供选择
  • 受密码保护的数据库
  • 校验和和重复数据删除
  • 删除文件大小限制
  • 将文件复制或拆分到不同的存储库
  • 无限媒体流
  • 创建预览并提取元数据和文档文本
  • 版本控制文件和整个目录结构
  • 降价说明,代码突出显示
  • 使用嵌入式资源快速保存网页
  • 内存中文件缓存
  • 使用FUSE用作本地磁盘(需要winfsp)
  • 开源,几乎每个方面都可以通过shadowcloud.conf进行配置

图片


图片


使用方法


实际上,存储库


要使用它,必须:


  • 生成加密密钥(以后需要将其导入其他设备上)
  • 设置云存储
  • 创建数据区域并将存储连接到该区域(所有设备上的区域ID必须匹配)

图片


之后,您可以转到包含文件的面板,选择一个区域并上传文档。


关于实施的一点


该程序用Scala编写,几乎完全建立在Akka框架(演员,流,http,持久性)上,前端完全用Scala.js编写。


Bouncy Castle和可选的libsodium用于加密(默认算法:Blake2b / ChaCha20 / ECIES / ECDSA)。


轻量级版本将Apache Tika和JavaCV排除在外,因为它们的尺寸较大;它们用于从文档中提取元数据并创建视频预览。

Source: https://habr.com/ru/post/zh-CN428523/


All Articles