All Projects → lemourin → libcloudstorage

lemourin / libcloudstorage

Licence: other
Official libcloudstorage repository.

Programming Languages

C++
36643 projects - #6 most used programming language
shell
77523 projects
QML
638 projects
CMake
9771 projects
HTML
75241 projects
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to libcloudstorage

Rclone
"rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Yandex Files
Stars: ✭ 30,541 (+62228.57%)
Mutual labels:  dropbox, onedrive, webdav, fuse-filesystem
butdr
Backup to Cloud( Google Drive, Dropbox ... ) use rclone
Stars: ✭ 49 (+0%)
Mutual labels:  googledrive, dropbox, onedrive
Cyberduck
Cyberduck is a libre FTP, SFTP, WebDAV, Amazon S3, Backblaze B2, Microsoft Azure & OneDrive and OpenStack Swift file transfer client for Mac and Windows.
Stars: ✭ 1,080 (+2104.08%)
Mutual labels:  dropbox, onedrive, webdav
Joplin
Joplin - an open source note taking and to-do application with synchronization capabilities for Windows, macOS, Linux, Android and iOS. Forum: https://discourse.joplinapp.org/
Stars: ✭ 26,916 (+54830.61%)
Mutual labels:  dropbox, onedrive, webdav
bim360appstore-data.management-nodejs-transfer.storage
Autodesk design file transfer app: Transfers files from Autodesk (BIM 360, Fusion 360) to other Storages (Dropbox, Box, Onedrive, Google Drive, Egnyte)
Stars: ✭ 28 (-42.86%)
Mutual labels:  dropbox, onedrive, box
Fileprovider
FileManager replacement for Local, iCloud and Remote (WebDAV/FTP/Dropbox/OneDrive) files -- Swift
Stars: ✭ 724 (+1377.55%)
Mutual labels:  dropbox, onedrive, webdav
ccViewer
CryptCloudViewer source codes
Stars: ✭ 66 (+34.69%)
Mutual labels:  dropbox, onedrive
UserFileSystemSamples
IT Hit User File System Engine samples in .NET/C#. Samples implement Virtual File System for Windows and Mac with synchronization support, on-demand loading, offline files, and Windows File Manager integration.
Stars: ✭ 60 (+22.45%)
Mutual labels:  onedrive, fuse-filesystem
PandaNote
iOS markdown Note App / iOS的markdown笔记应用
Stars: ✭ 32 (-34.69%)
Mutual labels:  dropbox, webdav
Webdav Client Cpp
☁️ C++ WebDAV Client provides easy and convenient to work with WebDAV-servers.
Stars: ✭ 92 (+87.76%)
Mutual labels:  webdav, box
Filestash
🦄 A modern web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze, ...
Stars: ✭ 5,231 (+10575.51%)
Mutual labels:  dropbox, webdav
Cryfs
Cryptographic filesystem for the cloud
Stars: ✭ 1,560 (+3083.67%)
Mutual labels:  dropbox, fuse-filesystem
go-drive
A simple cloud drive mapping web app supports local, FTP/SFTP, S3, OneDrive, WebDAV, Google Drive.
Stars: ✭ 184 (+275.51%)
Mutual labels:  onedrive, webdav
Ytdlrc
☁️ Downloads videos and metadata with youtube-dl and moves each file on completion to an rclone remote
Stars: ✭ 140 (+185.71%)
Mutual labels:  dropbox, box
Cloudcross
CloudCross it's opensource crossplatform software for syncronization a local files and folders with many cloud providers. On this moment a Cloud Mail.Ru, Yandex.Disk, Google drive, OneDrive and Dropbox support is available
Stars: ✭ 185 (+277.55%)
Mutual labels:  dropbox, onedrive
Queries
SQLite queries
Stars: ✭ 57 (+16.33%)
Mutual labels:  googledrive, dropbox
Distribyted
📂 ➡️ 📺 🎶 🎮 Torrent client with on-demand file downloading as a filesystem.
Stars: ✭ 791 (+1514.29%)
Mutual labels:  webdav, fuse-filesystem
Unifile
Unified access to cloud storage services through a simple web API.
Stars: ✭ 105 (+114.29%)
Mutual labels:  dropbox, webdav
Vscode Remote Workspace
Multi protocol support for handling remote files like local ones in Visual Studio Code.
Stars: ✭ 197 (+302.04%)
Mutual labels:  dropbox, webdav
backmeup
BackMeUp: An automated MySQL / MariaDB databases and files backup solution on *nix Machines using Amazon S3, WebDAV (ownCloud / NextCloud etc.), Google Drive and Dropbox.
Stars: ✭ 80 (+63.27%)
Mutual labels:  dropbox, webdav

