Reference server implementation in Go of tus: the open protocol for resumable file uploads
Go to file
Marius e52139f977
v2: Implement cancelable lock mechanism (#667)
* handler: Implement prototype of new locking back-end

* memorylocker2: Switch to channel for release notification

* handler: Update locker interface

* handler: Add method to close body with error

* memorylocker: Replace with new implementation

* filelocker: Adjust methods to match interface

* handler: Introduce new httpContext

* handler: Implement upload interruption

* handler: Adjust tests to new inferfaces

* handler, memorylocker: Cancel context to avoid leaks
2022-03-19 23:21:17 +01:00
.github ci: set dependabot to check weekly instead of daily (#666) 2022-02-22 15:08:53 +01:00
cmd/tusd v2: Rework hooks system (#516) 2022-03-02 00:36:49 +01:00
docs v2: Rework hooks system (#516) 2022-03-02 00:36:49 +01:00
examples v2: Rework hooks system (#516) 2022-03-02 00:36:49 +01:00
internal s3store: Parallelize part uploads and information retrieval (#478) 2021-05-18 10:29:18 +02:00
pkg v2: Implement cancelable lock mechanism (#667) 2022-03-19 23:21:17 +01:00
scripts ci: Generate a sha256sum file for each zip and tar file generated (#543) 2021-10-28 09:40:07 +02:00
.gitignore v2: Rework hooks system (#516) 2022-03-02 00:36:49 +01:00
Dockerfile build(deps): bump golang from 1.17.6-alpine to 1.17.7-alpine (#651) 2022-02-16 21:27:32 +01: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 docs: Update build status badges (#534) 2021-10-24 10:04:14 +02:00
go.mod v2: Implement cancelable lock mechanism (#667) 2022-03-19 23:21:17 +01:00
go.sum v2: Implement cancelable lock mechanism (#667) 2022-03-19 23:21:17 +01: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.