Skip to content

🔑 Import S3 credentials

It is possible to programmatically import S3 credentials into S3Drive using JSON format.

Desktop example:
Import

Unencrypted bucket

[
    {
        "bucketName": "bucket-movies",
        "keyId": "keyId",
        "applicationKey": "applicationKey",
        "endpoint": "https://s3.us-west-004.backblazeb2.com",
    },
]

Encrypted bucket

encryptionKey must be base64 encoded plaintext password.

For example if you wish to specify confidential as a password, this would translate into: Y29uZmlkZW50aWFs string.

Control filepath encryption using filepathEncryptionEnabled parameter.

[
    {
        "bucketName": "another-bucket",
        "keyId": "keyId",
        "applicationKey": "applicationKey",
        "endpoint": "https://s3.eu-west-1.amazonaws.com",
        "encryptionKey": "Y29uZmlkZW50aWFs",
    }
]

Multiple buckets

[
    {
        "bucketName": "bucket-movies",
        "keyId": "keyId",
        "applicationKey": "applicationKey",
        "endpoint": "https://s3.us-west-004.backblazeb2.com",
    },
    {
        "bucketName": "another-bucket",
        "keyId": "keyId",
        "applicationKey": "applicationKey",
        "endpoint": "https://s3.eu-west-1.amazonaws.com",
        "encryptionKey": "cG90YXRv",
    }
]

All available parameters

Required

bucketName

S3 bucket name.

  • type: string
  • example: bucket-movies

keyId

Access key ID for your S3 provider.

  • type: string
  • example: AKIAIOSFODNN7EXAMPLE

applicationKey

Secret access key for your S3 provider.

  • type: string
  • example: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

endpoint

S3-compatible endpoint URL.

  • type: string
  • example: https://endpoint.com:9000

Optional

profileName

A human-readable name for this connection profile.

  • type: string
  • example: My Backblaze Bucket

region

Region for the bucket.

  • type: string
  • default: us-east-1

encryptionKey

Master encryption key as a base64-encoded plaintext password. Providing encryption key enables E2EE encryption in the root location.

  • type: string
  • example: Y29uZmlkZW50aWFs

filepathEncryptionEnabled

Controls whether to enable filename and directory encryption. Effective only when encryptionKey is set.

  • type: boolean
  • example: true | false
  • default: true

v2CipherEnabled

Enables the V2 encryption cipher. Only enable if the remote was originally configured with V2. Effective only when encryptionKey is set.

  • type: boolean
  • example: true | false
  • default: false

storageClass

Controls the S3 provider-specific x-amz-storage-class header.

  • type: string
  • example: ONEZONE_IA

Refer to the documentation of your S3 provider.

AWS

https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html#sc-compare

Options: STANDARD | REDUCED_REDUNDANCY | STANDARD_IA | ONEZONE_IA | INTELLIGENT_TIERING | GLACIER | DEEP_ARCHIVE | OUTPOSTS | GLACIER_IR | SNOW

Scaleway

https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class

Options: Standard | One Zone - Infrequent Access | Glacier

autouploadPath

Directory path for automatic media backup on Android and iOS.

  • type: string
  • example: Folder/PixelPhotos
  • default: Automatic upload/<deviceName>

customDomain

Custom domain to use instead of the default endpoint for public URLs.

  • type: string
  • example: cdn.example.com

includeBucketName

Whether to include the bucket name for unsigned share URLs. Works only when custom domain is set.

  • type: boolean
  • example: true | false
  • default: true

kmsEncryption

Enables AWS KMS server-side encryption.

  • type: boolean
  • example: true | false
  • default: false

supportVersioning

Whether the bucket supports object versioning.

  • type: boolean
  • example: true | false
  • default: true

md5VerificationEnabled

Enables MD5 checksum verification after upload.

  • type: boolean
  • example: true | false
  • default: false

multipartUploadEnabled

Enables multipart uploads for large files.

  • type: boolean
  • example: true | false
  • default: true

Default value is platform dependent - 5MB on web, 5MB on mobile, 10MB on desktop.

multipartConcurrentPartUploads

Number of parts to upload concurrently during a multipart upload.

  • type: integer
  • default: 5

multipartPartSize

Size in bytes of each part in a multipart upload.

  • type: integer
  • default: 5242880|10485760

Default value is platform dependent - 5MB on web, 5MB on mobile, 10MB on desktop.

multipartStartThreshold

File size threshold in bytes above which multipart upload is used instead of a single-part upload.

  • type: integer
  • example: 10485760
  • default: 31457280|94371840|220200960

Default value is platform dependent - 30MB on web, 90MB on mobile, 210MB on desktop.

concurrentUploadTransfers

Number of file transfers to run concurrently.

  • type: integer
  • default: 4

headSkipSameFilesEnabled

Skips uploading a file if remote already has an identical version. Requires additional HEAD request.

  • type: boolean
  • example: true | false
  • default: true

crossDeviceSyncEnabled

Enables syncing state across multiple devices for the same bucket.

  • type: boolean
  • example: true | false
  • default: true

uploadTimeoutMsec

Upload timeout in milliseconds. Increase for slow connections or large files.

  • type: integer
  • default: 300000

downloadTimeoutMsec

Download timeout in milliseconds. Increase for slow connections or large files.

  • type: integer
  • default: 300000

thumbnailsGenerationEnabled

Enables thumbnail generation for media files.

  • type: boolean
  • example: true | false
  • default: true

On Web default is false due to performance reasons.

thumbnailRemoteSave

Whether to save generated thumbnails back to the remote.

  • type: boolean
  • example: true | false
  • default: true

nativeMount

Enables native filesystem mount for the bucket. Applicable to iOS and Android.

  • type: boolean
  • example: true | false
  • default: true

This setting might be overridden by the global setting. If mount is disabled globally, setting this value to true won't take precedence.

mountAutostart

Automatically starts the native mount when the app launches.

  • type: boolean
  • example: true | false
  • default: false

mountUseServerTime

Uses the server's reported time instead of the local clock for mounted files.

  • type: boolean
  • example: true | false
  • default: true

mountCustomPath

Custom local path for the native mount point.

  • type: string
  • example: /mnt/my-bucket

forceUseRcloneUserAgentEnabled

Forces rclone to use native Rclone user agent string instead of app's default.

  • type: boolean
  • example: true