maestral
maestral copied to clipboard
Smart Sync
The official Dropbox Windows and Mac client has a feature called Smart Sync - it keeps files online-only until they are needed locally. It's a nice feature for large dropboxes as it saves local disk space and network bandwidth, and it's distinctly different from selective sync, which operates manually at a subtree level; Smart Sync operates automatically at individual file level. On Windows it works via an FS filter driver. I think on Linux this can be achieved via FUSE? The only thing I'm unsure about is how to handle thumbnails.
I would love this, the last thing chaining me to the official Dropbox app. Any plans to support?
I'm missing that here too, need it for a large dropbox. Please implement!
This might be possible if the Maestral devs could use/adapt @rianhunter's dbxfs as the back-end. Dbxfs works brilliantly by itself, it's just a little fiddlier to get it to automount and unlock on login, as it's CLI-only. Install it in a python venv as outlined here. It currently does not support the team folders from Dropbox for Business accounts, which is a deal-breaker for me :frowning_face:
It would be amazing if these two projects could be combined to get Maestral's benefits of autostart, selctive sync, GUI, etc. and dbxfs's online-only-style syncing.
@Roy-Orbison If you would like team folders support in dbxfs, just reach out so we can negotiate a contract for implementing this feature for you.
@rianhunter I looked into it and wrote a tiny patch based on this forum reply. It seems to work well. Maybe it would be better to first check if root_namespace_id
and home_namespace_id
differ, though forcing it could ensure consistency if that setting were changed whilst the filesystem was mounted. I imagine this could be a good default, those with identical namespace IDs should continue to get the current behaviour. Maybe you'd prefer it behind a flag for backwards-compatibility. Feedback is welcome.
Due to your (quite reasonable) objections to GitHub, would you consider hosting it on GitLab or some other public place for issues, wiki, etc.?
@samschott do you have any interest in using dbxfs as a back-end?
@Roy-Orbison Something like that could work but requires plumbing for configuration and initial set-up. I prefer self-hosting now. Email works as a means for PRs and issues.
I'd need to look into dbxfs to see how feasible it would be to use it as a "backend". FUSE-like or mountable approaches are very different from two-way sync, and come with their own pros and cons.
@rianhunter, from my experience with team folders, the tricky parts are all around handling when a user joins or leaves a team / converts their account type. Managing those transitions gracefully with the information available from the Dropbox API, including changing cursers for sync state, took quite a lot of care. Some of this may be easier to solve for the use case of "mounting" a Dropbox folder.