ShadowCloud - cliente universal en la nube

Actualmente, muchas compañías brindan servicios de almacenamiento en la nube, pero cada una tiene su propio cliente propietario y su funcionalidad, por regla general, deja mucho que desear.
Las alternativas existentes no me convenían por muchas razones, así que decidí hacer mi propio cliente universal - shadowcloud


Algo como esto:


imagen


Que puede


  • Descarga directa (sin usar un disco local) a Google Drive, Yandex Disk (WebDAV), Cloud Mail.Ru, Dropbox
  • Cifrado completo por defecto, una gran selección de algoritmos y configuraciones
  • Base de datos protegida por contraseña
  • Sumas de comprobación y deduplicación
  • Elimina el límite de tamaño de archivo
  • Replicar o dividir archivos en diferentes repositorios
  • Transmisión de medios ilimitada
  • Crea vistas previas y extrae metadatos y texto de documentos
  • Versiones de archivos y toda la estructura de directorios
  • Notas de rebajas, resaltado de código
  • Guarde rápidamente páginas web con recursos integrados
  • Almacenamiento en caché de archivos en memoria
  • Usar como disco local usando FUSE (requiere winfsp)
  • Código abierto, casi todos los aspectos son configurables a través de shadowcloud.conf

imagen


imagen


Como usar


En realidad, el repositorio


Para usarlo es necesario:


  • Genere una clave de cifrado (más tarde deberá importarla en otros dispositivos)
  • Configurar almacenamiento en la nube
  • Cree una región de datos y conecte el almacenamiento (las ID de región deben coincidir en todos los dispositivos)

imagen


Después de eso, puede ir al panel con archivos, seleccionar una región y cargar documentos.


Un poco sobre la implementación


El programa está escrito en Scala y está construido casi por completo en el marco de Akka (actores, transmisiones, http, persistencia), la interfaz está escrita completamente en Scala.js.


Bouncy Castle y opcionalmente libsodium se utilizan para el cifrado (algoritmos predeterminados: Blake2b / ChaCha20 / ECIES / ECDSA).


Apache Tika y JavaCV están excluidos de la versión ligera debido a su gran tamaño; se utilizan para extraer metadatos de documentos y crear vistas previas para videos.

Source: https://habr.com/ru/post/es428523/


All Articles