# Technical Documentation: hbons/SparkleShare > โ„น๏ธ **Provenance:** Hybrid Fusion: `hbons/SparkleShare` (README + 4 In-Tree Chapters) ยท [CodeWiki Reference](https://codewiki.google/github.com/hbons/SparkleShare) ยท Recency: Active (< 180 days) ## 1. Project Overview & Quickstart (hbons/SparkleShare) # [SparkleShare](https://www.sparkleshare.org/) > [!NOTE] > Please read ๐ŸŒฑ [issue #2006](https://github.com/hbons/SparkleShare/issues/2006) for the future of this project. > [!IMPORTANT] > Hello! Hylke here. I was recently [laid off](https://www.theguardian.com/technology/2025/may/13/microsoft-layoffs). I'd love to work full-time creating **apps for Linux** and contributing **design for FOSS projects**. I hope to gather enough [monthly sponsors](https://github.com/sponsors/hbons) for a minimum wage. Every little helps. Thank you. [SparkleShare](https://www.sparkleshare.org/) is a file sharing and collaboration app. It works just like Dropbox, and you can run it on your own server. It's available for Linux distributions, macOS, and Windows. You can support this project through [๐Ÿ’• GitHub Sponsors](https://github.com/sponsors/hbons). ## How does it work? SparkleShare creates a special folder on your computer. You can add remotely hosted folders (or "projects") to this folder. These projects will be automatically kept in sync with both the host and all of your peers when someone adds, removes or edits a file. ## Install on Ubuntu or Fedora You can install the package from your distribution (likely old and not updated often), but we recommend to get our Flatpak with automatic updates to always enjoy the latest and greatest: ```bash flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo flatpak install flathub org.sparkleshare.SparkleShare ``` Now you can run SparkleShare from the apps menu. **Note:** by default SparkleShare uses an AppIndicator status icon on Linux. If you use GNOME on a distribution other than Ubuntu, please install the [AppIndicator extension](https://extensions.gnome.org/extension/615/appindicator-support/). If you don't use GNOME, you can start SparkleShare with `--status-icon=gtk`. ## Install on macOS Download the app from the [releases page](https://github.com/hbons/SparkleShare/releases). ## Set up a host Under the hood SparkleShare uses the version control system [Git](https://git-scm.com/) and the large files extension [Git LFS](https://git-lfs.github.com), so setting up a host yourself is relatively easy. Using your own host gives you more privacy and control, as well as lots of cheap storage space and higher transfer speeds. We've made a simple [script](https://github.com/hbons/Dazzle) that does the hard work for you. If you need to manage a lot of projects and/or users we recommend hosting a [GitLab Community Edition](https://about.gitlab.com/installation/) instance. ## Build from source `SparkleShare` is Free and Open Source software and licensed under the [GNU GPLv3 or later](LICENSE.md). You are welcome to change and redistribute it under certain conditions. Its library `Sparkles` is licensed under the [GNU LGPLv3 or later](LICENSE_Sparkles.md). Here are instructions to build SparkleShare on [Linux distributions](SparkleShare/Linux/README.md), [macOS](SparkleShare/Mac/README.md), and [Windows](SparkleShare/Windows/README.md). ## Useful links - [sparkleshare.org](https://www.sparkleshare.org/) - [@hbons on Mastodon](https://mastodon.social/@hbons) - [Wiki](https://www.github.com/hbons/SparkleShare/wiki) Have fun, make awesome. :) ## 2. In-Tree Documentation Chapters (hbons/SparkleShare) ## File: README.md # [SparkleShare](https://www.sparkleshare.org/) > [!NOTE] > Please read ๐ŸŒฑ [issue #2006](https://github.com/hbons/SparkleShare/issues/2006) for the future of this project. > [!IMPORTANT] > Hello! Hylke here. I was recently [laid off](https://www.theguardian.com/technology/2025/may/13/microsoft-layoffs). I'd love to work full-time creating **apps for Linux** and contributing **design for FOSS projects**. I hope to gather enough [monthly sponsors](https://github.com/sponsors/hbons) for a minimum wage. Every little helps. Thank you. [SparkleShare](https://www.sparkleshare.org/) is a file sharing and collaboration app. It works just like Dropbox, and you can run it on your own server. It's available for Linux distributions, macOS, and Windows. You can support this project through [๐Ÿ’• GitHub Sponsors](https://github.com/sponsors/hbons). ## How does it work? SparkleShare creates a special folder on your computer. You can add remotely hosted folders (or "projects") to this folder. These projects will be automatically kept in sync with both the host and all of your peers when someone adds, removes or edits a file. ## Install on Ubuntu or Fedora You can install the package from your distribution (likely old and not updated often), but we recommend to get our Flatpak with automatic updates to always enjoy the latest and greatest: ```bash flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo flatpak install flathub org.sparkleshare.SparkleShare ``` Now you can run SparkleShare from the apps menu. **Note:** by default SparkleShare uses an AppIndicator status icon on Linux. If you use GNOME on a distribution other than Ubuntu, please install the [AppIndicator extension](https://extensions.gnome.org/extension/615/appindicator-support/). If you don't use GNOME, you can start SparkleShare with `--status-icon=gtk`. ## Install on macOS Download the app from the [releases page](https://github.com/hbons/SparkleShare/releases). ## Set up a host Under the hood SparkleShare uses the version control system [Git](https://git-scm.com/) and the large files extension [Git LFS](https://git-lfs.github.com), so setting up a host yourself is relatively easy. Using your own host gives you more privacy and control, as well as lots of cheap storage space and higher transfer speeds. We've made a simple [script](https://github.com/hbons/Dazzle) that does the hard work for you. If you need to manage a lot of projects and/or users we recommend hosting a [GitLab Community Edition](https://about.gitlab.com/installation/) instance. ## Build from source `SparkleShare` is Free and Open Source software and licensed under the [GNU GPLv3 or later](LICENSE.md). You are welcome to change and redistribute it under certain conditions. Its library `Sparkles` is licensed under the [GNU LGPLv3 or later](LICENSE_Sparkles.md). Here are instructions to build SparkleShare on [Linux distributions](SparkleShare/Linux/README.md), [macOS](SparkleShare/Mac/README.md), and [Windows](SparkleShare/Windows/README.md). ## Useful links - [sparkleshare.org](https://www.sparkleshare.org/) - [@hbons on Mastodon](https://mastodon.social/@hbons) - [Wiki](https://www.github.com/hbons/SparkleShare/wiki) Have fun, make awesome. :) --- ## File: SparkleShare/Mac/README.md ## Building on macOS You can build SparkleShare from source or download the SparkleShare bundle. ### Installing build requirements Install [Xcode](https://itunes.apple.com/gb/app/xcode/id497799835?mt=12) from the macOS App Store, or [download](https://developer.apple.com/xcode/) it manually. Install [Visual Studio](https://www.visualstudio.com/vs/visual-studio-mac/). For building the distribution release, where Mono libraries are merged into SparkleShare, we need the `autoconf` and `pkg-config`. You can install these in several ways, here's how it's done using [Homebrew](https://brew.sh/): ```bash brew install autoconf automake libtool pkg-config ``` ### Building There are three build configurations available: * DebugMac with debug symbols and having the Symbol DEBUG defined. Requires an installed Mono framework. * Release without debug symbols. Requires an installed Mono framework. * ReleaseMac without debug symbols, the Mono framework is linked statically into the binary, so it does not require an installed Mono framework. To build any of these configurations, * open `./SparkleShare.sln` in Visual Studio * select the SparkleShare.Mac project in the Solution view * select the required configuration * select `Build`, then `"Build SparkleShare.Mac"` from the menu To build SparkleShare from a command line (e.g. for using a CI system), use this command: ```bash /Applications/Visual\ Studio.app/Contents/MacOS/vstool build "--configuration:ReleaseMac" "SparkleShare.sln" ``` ### Resetting SparkleShare settings ``` rm -Rf ~/SparkleShare rm -Rf ~/.config/org.sparkleshare.SparkleShare ``` ### Uninstalling Simply remove the SparkleShare bundle. --- ## File: SparkleShare/Linux/README.md # SparkleShare for Linux ## Building with Flatpak If you want to test SparkleShare from Git, it's easiest to build a flatpak locally using [this spec]( https://github.com/hbons/org.sparkleshare.SparkleShare/) and run it. ## Building on Linux ### Common build requirements You will need the packages listed below for the most used Linux distributions: ```shell # On Ubuntu 16.04: # Run requirements sudo apt-get install \ curl \ git \ git-lfs \ gvfs # Build requirements sudo apt-get install \ desktop-file-utils \ gtk-sharp3-gapi \ libappindicator3-0.1-cil-dev \ libdbus-glib2.0-cil-dev \ libgtk3.0-cil-dev \ libnotify3.0-cil-dev \ libsoup2.4-dev \ libtool-bin \ libwebkit2gtk-4.0 \ meson \ mono-devel \ mono-mcs \ xsltproc # On Fedora 27: # Run requirements sudo dnf install \ curl \ git \ git-lfs \ gvfs # Build requirements sudo dnf install \ gtk-sharp3-devel \ gtk-sharp3-gapi \ libtool \ meson \ notify-sharp3-devel \ webkitgtk4-devel \ webkit2-sharp ``` ### Additional source build requirements Install these `soup-sharp` and `webkit2gtk-sharp` bindings: ```bash git clone https://github.com/hbons/soup-sharp cd soup-sharp/ ./autogen.sh make sudo make install ``` ```bash git clone https://github.com/hbons/webkit2-sharp cd webkit2-sharp/ ./autogen.sh make sudo make install ``` On Ubuntu, also install these `appindicator-sharp` bindings: ```bash sudo apt-get install libappindicator3-dev git clone https://github.com/hbons/appindicator-sharp cd appindicator-sharp/ ./autogen.sh make sudo make install ``` ### Start the build You can build and install SparkleShare with `meson` like this: ```bash meson build/ ninja -C build/ sudo ninja install -C build/ ``` If your distribution has an out of date `meson` package, you can install the latest version using the Python package manager: ```bash # Install pip using your system's package manager sudo apt-get install python3-pip # Ubuntu sudo dnf install python3-pip # Fedora pip3 install meson ``` ### Uninstall ```bash sudo ninja uninstall ``` ### Reset SparkleShare settings ```bash rm -Rf ~/SparkleShare rm -Rf ~/.config/org.sparkleshare.SparkleShare ``` --- ## File: SparkleShare/Windows/README.md ## Windows You can choose to build SparkleShare from source or to run the Windows installer. ### Installing build requirements Install version 4.0 of the [.NET Framework](http://www.microsoft.com/download/en/details.aspx?id=17851) if you haven't already. Install [msysGit](https://github.com/msysgit/msysgit/releases) and copy the contents of the install folder (`C:\Program Files (x86)\Git` by default) to `C:\path\to\SparkleShare-sources\bin\msysgit\` (create the "bin"-folder in the SparkleShare source directory). Open a command prompt and execute the following: ``` cd C:\path\to\SparkleShare-sources cd SparkleShare\Windows build ``` `C:\path\to\SparkleShare-sources\bin` should now contain `SparkleShare.exe`, which you can run. ### Creating a Windows installer To create an installer package, install [WiX 3.7](http://wix.codeplex.com/releases/view/99514), restart Windows and run: ``` cd C:\path\to\SparkleShare-sources\SparkleShare\Windows\ build installer ``` This will create `SparkleShare.msi` in the same directory. ### Resetting SparkleShare settings Remove `My Documents\SparkleShare` and `AppData\Roaming\org.sparkleshare.SparkleShare` (`AppData` is hidden by default). ### Uninstalling You can uninstall SparkleShare through the Windows Control Panel. --- METRICS --- - Files Extracted: 5 - Estimated Token Budget: ~2998 tokens - Recency Window: Active (< 180 days) - Canonical Reference: https://codewiki.google/github.com/hbons/SparkleShare