tus-node-server
tus-js-client
tus-node-server | tus-js-client | |
---|---|---|
3 | 3 | |
736 | 1,934 | |
3.5% | 2.3% | |
8.8 | 7.9 | |
8 days ago | 7 days ago | |
TypeScript | JavaScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
tus-node-server
-
Supabase Storage: now supports the S3 protocol
Supabase contributed some advanced features from the Node implementation of TUS Spec including distributed locks, max file size, expiration extension and numerous bug fixes:
-
Supabase Storage v3: Resumable Uploads with support for 50GB files
Yeah the Typescript port gave a good starting point. However there were some missing pieces which we had to build into our server - https://github.com/tus/tus-node-server#extensions
We plan to contribute these back to the Node TUS server after launch week.
tus-js-client
-
Ask HN: How to handle user file uploads?
We map the TUS[0] protocol to S3 multipart upload operations. This lets us obscure the S3 bucket from the client. The TUS operations are handled by a dedicated micro-service. It could be done in a Lambda or anything.
Once the upload completes we kick off a workflow to virus scan, unzip, decrypt, and process the file depending on what it is.
For virus scanning, we started with ClamAV[1], but eventually bought a Trend Micro product[2] for reasons that probably don't apply to you. It is serverless based on SQS, Lambda, and SNS. Works fine.
Once scanned, we do a number of things. For images that you are going to serve back out, you for sure want to re-encode those and strip metadata. I haven't worked directly on that part.
[0] https://tus.io/
-
Supabase Storage: now supports the S3 protocol
Resumable uploads are powered by the TUS protocol. The journey to get here was immensely rewarding, working closely with the TUS team. A big shoutout to the maintainers of the TUS protocol, @murderlon and @acconut, for their collaborative approach to open source.
- File uploader library
What are some alternatives?
tusd - Reference server implementation in Go of tus: the open protocol for resumable file uploads
React-Native-Maps-Animation-Tutorial - DEV: React Native Maps Animation Tutorial
use-tus - React hooks for resumable file uploads using tus
vue-file-agent - The most beautiful and full featured file upload component for Vue JS
supabase-py - Python Client for Supabase. Query Postgres from Flask, Django, FastAPI. Python user authentication, security policies, edge functions, file storage, and realtime data streaming. Good first issue.
chibisafe - Blazing fast file vault written in TypeScript! 🚀
youtube-uploader - Free youtube video uploader with no limits