Skip to content

v2.0.0

Choose a tag to compare

@beleon beleon released this 04 Aug 02:43
· 4 commits to main since this release

A from-scratch rewrite of buckets. Same tool as before: a tiny in-memory pastebin
with curl support. One Go file, stdlib only, one embedded HTML page, zero configuration.

What's new since the v1 line

  • Rewritten as a single main.go with no dependencies beyond the standard library.
  • Web UI: paste text, drop a file, or paste an image. Ctrl+Enter shares.
  • POST /<filename> to upload, GET /<slug>/<filename> to download, replace and
    delete on the full path. GET /<slug> redirects to the full path.
  • Content-Type detection at upload, range requests and HEAD supported.
  • 24h TTL per bucket; replacing a bucket resets its clock.
  • 500 MB per upload and 500 MB total, oldest-first eviction, 413 while streaming.
  • Rate limits: 6 uploads/min and 60 other requests/min, global, returning 429.
  • Slugs are 48 bits from crypto/rand, 8 base64url chars, and guessing one needs
    the filename too.
  • Everything lives in memory. No disk, no database, nothing survives a restart.
  • FROM scratch container image holding a single static binary.

The v1 line is preserved in this repository's history at the v1-final tag.