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.
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.
← tus on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.