Virtual File System API / Cloud Provider Synchronization API for Linux?
Asked Answered
R

1

6

Microsoft and Apple have recently introduced an API for synchronizing cloud storage files to the local file system: Cloud Provider API (also known as Cloud Filter API) for Windows and File Provider API for Apple and iOS. For example, the Microsoft OneDrive client is now built on top of this new API.

Is there a similar API for major Linux flavors?

Rifkin answered 4/3, 2021 at 1:23 Comment(1)
I added a suggestion to add such a standard to freedesktop.org linking this article.Bellona
E
0

AFAIK, I don't think there are any APIs like that to achieve this in Linux. However, we can make use libfuse (https://github.com/libfuse/libfuse) to achieve the same. Earlier, cloud storage vendors like Dropbox, Box, Google Drive, NextCloud, and Filr made use of the same library prior to the advent of File Provider API and Cloud Provider API (which are very recent technologies, but standardized for macOS and Windows).

From my limited knowledge, I think libfuse makes use of a kernel extension to create a virtual filesystem where you can implement filesystem calls. There are many abstraction layers written on top of libfuse for different programming languages like rust, objc/c++, python etc...

For Eg.

Apple stopped loading of 3rd party kernel extensions from macOS 11, so their alternative offering to fuse-based cloud storage clients is File Provider API.

In Windows, prior to the Cloud Storage API, the same was achieved using Minifilter drivers (https://learn.microsoft.com/en-us/windows-hardware/drivers/ifs/filter-manager-concepts)

These alternative APIs are offered by Apple and Microsoft for their respective platforms, mainly because of securiry reasons. A small flaw is kernel or a driver code would be fatal for the entire OS.

So, I think libfuse would be the best approach for Linux-based OS'es for now, until someone comes up with a more feasible solution.

Explication answered 18/4, 2022 at 6:59 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.