Skip to content

Supported providers

Intro

S3Drive is natively integrated with S3 protocol and Rclone library, that makes it compatible with pretty much anything, that is variety protocols, personal storage solutions, cloud providers, self-hosted solutions and even combination of these.

Personal file storage

Google Drive, Google Photos, Dropbox, Box, Microsoft OneDrive, pCloud, Proton Drive, Koofr

S3 providers

AWS S3, Backblaze B2, Synology C2, Cloudflare R2, Google Cloud Storage, Wasabi, Linode, IDrive e2, Storj, Scaleway, DigitalOcean Spaces

Protocols

WebDAV, SFTP, SMB, FTP, HTTP

Other providers

1Fichier, Akamai Netstorage, Citrix ShareFile, Digi Storage, Enterprise File Fabric, HiDrive, Internet Archive, Jottacloud, Linkbox, Mail.ru Cloud, Mega, Rackspace Cloudfiles, Memset Memstore, OpenDrive, Oracle Object Storage, PikPak, premiumize.me, put.io, QingStor, Quatrix by Maytech, Sia, Storj, SugarSync, Uptobox, Yandex Disk, Zoho WorkDrive

Other providers (S3)

AWS Snowball Edge, Dreamhost, Huawei OBS, IBM COS (S3), Storadera, Xaweho.de, Storagecenter.ch, Petabox, IONOS Cloud, Qiniu Cloud Object Storage (Kodo), RackCorp, Seagate Lyve Cloud, Alibaba OSS, China Mobile Ecloud Elastic Object Storage (EOS), Leviia Cloud Object Storage, Liara, ArvanCloud, Tencent COS, Netease NOS

Info

This list isn't exhaustive and there is a variety of other S3 compatible providers. If you know some S3 provider that is worth mentioning, please let us know.

Self-hosted (S3)

MinIO, SeaweedFS, GarageFS, Openstack Swift S3, Ceph, Zenko CloudServer

Self-hosted

HDFS, Seafile, Openstack Swift

Storage modifiers

Alias, Chunker, Compress, Combine, Crypt, Hasher, Union

Setup

In order to use non-S3 provider with S3Drive on either mobile or desktop you would normally have to configure it using: rclone config first. Rclone is available on your desktop after installing Rclone.

Info

It is also possible to run Rclone command on Android using Termux: https://forum.rclone.org/t/official-support-for-the-android-platform/25024/6 however we don't think it's easy enough to officially recommend it.

We recommend you to follow detailed config instructions for each respective back-end: https://rclone.org/docs/

On desktop your configured back-ends via Rclone command, will be automatically selectable from the S3Drive client.

On mobile you will need to import data that you export from your Rclone where you've setup respective back-ends. In order to export data from Rclone use: rclone config dump command and then import it on S3Drive Profiles page.

Tip

You can import data to S3Drive by pasting whole or partial output from rclone config dump. You can also save output of rclone config dump to file, copy to your mobile device and import it as a file.

Info

We're working on embedding back-end setup process in S3Drive to make it much easier to use.

Username/password setup

Connection to some providers (e.g. Proton Drive) can be made using just username and password in which case such config can be generated by hand without Rclone.

Add Rclone back-end

Cloud providers configuration

For most back-ends you'll want to generate configuration using: rclone config command and back-ends specific instructions: https://rclone.org/docs/

As an example, for Google Drive you type: rclone config, then type: n (new back-end), give name, e.g.: myGoogleFiles, type drive (that refers to Google Drive) and then answer questions or if you don't know the answer for simplified setup click enter multiple times until your browser opens asking you to give permissions to Rclone. Once you're done type: rclone config dump, copy the generated configuration and paste into S3Drive.

OAuth2

Providers using OAuth, that is Google Drive, Microsoft OneDrive, Dropbox and pCloud at least, do require setup through Rclone. The resulting config will look similar to this.

Google Drive

"gdrive": {
    "scope": "drive",
    "team_drive": "",
    "token": "{\"access_token\":\"...WBB4OKuxg0171...\",\"token_type\":\"Bearer\",\"refresh_token\":\"1//-648XdljxqA...\",\"expiry\":\"2023-12-21T15:05:42.0006717+01:00\"}",
    "type": "drive"
}

pCloud

