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