A high-performance, S3-compatible object storage system written in Swift, positioned as an open alternative to MinIO and RustFS.
tus/tusd
Reference Go server for the tus protocol, enabling resumable HTTP file uploads to local disk, Google Cloud Storage or S3.
- Stars
- 3,903
- Forks
- 557
- Open issues
- 88
- Last commit
- 6 days ago
What is it?
tusd is the official reference server for the tus resumable upload protocol. The protocol lets clients upload files over plain HTTP and pause or resume at any point, so an upload interrupted by a network drop or server outage continues without re-sending data already received.
The server accepts uploads of arbitrary size and stores them on local disk, Google Cloud Storage, or AWS S3 and other S3-compatible systems. Its storage and hook handling are modular, so additional storage backends can be added.
The project is written in Go and targets developers who need reliable large-file uploads from browsers or mobile clients. The full guides for installing and configuring tusd are hosted on its documentation website.
Key features
- 01Resumable uploads that continue after interruptions without re-sending data
- 02Storage on local disk, Google Cloud Storage, or AWS S3 and S3-compatible systems
- 03Modular design that allows adding other storage backends
- 04Implements the open tus HTTP protocol, version 1.0.0
Use cases
- Letting users upload large videos or files from a web or mobile app over unreliable networks
- Adding resumable upload endpoints that store files directly in S3 or Google Cloud Storage
- Running a self-hosted upload server that interoperates with tus client libraries
Quick start
- 1
Read the documentation for installing and running tusd
Things to know
- Installation and usage details are only on the external website, not in the README.
Topics
FAQ
- What is tusd?
- Reference Go server for the tus protocol, enabling resumable HTTP file uploads to local disk, Google Cloud Storage or S3. tusd is the official reference server for the tus resumable upload protocol. The protocol lets clients upload files over plain HTTP and pause or resume at any point, so an upload interrupted by a network drop or server outage continues without re-sending data already received.
- Is tusd free to use? What license does it have?
- tusd is open source under the MIT license. Check the license terms before using it in commercial products.
- Is tusd still maintained?
- Actively maintained. The last commit to tusd was on Oct 14, 2026.
- What can I use tusd for?
- Letting users upload large videos or files from a web or mobile app over unreliable networks Adding resumable upload endpoints that store files directly in S3 or Google Cloud Storage Running a self-hosted upload server that interoperates with tus client libraries
- How do I install tusd?
- Read the documentation for installing and running tusd
- Where can I get tusd?
- The source code and installation instructions are on GitHub: https://github.com/tus/tusd
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Command-line tool to sync, copy and mount files across more than 70 cloud storage providers and local storage, described as rsync for the cloud.
A stateless, Kafka-compatible streaming system that stores data on S3 or S3-compatible object storage instead of local disks.
A keyboard-driven terminal download manager in Go that splits files into parallel chunks and can download from multiple mirrors.
A lightweight, pure-browser file manager for Cloudflare R2 buckets, with chunked uploads, previews, and image-hosting helpers.
A local-first desktop API client for HTTP, gRPC, GraphQL and WebSocket, built with Wails 3 and Vue 3.