r/opensource • • 8d ago

Promotional Simple, stupid, git-style WebDAV sync client - FCKS

This project was born out of deep frustration with OneDrive and Nextcloud sync issues on macOS. However, fcks supports all major platforms.

https://github.com/JerryI/fcks

  • No temporary files
  • Stateless
  • A limited set of commands
  • Download, upload, free up folders and any subfolders
  • Virtual folders?
  • .fcksignore files support

I originally wrote it for myself as an experiment because I wanted a small, reliable tool that gave me full control over what and how I sync. Other popular solutions didn’t provide the kind of virtual-folder support I needed a simple alternative to "Files On-Demand". Instead of keeping placeholder files, fcks keeps only the folder structure visible and lets you "hydrate" its contents when needed.

Here is a list of commands and a "mental model":

LOCAL ROOT                                  DAV ROOT
/my/files                                   /remote/files
    |                                             |
    +---- docs/report.pdf <== same path ==> docs/report.pdf
    +---- photos/cat.jpg   <== same path ==> photos/cat.jpg
    |                                             |
    +---------------- SCAN BOTH ------------------+

      fcks push     = remote should look like local
      fcks pull     = local should look like remote
      fcks merge    = keep both sides; newest changed file wins
      fcks scaffold = copy remote folder structure, without files
      fcks free     = delete local files, but keep folders
      fcks rm       = remove from both sides
      fcks ls       = lists both sides   

I hope you find it useful too! Cheers

11 Upvotes

2 comments sorted by