Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pnc/send-me-files
Serverless app for receiving huge uploads from anyone
https://github.com/pnc/send-me-files
aws serverless typescript
Last synced: 21 days ago
JSON representation
Serverless app for receiving huge uploads from anyone
- Host: GitHub
- URL: https://github.com/pnc/send-me-files
- Owner: pnc
- Created: 2014-03-06T02:15:19.000Z (almost 11 years ago)
- Default Branch: main
- Last Pushed: 2024-09-23T09:43:19.000Z (4 months ago)
- Last Synced: 2024-10-29T15:29:15.309Z (2 months ago)
- Topics: aws, serverless, typescript
- Language: TypeScript
- Homepage:
- Size: 2.06 MB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Hacking
Set up `.env`
`yarn test`
## To Do
1. Allow one-click retry
2. Literate template YAML
3. `.env` or something to make local development/deployment less annoying
4. Make sure retry still works## Possible future ideas
1. One-off request links
1. Resume even after closing browser (store session ID in localStorage, derive filename from checksum)
1. Upload an entire directory (client side ZIP)
2. End-to-end encryption from browser to download
3. Try S3 transfer acceleration first, fall back to whitelabel domain?## Known issues
1. ~Upload of a 1.5GB file aborts in Chrome on Linux, readerror type thing~
1. ~Uses way too much memory uploading a 3GB file in Safari. I think streaming is keeping the file blob loaded in memory anyway.~
1. Can't download files with emoji in the namerankdir=LR;
```graphviz
digraph finite_state_machine {size="6,5"
initial -> authenticated;
initial -> authentication_failed;
authentication_failed -> authentication_failed [ label = "retry fails" ];
authentication_failed -> authenticated [ label = "retry succeeds" ];
authenticated -> initial [ label = "expires" ];}
```