Add resumable large-file upload support to your web app so users never lose progress if their connection drops.
Run tusd as a standalone upload server and point your frontend tus client library at it to handle uploads.
Store uploaded files directly to S3 or Google Cloud Storage so you don't need local disk on the server.
Embed the tusd package as a Go library to add resumable upload handling directly inside your own application.
| tus/tusd | adtac/commento | dagger/container-use | |
|---|---|---|---|
| Stars | 3,781 | 3,782 | 3,778 |
| Language | Go | Go | Go |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 3/5 | 3/5 | 3/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires access to S3, GCS, or local disk for storage, cloud storage credentials must be configured before the server starts.
tusd is the official reference server for tus, an open protocol that makes file uploads resumable. When someone uploads a large file over a normal HTTP connection and their network drops halfway through, the upload fails and they must start over from the beginning. The tus protocol solves this by tracking how many bytes have already arrived on the server. If the connection breaks, the client can reconnect and pick up exactly where it left off, rather than resending the data from the start. tusd is the Go implementation of the server side of this protocol. Running it gives you an upload endpoint that any tus-compatible client library can talk to. The server accepts files of any size. Once a file arrives, it can be stored in a few places: on the local disk of the server, in Google Cloud Storage, or in Amazon S3 and any other storage system that speaks the S3 API. The README notes that adding support for other cloud providers would be straightforward given how the server is structured. The project is the reference implementation, meaning it is the authoritative example of how the tus protocol is supposed to work. Application developers who want to add resumable upload support to their own software typically either embed the tusd package as a library or run the tusd binary as a standalone server and point their frontend at it. The documentation for installation, configuration, and usage is hosted on the project website rather than in the repository. The current version is tusd v2, which introduced breaking changes from the previous v1 series. The software is released under the MIT license.
The official reference server for resumable file uploads, if a large upload is interrupted, the client can reconnect and continue from exactly where it left off instead of starting over.
Mainly Go. The stack also includes Go, AWS S3, Google Cloud Storage.
Use, modify, and distribute freely for any purpose, including commercially, as long as you keep the MIT license notice.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.