Use your drive from any program
Every EasyToStore drive speaks S3, the language most backup and file tools already know. Use rclone, restic, Cyberduck, the AWS tools, or your own code.
1. Make an access key
Sign in at user.easytostore.com as your drive's owner, then open Settings › Storage API › Make an access key. Copy both the access key and the secret key. The secret is only shown once; if you lose it, delete the key and make a new one.
Make one key per computer or program, so you can turn one off without touching the others. A read-only key can list and download files but can't add or delete them.
2. Connection settings
| Endpoint | https://api.easytostore.com |
|---|---|
| Region | us-east-1 |
| Addressing | Path style (https://api.easytostore.com/bucket/file). Turn on "force path style" or "path-style requests" in your program. |
| Signing | AWS Signature Version 4 (every current S3 tool uses it) |
Good to know
- One pool of space. Files you keep through the storage API share your plan's space with your photos and videos. Settings shows how much each uses.
- Encrypt private files. Photos are locked on your own devices before they're sent, so we can't see them. Storage API files are kept exactly as your program sends them, so for anything private turn on the program's own encryption. restic always encrypts; rclone has a "crypt" remote (shown below).
- Buckets are yours alone. Bucket names only have to be unique on your drive, not across EasyToStore.
- Keep your clock right. Requests signed more than 15 minutes away from the real time are refused.
- If your plan is paused, you can still list, download and delete files, but not add new ones.
rclone
Add this to your rclone config (rclone config file shows where it is), with your own keys:
[easytostore]
type = s3
provider = Other
access_key_id = ETS...
secret_access_key = your secret key
endpoint = https://api.easytostore.com
region = us-east-1
force_path_style = true
Then make a bucket and copy files into it:
rclone mkdir easytostore:backup
rclone sync ~/Documents easytostore:backup/documents --progress
To encrypt everything first, add a crypt remote on top, set its passwords with rclone config, and use private: instead:
[private]
type = crypt
remote = easytostore:backup/private
restic
restic encrypts your backups with its own password before they leave your computer.
export AWS_ACCESS_KEY_ID=ETS...
export AWS_SECRET_ACCESS_KEY="your secret key"
restic -r s3:https://api.easytostore.com/restic-backup -o s3.bucket-lookup=path init
restic -r s3:https://api.easytostore.com/restic-backup -o s3.bucket-lookup=path backup ~/Documents
AWS CLI
aws configure --profile easytostore
aws configure set s3.addressing_style path --profile easytostore
aws s3 mb s3://my-bucket --profile easytostore --endpoint-url https://api.easytostore.com
aws s3 cp photo.jpg s3://my-bucket/ --profile easytostore --endpoint-url https://api.easytostore.com
When aws configure asks, enter your access key, secret key and region us-east-1.
Python (boto3)
import boto3
from botocore.config import Config
s3 = boto3.client(
"s3",
endpoint_url="https://api.easytostore.com",
region_name="us-east-1",
aws_access_key_id="ETS...",
aws_secret_access_key="your secret key",
config=Config(s3={"addressing_style": "path"}),
)
s3.create_bucket(Bucket="my-bucket")
s3.upload_file("photo.jpg", "my-bucket", "photos/photo.jpg")
JavaScript (AWS SDK v3)
import { S3Client, PutObjectCommand } from "@aws-sdk/client-s3";
const s3 = new S3Client({
endpoint: "https://api.easytostore.com",
region: "us-east-1",
forcePathStyle: true,
credentials: { accessKeyId: "ETS...", secretAccessKey: "your secret key" },
});
await s3.send(new PutObjectCommand({ Bucket: "my-bucket", Key: "hello.txt", Body: "Hello!" }));
Cyberduck and other apps
Any app with an "S3 compatible" option works with the settings above. In Cyberduck, pick the S3 (Deprecated path style requests) connection profile, type api.easytostore.com as the server, and paste your access key and secret key.
What works
| Buckets | Make, list, delete (once empty). Up to 100 per drive, named with 3 to 63 lowercase letters, numbers, dots and dashes. |
|---|---|
| Files | Upload, download (whole or a byte range), copy, delete one or up to 1,000 at a time, list with folders and pages. Content type and x-amz-meta-* metadata are kept. |
| Big files | Up to 4 GB in one upload. Bigger files go up in parts (multipart upload, up to 10,000 parts); most programs do this for you. Unfinished uploads are cleared after 7 days. |
| Sharing | Presigned links (download or upload) that work for up to 7 days. |
| Not supported | Old versions of files, public buckets and bucket policies, tags, object lock, website hosting, copying into a part (UploadPartCopy), and bucket-in-the-address URLs (bucket.api.easytostore.com). |
Questions
Stuck on a setup? Send us a message with the program you're using and the error it shows.