Reference server implementation in Go of tus: the open protocol for resumable file uploads
Go to file
Joey Coleman f4d1b7c443
cli: Allow accepting requests over HTTPS (#423)
* Add TLS support to tusd

* Adds `-tls-certificate`, `-tls-key`, and `-tls-mode` flags
* Alter printed URL to reflect protocol in use
* For non-TLS, do an eary-exit if http.Serve() returns
* Configure TLS for the following modes
    * TLSv1.3-only
    * (default) TLSv1.3+TLSv1.2, with recommended ciphersuites from Mozilla + matching RSA key transport modes
    * TLSv1.2 only, with only 256-bit AES ciphersuites
* All modes disable HTTP/2, given that it’s not supported in non-TLS mode
* Update documentation

* * Remove RSA-based key transport ciphersuites as they don’t support forward secrecy

* Improve the TLS/HTTPS example in the usage documentation

Signed-off-by: Joey Coleman <joey.coleman@kirasystems.com>

* Update docs further to a) record that the key file must be unencrypted, and b) clean up the RSA-based ciphersuite comments.
2020-09-29 15:19:10 +02:00
.github build: remove k8s related build (#426) 2020-09-11 20:47:45 +02:00
cmd/tusd cli: Allow accepting requests over HTTPS (#423) 2020-09-29 15:19:10 +02:00
docs cli: Allow accepting requests over HTTPS (#423) 2020-09-29 15:19:10 +02:00
examples docs: Use value from Host header to forward to tusd 2020-06-24 13:35:35 +02:00
internal/uid core: Move packages into pkg/ and internal/ folders 2019-06-11 18:23:20 +02:00
pkg memorylocker: Fix function names in documentation (#412) 2020-08-01 15:02:46 +02:00
scripts ci: Move from Travis to GitHub Actions (#308) 2019-10-01 17:58:22 +02:00
.gitignore Remove frey references 2018-03-14 12:27:48 +01:00
Dockerfile misc: Change cloud provider for master.tus.io (#300) 2019-08-13 09:50:18 +01:00
LICENSE.txt Update year 2017-01-19 21:20:12 +01:00
Procfile Heroku deployment (#425) 2020-09-11 15:20:18 +02:00
README.md docs: Add CI badge for GitHub Actions 2019-10-16 14:22:31 +02:00
go.mod cli: Fix build time error of gRPC hooks 2020-04-06 13:46:58 +02:00
go.sum cli: Fix build time error of gRPC hooks 2020-04-06 13:46:58 +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

Build Status

License

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