Last year, Dropbox announced that they would be ending support for all Linux filesystem except Ext4 This has left many people scrambling to find a replacement for all their file syncing needs. If you are one of those people. SparkleShare may be the solution you are looking for.
What is SparkleShare?
SparkleShare is a little file sync program written in C# that uses Git to keep your files synced. Just like Dropbox, SparkleShare creates a folder on your hard drive. From there you can link remote folders on GitHub or GitLab and anytime a change is made, it will be synced up automatically. Currently, SparkleShare supports GitHub and other GitHub alternatives like GitLab, BitBucket, Planio, or your own Git server. It uses Git LFS so you can sync large files.
SparkleShare is not a one-size-fits-all backup. There are some things that it works better for than others.
SparkleShare is great for
- Frequently changing project files, like text, office documents, and images
- Tracking and syncing files edited by multiple people
- Reverting a file to any point in its history
- Preventing spying on your files on the server using encryption
SparkleShare is not so great for
- Full computer backups
- Large binary files that change often, like video editing projects
How to Install SparkleShare
SparkleShare is available for Linux, Windows, and macOS.
It is noted on the SparkleShare website that the application is available in the repositories of most distros. However, they caution that those packages may be out of date. Instead, they recommend using Flatpak to install SparkleShare to make sure you have the latest version.
Just run these commands:
flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.sparkleshare.SparkleShare
If you are using macOS, you can download an install file from the SparkleShare release page.
You can install SparkleShare on Windows, but the installer hasn’t been updated in a while. The installer for version 1.4 can be downloaded from the SparkleShare website. The most recent version is 3.28. If you want a more recent version, you need to either build it from source or create your own installer.
How to Setup SparkleShare
Before you use SparkleShare, you need to add your public ssh key to your account. Right click on the SparkleShare icon in the system tray and click on “SparkleShare”. Hover over Client ID and you’ll see a line that starts “ssh-rsa”. You can copy the key by clicking “Copy to Clipboard”. Now you have to navigate to whichever git hosting service your files will be saved to and add the SSH key to your profile. If you don’t add your SSH key, you won’t be able to sync your files.
Now you’ll need to create a new repository or project on the git hosting service. Once that is done, go back to the SparkleShare menu and click “Add hosted project…”. In the resulting dialog box select your hosting service and add the remote path of your repo (username/project-name). SparkleShare will then set up the connection.
During installation, SparkleShare will create a folder named SparkleShare. This is where all sync files will be located.
I have tried several file sync apps and I was pleasantly surprised by this one. If was simple to set up and the files were synced up almost instantly.
Though it is not your typical cloud storage service, I can still see using this as a Dropbox replacement, especially for project files and documents.
The only problem that I ran into was the outdated installer for Windows. I opened an issue asking about it. I have not received an answer yet. It appears that the developer is content to let Windows users build it themselves.
Have you ever used SparkleShare? If not, what is your favorite open-source Dropbox replacement? Let us know in the comments below.
If you found this article interesting, please take a minute to share it on social media, Hacker News or Reddit.