rclone config create

rclone config create

使用名称、类型和选项创建一个新的远程存储。

概要

使用 名称类型 和选项创建一个新的远程存储。选项应以 对的形式传递,或者以 键=值 的形式传递。

例如,要使用自动配置创建一个名为 myremote 的 Swift 远程存储,你可以这样做:

rclone config create myremote swift env_auth true
rclone config create myremote swift env_auth=true

因此,如果你想配置一个 Google Drive 远程存储,但使用远程授权,你可以这样做:

rclone config create mydrive drive config_is_local=false

请注意,如果配置过程通常会询问一个问题,则会采用默认值(除非使用了 --non-interactive 选项)。每次发生这种情况时,rclone 都会打印或调试一条消息,说明如何影响所采用的值。

如果传递的任何参数是密码字段,那么 rclone 会在将它们放入配置文件之前自动对其进行加密(如果它们尚未加密)。

注意:如果密码参数长度为 22 个字符或更长,并且仅由 Base64 字符组成,那么 rclone 可能会混淆密码是否已经加密,并将未加密的密码放入配置文件中。如果你想 100% 确保密码被加密,请使用 --obscure 标志;如果你 100% 确定你已经传递了加密的密码,请使用 --no-obscure 标志。你还可以使用 rclone config password 命令设置加密的密码。

--non-interactive 标志供那些希望自行配置 rclone 的应用程序使用,而不是使用 rclone 的基于文本的配置问题。如果设置了此标志,并且 rclone 需要询问用户一个问题,将返回一个包含问题的 JSON 数据块。

它看起来会像这样(去除了一些无关的细节):

{
    "State": "*oauth-islocal,teamdrive,,",
    "Option": {
        "Name": "config_is_local",
        "Help": "Use web browser to automatically authenticate rclone with remote?\n * Say Y if the machine running rclone has a web browser you can use\n * Say N if running rclone on a (remote) machine without web browser access\nIf not sure try Y. If Y failed, try N.\n",
        "Default": true,
        "Examples": [
            {
                "Value": "true",
                "Help": "Yes"
            },
            {
                "Value": "false",
                "Help": "No"
            }
        ],
        "Required": false,
        "IsPassword": false,
        "Type": "bool",
        "Exclusive": true,
    },
    "Error": "",
}

Option 的格式与 rclone config providers 返回的格式相同。应该向用户询问问题,并将答案作为 --result 选项连同 --state 参数一起返回给 rclone。

Option 的键使用方式如下:

  • Name - 变量名 - 展示给用户
  • Help - 帮助文本。硬换行限制为 80 个字符。任何 URL 都应该是可点击的。
  • Default - 默认值 - 如果用户只想使用默认值,则返回此值。
  • Examples - 用户应该能够从这些示例中选择一个
  • Required - 值不能为空
  • IsPassword - 值是一个密码,应该按密码方式进行编辑
  • Type - 值的类型,例如 boolstringint
  • Exclusive - 如果设置,则只允许从 Examples 中选择,不允许自由输入
  • 无关键 ProviderShortOptHideNoPrefixAdvanced

如果 Error 被设置,则应在向用户提问的同时显示该错误信息。

rclone config update name --continue --state "*oauth-islocal,teamdrive,," --result "true"

请注意,使用 --continue 时,所有密码都应该以明文形式传递(不进行加密)。每次调用 --continue 时,都应该传入任何默认配置值。

在非交互式过程结束时,rclone 将返回一个 State 为空字符串的结果。

如果传递了 --all 参数,rclone 将询问所有配置问题,而不仅仅是配置后的问题。任何参数都将像往常一样用作问题的默认值。

请注意,rclone 源代码中的 bin/config.py 实现了这个协议,作为一个易于阅读的示例。

rclone config create name type [key value]* [flags]

Options

      --all               询问全套配置问题
      --continue          使用一个答案继续配置过程
  -h, --help              显示 create 命令的帮助信息
      --no-obscure        强制不加密任何密码
      --non-interactive   不与用户交互,直接返回问题
      --obscure           强制加密任何密码
      --result string     结果 - 与 --continue 配合使用
      --state string      状态 - 与 --continue 配合使用

有关此处未列出的全局选项,请参阅 全局标志页面

另请参见