"pcloud": {
  "hostname": "eapi.pcloud.com",
  "token": "{\"access_token\":\"WGI5ZDnONB9374k\",\"token_type\":\"bearer\",\"expiry\":\"0001-01-01T00:00:00Z\"}",
  "type": "pcloud"
}
Info

In the future S3Drive will allow setting up all these providers from the app itself, stay tuned.

Password based

Proton drive

For Proton you can either use below configuration (you'll need to paste your username and password) or follow: rclone config procedure.

"proton": {
  "type": "protondrive",
  "username": "your@email.de",
  "password": "yourPassword"
}
Warning

Some users reported their account being blocked by Proton Drive: https://www.reddit.com/r/rclone/comments/1d2pm6p/rclone_blocked_by_proton_drive_it_seems/
As of 29th May 2024, Proton Team mentioned that these issues are now resolved.

Koofr

"koofr": {
    "endpoint": "https://app.koofr.net/",
    "password": "<obscuredPassword>",
    "type": "koofr",
    "user": "myuser@email.de"
},
Tip

Koofr Vaults are supported. After setting up Koofr as mentioned above, you'll need to import Vault config in JSON format as shown below. Vault config is displayed to you during its creation, alternatively you can use Backup config feature to display config for an existing Vault. Example:

"my-safe-box": {
    "type": "crypt",
    "remote": "koofr:/My safe box",
    "password": "U2shMYIe-BOcc1TkC7FQub9dRrryuSXXzA",
    "password2": "G7KxdOzdGeFxHadwcwf6KfedVQWZug19kq0e8AsrK"
}

Common protocols configuration

WebDav

"webdav": {
    "type": "webdav",
    "url": "http://127.0.0.1:8080",
    "user": "username",
    "vendor": "other"
}

SFTP

  "sftp": {
    "host": "127.0.0.1",
    "user": "username",
    "pass": "X5yCyyN821cdHm0pLvfeX81Tn7sHtA",
    "port": "22",
    "type": "sftp"    
}

For password generation see: password obscure.

S3

Tip

For best experience and access to all functionality configure S3 using S3Drive connect forms instead of Rclone.

"s3": {
    "access_key_id": "<accessKeyId>",
    "secret_access_key": "<secret>",
    "endpoint": "https://endpoint",
    "provider": "Other",
    "region": "us-east-1",
    "type": "s3"
},

FTP

"ftp": {
    "host": "ftp.dlptest.com",
    "pass": "2HuK7wJSQJDA8rP2mqIKHrwwFtsPoD6FCQYh4q_iJEvs_bSiJQBhoHA",
    "type": "ftp",
    "user": "dlpuser"
}

SMB

"smb": {
    "host": "smb.hostname.com",
    "pass": "<obscuredPass>",
    "type": "smb",
    "user": "usersomething"
}

Client-side encryption

S3

Enable Rclone compatible E2E encryption from S3Drive settings.
Alternatively you can set up S3 by importing: config and wrapping it around crypt.
Refer to our existing documentation.

Other protocols/providers

In order to setup encryption you'll need have to setup your back-end as usual and then point crypt back-end to the location of your unencrypted back-end. You can configure crypt using standard: rclone config command, alternatively you can generate config manually. Please refer to Rclone crypt.

Manual setup

Password provided in the configuration file must be obscured.

On Linux/Mac: echo "YourPlaintextPassword" | rclone obscure -

On Windows: PowerShell -Command "'YourPlaintextPassword' | rclone obscure -"

Copy out the generated string and paste it inside your crypt config.

Example

{"pcloudEncrypted": {
    "password": "obscuredPassword",
    "remote": "pcloud:myEncryptedFolder",
    "type": "crypt"
}}

If you've provided: pcloud: instead of pcloud:myEncryptedFolder in the above example you would set up encryption globally not just in myEncryptedFolder

Multiple back-ends

{
    "pcloud": {
        "hostname": "eapi.pcloud.com",
        "token": "{\"access_token\":\"WGI5ZDnONB9374k\",\"token_type\":\"bearer\",\"expiry\":\"0001-01-01T00:00:00Z\"}",
        "type": "pcloud"
    },
    "pcloudEncrypted": {
        "password": "obscuredPassword",
        "remote": "pcloud:myEncryptedFolder",
        "type": "crypt"
    },
    "proton": {
        "type": "protondrive",
        "username": "your@email.de",
        "password": "yourPassword"
    }
}