libcloudstorage

Build status Build Status Coverity Scan Build Status Codacy Badge Discord License: LGPLv2.1

A C++ library providing access to files located in various cloud services licensed under GNU LGPLv2.1. It is focused on the basic operations on those services.

Supported cloud providers:

  • GoogleDrive
  • OneDrive
  • Dropbox
  • box.com
  • YandexDisk
  • WebDAV
  • mega.nz
  • AmazonS3
  • pCloud
  • hubiC
  • 4shared
  • Google Photos (partial)

Supported operations on files:

  • list directory
  • download file
  • upload file
  • get thumbnail
  • delete file
  • create directory
  • move file
  • rename file
  • fetch direct, preauthenticated url to file

Requirements:

Building:

The generic way to build and install it is:

  • mkdir build && cd build && cmake .. && make && sudo make install

Optional dependency notes:

  • libcryptopp:

    when not found, ICrypto interface needs to be implemented

  • libcurl

    when not found, IHttp interface needs to be implemented

  • libmicrohttpd

    when not found, IHttpServer interface needs to be implemented

  • boost-filesystem

    when found, LocalDrive provider representing local directory will be included

  • mega

    when not found, mega cloud provider will not be included

FUSE:

In bin/fuse there is implemented a user space file system using fuse (https://github.com/libfuse/libfuse) library. It will be build when fuse is found. The file system is implemented using libfuse's low level api; however high level api implementation is also provided. The file system supports moving, renaming, creating directories, reading and writing new files. Writing over already present files in cloud provider is not supported. The file system uses asynchronous I/O to its full potency. It doesn't cache files anywhere by itself which implies no local storage overhead. Most cloud providers are fast enough when it comes to watching videos; with mega.nz being the fastest and Google Drive being the slowest.

Windows:

It is possible to run cloudstorage-fuse under Windows using Dokan (https://github.com/dokan-dev/dokany).

Usage:

To add cloud providers to file system, first the cloud providers need to be added. This can be done by calling:

cloudstorage-fuse --add=provider_label

After cloud providers are added, the file system can be mount using:

cloudstorage-fuse mountpoint

Cloud Browser:

In bin/cloudbrowser there is a program which provides easy graphics user interface for all the features implemented in libcloudstorage. It will be built when its dependencies are found.

Cloud Browser dependencies:

  • Qt5Core, Qt5Gui, Qt5Quick

  • kirigami (https://github.com/KDE/kirigami)

  • Qt5WebView

    when found, Cloud Browser will use it to present the authorization scheme

  • ffmpeg

    when found, Cloud Browser will generate fallback thumbnails if cloud provider doesn't provide any

  • mpv

    when found, Cloud Browser will use mpv-based media player

Screenshot:

Apps that use libcloudstorage:

TODO:

Implement following cloud providers:

  • Apple ICloud
  • Asus WebStorage
  • Baidu Cloud
  • CloudMe
  • FileDropper
  • Fileserve
  • Handy Backup
  • IBM Connections
  • Jumpshare
  • MagicVortex
  • MediaFire
  • Pogoplug
  • SpiderOak
  • SugarSync
  • Tencent Weiyun
  • TitanFile
  • Tresorit
  • XXL Box

Implement bindings to various languages, notably script languages:

  • Obj-C
  • python
  • ruby
  • JavaScript / node
  • Java

Integrate in various desktops

  • KIO slave
  • gvfs implementation

Implement chunked uploads.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].