The official reference implementation of the tus resumable upload protocol.
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 7 commits ahead, 540 commits behind tus:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


tusd is the official reference implementation of the tus resumable upload protocol.

This means it is meant for client authors to verify their implementations as well as server authors who may look at it for inspiration.

In the future tusd may be extended with additional functionality to make it suitable as a standalone production upload server, but for now this is not a priority.

Protocol version: 0.2.1

Getting started


Running tusd from source:

Clone the git repository and cd into it.

git clone
cd tusd

Next source the file. You need to do this for each shell session you plan to use for running tus from source. It basically configures a local gopath for you, so you don't have to install tusd globally.


Now you can run tusd:

TUSD_DATA_STORE_MAXSIZE=4147483648 TUSD_SERVER_READ_TIMEOUT_IN_SECONDS=100000 TUSD_SERVER_WRITE_TIMEOUT_IN_SECONDS=100000 TUSD_DATA_DIR=/home/sbdata/tus_data TUSD_PORT=1080 go run src/cmd/tusd/main.go

Running the testsuite

cd src/http
go test -v .


This project is licensed under the MIT license, see LICENSE.txt.