Having a tool to sync your files locally is useful if you want to keep working even if you lose connection, so after reconnecting, it just syncs automatically if you made changes. Also, this way you can open big files without waiting for it to download each time.
So, seeing there aren't any alternatives, it occur to me try to research options, and I think I have a lead, but I'm not in any case an expert developer, so I share this both to see if it would be possible, and hope someone would try to implement it if it's useful.
Make RClone to be real-time 2-way sync
- The user configures rclone the usual way, configuring their remote (ie, Google Drive)
- Then, the user choose in what local folder will it sync (ie, /home/name/Documents/Cloud)
- The wrapper/program will use rclone sync command to sync the remote cloud with the local folder, so now it downloads all the data to make it a mirror. Once this is done:
- If the user makes local changes -> inotifyd detects it (new, modified, deleted, moved) and fires the "rclone sync" command but only for that changes, avoiding a complete sync over all the data.
- If the user makes remote changes -> Every 2-5 minutes it runs rclone lsf, looking only for the files with modification date of last 24h for example, and compares them (hash or modification date) to local; if newer, then sync only those files to local with RClone. Also, from time to time or every boot, make a complete check to be sure the cloud and local are mirrors, maybe just checking files and folders hashes from top to bottom, to try and check + sync only the neccesary things.
This way, we would have a real alternative to Google Drive Sync from Windows/Mac in Linux?
What do you think, is it possible or is it flawed? It's just an idea, I doubt I would be able to develop myself something like this…