I’d like to have something to manage public downloads (and preferably uploads too) from my server. So far I’ve just used a directory on the server with NGINX directory listing enabled and that has worked reasonably well, but I’d like to upgrade some functionality. My requirements (in order of importance):

  1. Can handle files and directories, directory browsing.
  2. Preview images, gallery style.
  3. Download directories as zip.
  4. Storage in local directory, easy to manage manually
  5. Downloads can expire after a set time
  6. Data can be either owned by the service, or just linked from the filesystem, expired owned items are deleted
  7. “Unlisted” items, probably with a long-ish random key in the URL
  8. File uploads, uploaded files are not publicly visible, need an invite URL to upload.

I tried looking around a bit, but couldn’t find anything, but at the same time this feels like a really simple & obviously useful thing to run on a server. Did I miss something?

I almost started writing the service myself (get some practice with Actix and Docker, you know …), but managed to stop myself and not add yet another project to my ever growing list :-).