Freeshka

Object storage that stays out of your way

An S3-compatible API with a built-in delivery cache. Upload a file, get a URL. Flat monthly pricing, no egress fees, no per-request billing surprises.

curl -X PUT https://app.freeshka.org/v1/buckets/assets/report.pdf \
  -H "Authorization: Bearer $FREESHKA_TOKEN" \
  -H "Content-Type: application/pdf" \
  --data-binary @report.pdf

{
  "key": "report.pdf",
  "bucket": "assets",
  "size": 284119,
  "etag": "8f14e45fceea167a5a36dedd4bea2543",
  "url": "https://cdn.freeshka.org/assets/report.pdf"
}

S3-compatible

Works with the AWS SDKs, rclone, s3cmd and anything else that speaks the S3 API. Point the endpoint at us and keep your existing code.

Delivery included

Every bucket gets a cached public endpoint with range requests, conditional GETs and automatic compression. No separate CDN to wire up.

Flat pricing

You pay for stored capacity. Bandwidth, requests and cache invalidations are not metered, so your bill does not move when traffic spikes.

Signed URLs

Issue time-limited links for private objects, scoped per key or per prefix, with optional IP and referrer pinning.

Versioning

Keep previous revisions of an object for a configurable window and restore any of them through the API.

Two regions

Buckets live in Amsterdam or Frankfurt. Objects are replicated across three nodes inside the region you pick.