Stash banner

Stash

4 devlogs
18h 19m 5s

A temporary file host with a generous max size, optional file passwords, unique limiting system and more!

This project uses AI

Used tab autocomplete early on but stopped cuz github copilot is 99% annoying and 1% half useful

Demo Repository

Loading README...

Tally

Shipped this project!

I made a file host!!
I had issues with existing solution
some include:

  • max size is way too goddamn small
  • needs accounts sometimes
  • too complicated

I wanted something fast, simple, and usable, so I made it!
The hardest part of coming up and implementing the “tank quota” system
there were so many edge cases that had to be dealt with

  • what happens if an upload fails?
  • how do you prevent users from uploading files beyond their limits even though they “technically” havent used it yet?
  • how do i stop people from uploading too many chunks

eventually i settled on a reservation system where a certain capacity (the file’s size) is reserved when you begin uploading, but that never actually touches your actual quota until you finalize the upload
chunks are never stored in the registry until an upload is finalized, so users cant half upload a massive file and write hundreds of chunks and then leave them there forever, they will get sweeped

I really like the tank system and im surprised i haven’t seen it before
another thing im proud of is the freaking slider component, i really like my slider component (kinda specific but whtvr)

ok thats enough yapping baibai

Tally

write a readme and release v1

Attachment
0
Tally

Uploading AND Downloading now work FULLY
Added option for files to require a password to download cuz why not
also changed some backend stuff to make sure there are no leaks

0
Tally

Basically rewrote the entire backend (which I can’t really show because its all code)

  • change max quota to 2gb
  • actually enforce quota
  • new reservation system so incomplete uploads dont take quota forever
  • a crap ton of checks
  • abort method for canceling uploads

ui changes:

  • slider (i worked hard on it pls clap)
  • lots of small tweaks
0
Tally

Created a “fuel tank” like quota system, where uploading files uses up available quota, and quota slowly refills at a constant rate.

1GB Maximim quota, refills at 100mb/hour. 10 hours to go from 0b to 1GB

Remaining quota is calculated lazily when needed, there is no interval to recalculate quota, its only calculated on request (good for efficiency tw_tada )

0