github.com/artpar/rclone@v1.67.3/docs/content/sia.md (about) 1 --- 2 title: "Sia" 3 description: "Remote for Sia Decentralized Cloud" 4 versionIntroduced: "v1.57" 5 date: "2019-10-02" 6 --- 7 8 # {{< icon "fa fa-globe" >}} Sia 9 10 Sia ([sia.tech](https://sia.tech/)) is a decentralized cloud storage platform 11 based on the [blockchain](https://wikipedia.org/wiki/Blockchain) technology. 12 With rclone you can use it like any other remote filesystem or mount Sia folders 13 locally. The technology behind it involves a number of new concepts such as 14 Siacoins and Wallet, Blockchain and Consensus, Renting and Hosting, and so on. 15 If you are new to it, you'd better first familiarize yourself using their 16 excellent [support documentation](https://support.sia.tech/). 17 18 ## Introduction 19 20 Before you can use rclone with Sia, you will need to have a running copy of 21 `Sia-UI` or `siad` (the Sia daemon) locally on your computer or on local 22 network (e.g. a NAS). Please follow the [Get started](https://sia.tech/get-started) 23 guide and install one. 24 25 rclone interacts with Sia network by talking to the Sia daemon via [HTTP API](https://sia.tech/docs/) 26 which is usually available on port _9980_. By default you will run the daemon 27 locally on the same computer so it's safe to leave the API password blank 28 (the API URL will be `http://127.0.0.1:9980` making external access impossible). 29 30 However, if you want to access Sia daemon running on another node, for example 31 due to memory constraints or because you want to share single daemon between 32 several rclone and Sia-UI instances, you'll need to make a few more provisions: 33 - Ensure you have _Sia daemon_ installed directly or in 34 a [docker container](https://github.com/SiaFoundation/siad/pkgs/container/siad) 35 because Sia-UI does not support this mode natively. 36 - Run it on externally accessible port, for example provide `--api-addr :9980` 37 and `--disable-api-security` arguments on the daemon command line. 38 - Enforce API password for the `siad` daemon via environment variable 39 `SIA_API_PASSWORD` or text file named `apipassword` in the daemon directory. 40 - Set rclone backend option `api_password` taking it from above locations. 41 42 43 Notes: 44 1. If your wallet is locked, rclone cannot unlock it automatically. 45 You should either unlock it in advance by using Sia-UI or via command line 46 `siac wallet unlock`. 47 Alternatively you can make `siad` unlock your wallet automatically upon 48 startup by running it with environment variable `SIA_WALLET_PASSWORD`. 49 2. If `siad` cannot find the `SIA_API_PASSWORD` variable or the `apipassword` file 50 in the `SIA_DIR` directory, it will generate a random password and store in the 51 text file named `apipassword` under `YOUR_HOME/.sia/` directory on Unix 52 or `C:\Users\YOUR_HOME\AppData\Local\Sia\apipassword` on Windows. 53 Remember this when you configure password in rclone. 54 3. The only way to use `siad` without API password is to run it **on localhost** 55 with command line argument `--authorize-api=false`, but this is insecure and 56 **strongly discouraged**. 57 58 ## Configuration 59 60 Here is an example of how to make a `sia` remote called `mySia`. 61 First, run: 62 63 rclone config 64 65 This will guide you through an interactive setup process: 66 67 ``` 68 No remotes found, make a new one? 69 n) New remote 70 s) Set configuration password 71 q) Quit config 72 n/s/q> n 73 name> mySia 74 Type of storage to configure. 75 Enter a string value. Press Enter for the default (""). 76 Choose a number from below, or type in your own value 77 ... 78 29 / Sia Decentralized Cloud 79 \ "sia" 80 ... 81 Storage> sia 82 Sia daemon API URL, like http://sia.daemon.host:9980. 83 Note that siad must run with --disable-api-security to open API port for other hosts (not recommended). 84 Keep default if Sia daemon runs on localhost. 85 Enter a string value. Press Enter for the default ("http://127.0.0.1:9980"). 86 api_url> http://127.0.0.1:9980 87 Sia Daemon API Password. 88 Can be found in the apipassword file located in HOME/.sia/ or in the daemon directory. 89 y) Yes type in my own password 90 g) Generate random password 91 n) No leave this optional password blank (default) 92 y/g/n> y 93 Enter the password: 94 password: 95 Confirm the password: 96 password: 97 Edit advanced config? 98 y) Yes 99 n) No (default) 100 y/n> n 101 -------------------- 102 [mySia] 103 type = sia 104 api_url = http://127.0.0.1:9980 105 api_password = *** ENCRYPTED *** 106 -------------------- 107 y) Yes this is OK (default) 108 e) Edit this remote 109 d) Delete this remote 110 y/e/d> y 111 ``` 112 113 Once configured, you can then use `rclone` like this: 114 115 - List directories in top level of your Sia storage 116 117 ``` 118 rclone lsd mySia: 119 ``` 120 121 - List all the files in your Sia storage 122 123 ``` 124 rclone ls mySia: 125 ``` 126 127 - Upload a local directory to the Sia directory called _backup_ 128 129 ``` 130 rclone copy /home/source mySia:backup 131 ``` 132 133 {{< rem autogenerated options start" - DO NOT EDIT - instead edit fs.RegInfo in backend/sia/sia.go then run make backenddocs" >}} 134 ### Standard options 135 136 Here are the Standard options specific to sia (Sia Decentralized Cloud). 137 138 #### --sia-api-url 139 140 Sia daemon API URL, like http://sia.daemon.host:9980. 141 142 Note that siad must run with --disable-api-security to open API port for other hosts (not recommended). 143 Keep default if Sia daemon runs on localhost. 144 145 Properties: 146 147 - Config: api_url 148 - Env Var: RCLONE_SIA_API_URL 149 - Type: string 150 - Default: "http://127.0.0.1:9980" 151 152 #### --sia-api-password 153 154 Sia Daemon API Password. 155 156 Can be found in the apipassword file located in HOME/.sia/ or in the daemon directory. 157 158 **NB** Input to this must be obscured - see [rclone obscure](/commands/rclone_obscure/). 159 160 Properties: 161 162 - Config: api_password 163 - Env Var: RCLONE_SIA_API_PASSWORD 164 - Type: string 165 - Required: false 166 167 ### Advanced options 168 169 Here are the Advanced options specific to sia (Sia Decentralized Cloud). 170 171 #### --sia-user-agent 172 173 Siad User Agent 174 175 Sia daemon requires the 'Sia-Agent' user agent by default for security 176 177 Properties: 178 179 - Config: user_agent 180 - Env Var: RCLONE_SIA_USER_AGENT 181 - Type: string 182 - Default: "Sia-Agent" 183 184 #### --sia-encoding 185 186 The encoding for the backend. 187 188 See the [encoding section in the overview](/overview/#encoding) for more info. 189 190 Properties: 191 192 - Config: encoding 193 - Env Var: RCLONE_SIA_ENCODING 194 - Type: Encoding 195 - Default: Slash,Question,Hash,Percent,Del,Ctl,InvalidUtf8,Dot 196 197 #### --sia-description 198 199 Description of the remote 200 201 Properties: 202 203 - Config: description 204 - Env Var: RCLONE_SIA_DESCRIPTION 205 - Type: string 206 - Required: false 207 208 {{< rem autogenerated options stop >}} 209 210 ## Limitations 211 212 - Modification times not supported 213 - Checksums not supported 214 - `rclone about` not supported 215 - rclone can work only with _Siad_ or _Sia-UI_ at the moment, 216 the **SkyNet daemon is not supported yet.** 217 - Sia does not allow control characters or symbols like question and pound 218 signs in file names. rclone will transparently [encode](/overview/#encoding) 219 them for you, but you'd better be aware