Sia
Sia(sia.tech)是一个基于区块链技术的去中心化云存储平台。借助 rclone,你可以像使用其他远程文件系统一样使用它,也可以将 Sia 文件夹挂载到本地。其背后的技术涉及许多新概念,如 Siacoin 与钱包、区块链与共识机制、租赁与托管等。如果你是新手,最好先通过他们出色的支持文档熟悉相关内容。
简介
在使用 rclone 与 Sia 配合之前,你需要在本地计算机或本地网络(如 NAS)上运行一份 Sia-UI
或 siad
(Sia 守护进程)。请遵循入门指南进行安装。
rclone 通过 HTTP API 与 Sia 守护进程通信,从而与 Sia 网络进行交互,该 API 通常在端口 9980 上可用。默认情况下,你会在同一台计算机上本地运行守护进程,因此可以安全地将 API 密码留空(API URL 将为 http://127.0.0.1:9980
,这样外部无法访问)。
但是,如果你想访问运行在其他节点上的 Sia 守护进程,例如由于内存限制,或者你想在多个 rclone 和 Sia-UI 实例之间共享一个守护进程,你需要做更多准备:
- 确保你直接安装了 Sia 守护进程,或者将其安装在 Docker 容器 中,因为 Sia-UI 本身不支持这种模式。
- 在可外部访问的端口上运行它,例如在守护进程命令行中提供
--api-addr :9980
和--disable-api-security
参数。 - 通过环境变量
SIA_API_PASSWORD
或守护进程目录中名为apipassword
的文本文件为siad
守护进程设置 API 密码。 - 从上述位置获取密码并设置 rclone 后端选项
api_password
。
注意事项:
- 如果你的钱包已锁定,rclone 无法自动解锁。你应该事先使用 Sia-UI 或通过命令行
siac wallet unlock
解锁。或者,你可以通过设置环境变量SIA_WALLET_PASSWORD
来运行siad
,使其在启动时自动解锁你的钱包。 - 如果
siad
在SIA_DIR
目录中找不到SIA_API_PASSWORD
变量或apipassword
文件,它将生成一个随机密码,并将其存储在 Unix 系统下YOUR_HOME/.sia/
目录中的apipassword
文本文件中,或者 Windows 系统下C:\Users\YOUR_HOME\AppData\Local\Sia\apipassword
文件中。在 rclone 中配置密码时请记住这一点。 - 不使用 API 密码使用
siad
的唯一方法是在 本地主机 上使用命令行参数--authorize-api=false
运行它,但这不安全,强烈不建议 这样做。
配置
以下是如何创建一个名为 mySia
的 sia
远程存储的示例。首先,运行:
rclone config
这将引导你完成一个交互式设置过程:
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
name> mySia
Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
...
29 / Sia Decentralized Cloud
\ "sia"
...
Storage> sia
Sia daemon API URL, like http://sia.daemon.host:9980.
Note that siad must run with --disable-api-security to open API port for other hosts (not recommended).
Keep default if Sia daemon runs on localhost.
Enter a string value. Press Enter for the default ("http://127.0.0.1:9980").
api_url> http://127.0.0.1:9980
Sia Daemon API Password.
Can be found in the apipassword file located in HOME/.sia/ or in the daemon directory.
y) Yes type in my own password
g) Generate random password
n) No leave this optional password blank (default)
y/g/n> y
Enter the password:
password:
Confirm the password:
password:
Edit advanced config?
y) Yes
n) No (default)
y/n> n
--------------------
[mySia]
type = sia
api_url = http://127.0.0.1:9980
api_password = *** ENCRYPTED ***
--------------------
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y
Once configured, you can then use rclone
like this:
- List directories in top level of your Sia storage
rclone lsd mySia:
- List all the files in your Sia storage
rclone ls mySia:
- Upload a local directory to the Sia directory called backup
rclone copy /home/source mySia:backup
标准选项
以下是 Sia(Sia 去中心化云存储)特有的标准选项。
–sia-api-url
Sia 守护进程的 API URL,例如 http://sia.daemon.host:9980
。
请注意,若要为其他主机开放 API 端口,siad
必须使用 --disable-api-security
选项运行(不建议这样做)。
如果 Sia 守护进程在本地主机上运行,请使用默认值。
属性:
- 配置项:api_url
- 环境变量:RCLONE_SIA_API_URL
- 类型:字符串
- 默认值:“http://127.0.0.1:9980”
–sia-api-password
Sia 守护进程的 API 密码。
可以在 HOME/.sia/
目录下的 apipassword
文件中或守护进程目录中找到该密码。
注意:输入的密码必须进行加密处理 - 请参阅 rclone obscure。
属性:
- 配置项:api_password
- 环境变量:RCLONE_SIA_API_PASSWORD
- 类型:字符串
- 是否必需:否
高级选项
以下是 Sia(Sia 去中心化云存储)特有的高级选项。
–sia-user-agent
Siad 用户代理
出于安全考虑,Sia 守护进程默认要求使用 Sia-Agent
用户代理。
属性:
- 配置项:user_agent
- 环境变量:RCLONE_SIA_USER_AGENT
- 类型:字符串
- 默认值:“Sia-Agent”
–sia-encoding
后端的编码方式。
有关更多信息,请参阅 概述中的编码部分。
属性:
- 配置项:encoding
- 环境变量:RCLONE_SIA_ENCODING
- 类型:编码方式
- 默认值:斜杠、问号、井号、百分号、删除符、控制字符、无效 UTF-8、点号
–sia-description
远程存储的描述。
属性:
- 配置项:description
- 环境变量:RCLONE_SIA_DESCRIPTION
- 类型:字符串
- 是否必需:否
限制
- 不支持修改时间
- 不支持校验和
- 不支持
rclone about
命令 - 目前 rclone 只能与 Siad 或 Sia-UI 配合使用, 暂不支持 SkyNet 守护进程。
- Sia 不允许文件名中包含控制字符或问号、井号等符号。rclone 会自动为你 编码 这些字符,但你最好了解这一点。