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.
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.
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 Vauilt 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:
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"
}
}