flashlink

Share it. Gone in an hour.

Upload a file to your own Cloudflare R2 bucket and hand a coding agent a short link that stops working on its own. Need it again? Refresh the same link.

$ fl up screenshot.png
✓ screenshot.png (1.2 MB) · expires 14:32
https://fl.example.com/k3F9xQ2m

# an hour later…
$ curl -sI https://fl.example.com/k3F9xQ2m | head -1
HTTP/2 410

$ fl refresh k3F9xQ2m --ttl 30m
✓ k3F9xQ2m is live again until 15:41

Built for handing files to coding agents.

Short + direct

Eight characters, served as the raw file with the right content type. No redirects, no login.

Self-expiring

One hour by default, set globally or per upload. Close a link early or cap its downloads.

Yours alone

One Worker, one Durable Object and a private bucket in your own Cloudflare account.

Already set up?

$ fl init --endpoint https://fl.example.com
$ fl up report.pdf
$ fl up build.log --ttl 15m
$ cat trace.txt | fl up --name trace.txt
$ fl ls
$ fl revoke k3F9xQ2m

Run your own.

A personal, single-user tool, so there is nothing to sign up for here. Deploy it to your own Cloudflare account; the free plan is enough.

$ git clone https://github.com/crcatala/flashlink
$ cd flashlink && pnpm install
$ pnpm --filter @flashlink/worker exec wrangler login
$ pnpm setup:cloudflare

Full instructions are in the deploy guide.