Gangmax Blog

SparkleShare: An Open Source Alternative of Dropbox

一句话描述SparkleShare: 它是一种功能类似于Dropbox的开源产品(GPLv3),支持多平台(Linux, Mac, Windows)。更有意思的是:它支持你自己创建的主机服务器,以及使用Github仓库作为你的主机服务器(这个太爽了!)

What is “SparkleShare“? In a nutshell, it’s an alternative of “Dropbox“ which is open-sourced(GPLv3), multi-platformed(Linux, Mac, Windows) and supporting both your own host and your github repository as the host(This is really COOL!).

Install the client

Refer here.

# 1. The following instructions are for Ubuntu 10.04.
sudo add-apt-repository ppa:pdffs/sparkleshare
sudo apt-get update
apt-cache show sparkleshare
sudo apt-get install sparkleshare
sudo apt-get install libwebkit1.1-cil # This package is required to avoid the "Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for System.Collections.Generic.List`1 ---> System.IO.FileNotFoundException: Could not load file or assembly 'webkit-sharp, Version=, Culture=neutral, PublicKeyToken=eaa1d335d2e19745' or one of its dependencies." error.
sudo apt-get install python-nautilus # This is enabling the nautilus intergration.
# 2. The following is for Ubuntu 12.04, you can install it directly.
sudo apt-get install sparkleshare

Configure Github as the host

Refer here, for Ubuntu 10.04.

  1. Go to your github account, create an new repository, which will be used by SparkleShare to store your data;

  2. In the SparkleShare initial wizard, fill in your name and email address, then go to your “~/.config/sparkleshare” directory, copy the content of the “” file, then go to your github account in browser, create a new SSH Key, paste the content to it. This step makes your SparkleShare client can access your github repository;

  3. Go back to your SparkleShare initail wizard, select “Github” and enter “your_github_username/repository_name” under the “folder name” field, finish.

  4. That’s it. Then everytime when starting your OS, the SparkleShare client will start automatically. After you change(add/update/remove) any file(s) in your local directory(~/SparkleShare), the change(s) will be synchronized automatically to the github repository and the other SparkleShare client(s) if there’s any.

  5. For Ubuntu 12.04, the latest version of SparkleShare(version 0.8.2 at this moment) supports not only your own server and Github, but also Bitbucket, Gitorious and etc. The instructions of Github support is similar to the ones above.


Several things make SparkleShare very unique other than other similar products:

  1. You can setup your own host;

  2. You can leverage Github as the host;

  3. Open source, which means you can develop your own synchronization methods(FTP/WebDAV/RSync) and client(Android/iOS).