Skip to content
Switch branches/tags
This branch is 60 commits ahead of avahowell/siasync:master.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Siasync Logo Siasync v1.0.1

Siasync is a utility that will monitor a folder and synchronize its contents to the Sia network. As new files are created or removed it will keep Sia in sync with the local source folder. Siasync also supports more advanced features like only syncing certain file extensions, or excluding certain file extensions, or archive mode which won't delete files from Sia even if they are deleted locally. Best of all, it works on Windows, MacOS, and Linux.


Siasync Binaries can be found on Github. Simply download the relevant binary, rename it to Siasync (Siasync.exe for Windows) and execute it in your operating systems' command line utility.


Siasync assumes that you already have a running siad daemon and are ready to upload files. Siasync does some basic checking of the allowance and contracts to ensure it can upload, but it does not resolve any issues it finds with your wallet or contracts. If you're not sure how to run Sia and form storage contracts check out this blog post.

The most basic way to use Siasync is to have it stay 100% in sync with a local folder.

#> siasync /tmp/foo

That will keep the local folder /tmp/foo synced to Sia. As new files and folders are created they will be uploaded to Sia, as files and folders are deleted they will be removed.

By default, files get uploaded into a siasync folder on Sia. You can see the files with siac renter ls /siasync when using Sia version 1.4.1 or later.

Now let's get fancy!

#> siasync -include jpg,jpeg,gif,png,raw -archive true -address
-subfolder demo -password <your-api-password> /tmp/foo/

Let's break down this command one argument at a time:

-include jpg,jpeg,gif,png,raw - Only files with jpg, jpeg, gif, png, or raw file extensions will be synced. All other files will be ignored. More information on this flag and the -exclude flag can be found in this Siasync case study.

-archive true - Never delete files from Sia, even if they are deleted locally.

-address - Use the Sia daemon running at instead of the default

-subfolder demo - Sync the files to the "demo" folder on Sia, instead of the default "siasync" folder. Siasync will create the "demo" folder if it doesn't exist. You can see the files with siac renter ls /demo/.

-password <your-api-password> - Use your API password instead of whatever API password Siasync was able to find. Siasync checks the default Sia locations and environment variables for API passwords.

/tmp/foo/ - The local folder you want synced to Sia.

Quick demo starting Siasync, adding a file, then deleting it.

A full list of Siasync commands can be found with Siasync -h

#> siasync -h
usage: siasync <flags> <directory-to-sync>
  for example: ./siasync -password abcd123 /tmp/sync/to/sia

  -address string
        Sia's API address (default "")
  -agent string
        Sia agent (default "Sia-Agent")
        Files will not be removed from Sia, even if they are deleted locally
  -data-pieces uint
        Number of data pieces in erasure code (default 10)
        Enable debug mode. Warning: generates a lot of output.
        Show what would have been uploaded without changing files in Sia
  -exclude string
        Comma separated list of file extensions to skip, all other files will be copied.
  -include string
        Comma separated list of file extensions to copy, all other files will be ignored.
  -parity-pieces uint
        Number of parity pieces in erasure code (default 30)
  -password string
        Sia's API password
        Compare only based on file size and not on checksum
  -subfolder string
        Folder on Sia to sync files too (default "siasync")
        Sync, don't monitor directory for changes
        By default, hidden files are excluded from the sync. Set include-hidden to true to include them

Building from Source

Siasync is written in Go, you have have a working Go installation before attempting to build Siasync from source.

build Siasync dependencies

make dependencies

build Siasync



The MIT License (MIT)


miniscule utility to sync a folder with Sia







No packages published