Reference server implementation in Go of tus: the open protocol for resumable file uploads
Go to file
Marius 3f042b97a0
cli: Shutdown gracefully by default (#963)
* cli: Implement graceful shutdown

* Make shutdown timeout configurable

* Also shutdown gracefully for SIGTERM

* Add comment

* Add test for handler.InterruptRequestHandling

* Add documentation
2023-06-13 16:17:46 +02:00
.github deps: Upgrade dependencies (#957) 2023-06-05 11:05:37 +02:00
cmd/tusd cli: Shutdown gracefully by default (#963) 2023-06-13 16:17:46 +02:00
docker docker: Allow passing secrects using files (#810) 2022-09-19 09:34:37 +02:00
docs cli: Shutdown gracefully by default (#963) 2023-06-13 16:17:46 +02:00
examples Add v2 to module name 2023-03-08 13:03:18 +01:00
internal s3store: Parallelize part uploads and information retrieval (#478) 2021-05-18 10:29:18 +02:00
pkg cli: Shutdown gracefully by default (#963) 2023-06-13 16:17:46 +02:00
scripts Merge branch 'main' into v2 2023-03-06 14:50:32 +01:00
.gitignore Merge branch 'master' of github.com:tus/tusd into v2 2022-10-10 20:48:47 +02:00
Dockerfile deps: Upgrade dependencies (#957) 2023-06-05 11:05:37 +02:00
LICENSE.txt Update year 2017-01-19 21:20:12 +01:00
Procfile Increase max size to 100GB (#551) 2021-11-03 11:13:26 +01:00
README.md chore: Rename master to main 2023-01-18 13:04:11 +01:00
go.mod fixup! Merge branch 'main' of github.com:tus/tusd into v2 2023-06-09 12:34:39 +02:00
go.sum Merge branch 'main' of github.com:tus/tusd into v2 2023-06-09 12:33:33 +02:00

README.md

tusd

Tus logo

tus is a protocol based on HTTP for resumable file uploads. Resumable means that an upload can be interrupted at any moment and can be resumed without re-uploading the previous data again. An interruption may happen willingly, if the user wants to pause, or by accident in case of an network issue or server outage.

tusd is the official reference implementation of the tus resumable upload protocol. The protocol specifies a flexible method to upload files to remote servers using HTTP. The special feature is the ability to pause and resume uploads at any moment allowing to continue seamlessly after e.g. network interruptions.

It is capable of accepting uploads with arbitrary sizes and storing them locally on disk, on Google Cloud Storage or on AWS S3 (or any other S3-compatible storage system). Due to its modularization and extensibility, support for nearly any other cloud provider could easily be added to tusd.

Protocol version: 1.0.0

This branch contains tusd v1. If you are looking for the previous major release, after which breaking changes have been introduced, please look at the 0.14.0 tag.

Documentation

Build status

release continuous-integration

License

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