Give one of the implementations a try: https://github.com/psanford/wormhole-william
Give one of the implementations a try: https://github.com/psanford/wormhole-william
https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareO...
Google Cloud, Backblaze, Digital Ocean, Cloudflare, Azure all have this presigned URLs functionality too (I checked for the degree of lockin before I started using S3's presigned URLs in a set of bulk-data APIs at one place I've worked.)
GCP: https://cloud.google.com/storage/docs/access-control/signed-...
Digital Ocean: https://docs.digitalocean.com/products/spaces/how-to/set-fil...
Hetzner: https://docs.hetzner.com/storage/object-storage/faq/buckets-...
Backblaze: https://backblaze-prod.us.document360.io/apidocs/b2-get-down...
Cloudflare R2: https://developers.cloudflare.com/r2/api/s3/presigned-urls/
Azure: https://learn.microsoft.com/en-us/rest/api/storageservices/d...
etc.
Also, presigned URLs can be used not just for downloading files with a temporary URL but can also be created for uploading files with a temporary URL.
But it is not great if you want to distribute a file multiple times, asynchronously, or with other functionality gained from centralized storage. This is where people typically use email, dropbox, or perhaps the tool from TFA.
Non-free Resilio Sync basically automated this