explaingit

mickael-kerjean/fdrive

Analysis updated 2026-05-18

4RustAudience · developerComplexity · 4/5Setup · moderate

TLDR

A cross platform file sync client that connects to storage you already have, such as S3, SFTP, or Google Cloud, without owning the storage itself.

Mindmap

mindmap
  root((repo))
    What it does
      Syncs existing storage
      Delta and streaming sync
      Handles conflicts safely
    Tech stack
      Rust core
      FUSE
      Filestash backend
    Use cases
      Connect to S3 or SFTP
      Offline editing
      Fast folder browsing
    Audience
      Developers
      Power users
      Multi-device workers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Sync files between your computer and an existing S3, SFTP, or cloud storage account.

USE CASE 2

Browse large remote folders quickly using on-demand file downloads.

USE CASE 3

Keep working offline and have local changes upload automatically once reconnected.

USE CASE 4

Avoid conflicting file overwrites by keeping both versions when edits collide.

What is it built with?

RustFUSEFilestash

How does it compare?

mickael-kerjean/fdrive6elphegor/warpadoslabsproject-gif/liara-toolkit
Stars444
LanguageRustRustRust
Setup difficultymoderateeasyhard
Complexity4/55/54/5
Audiencedeveloperresearcherdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires connecting to an existing storage backend through Filestash, platform builds vary by OS.

In plain English

Fdrive is a cross platform drive syncing client. Instead of forcing you to move your files into its own storage, it connects to storage you already have, whether that is S3, SFTP, FTP, NFS, SMB, IPFS, Azure, Google Cloud, or others, using a project called Filestash to talk to all of those services. The project is built around one shared Rust core that makes all the decisions about what files move where and how conflicts are resolved, so behavior stays consistent no matter what device you are on. Each supported platform, Linux, Windows, Mac, iOS, and Android, then only has to build the visual interface and hook into that platform's own filesystem tools, rather than reimplementing sync logic separately each time. Several features are described as already working. Only the parts of a file that actually changed are uploaded, not the whole file again. Files can be marked to download only when you actually open them, so browsing folders stays fast, and once opened, large files start streaming immediately rather than waiting for a full download. The app keeps working offline, saving your changes locally and uploading them once you reconnect, and if the same file was changed in two places at once, both versions are kept safely instead of one overwriting the other. Rapid saves are grouped together into a single upload rather than sending many small ones, and deletions are sent to the server first so two devices never end up disagreeing about what should exist. There is no separate app framework involved, it runs natively with a small tray icon showing sync status. Login happens through whatever system your own server already uses, including passwords, LDAP, or two factor authentication. Some features are listed as not yet built, including connecting to multiple accounts at once and support for file locking, versioning, and search. The README does not state a license.

Copy-paste prompts

Prompt 1
Explain how fdrive's hexagonal architecture splits the core sync logic from each platform's UI.
Prompt 2
Help me understand what storage backends fdrive can connect to through Filestash.
Prompt 3
Walk me through how fdrive's conflict handling and offline mode work together.
Prompt 4
Show me what fdrive features are still marked as not yet built.

Frequently asked questions

What is fdrive?

A cross platform file sync client that connects to storage you already have, such as S3, SFTP, or Google Cloud, without owning the storage itself.

What language is fdrive written in?

Mainly Rust. The stack also includes Rust, FUSE, Filestash.

How hard is fdrive to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is fdrive for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.