Reference server implementation in Go of tus: the open protocol for resumable file uploads
Go to file
Kevin van Zonneveld 2d8cd0345b Add MIT License 2013-04-16 13:25:45 +03:00
scripts Disable the partial get as it wasn't supported by the protocol 2013-03-29 22:57:48 +01:00
src/cmd/tusd Full urls for Location header 2013-04-07 17:20:38 +02:00
.gitignore Ignore tus_data dir 2013-03-18 11:06:55 +01:00
LICENSE.txt Add MIT License 2013-04-16 13:25:45 +03:00
README.md Update Readme 2013-03-26 15:45:20 +01:00

README.md

tusd - Let's fix file uploading

It's 2013, and adding reliable file uploading to your app is still too damn hard. tus is an open source project dedicated to create the best file uploading protocol, server and clients.

Sounds interesting? Get notified when it's ready: http://tus.io/

Roadmap

The initial goal for this project to come up with a good and simple solution for resumable file uploads over http.

  • Defining a good http API (first proposal created)
  • Implementing a minimal and robust server for it (in progress)
  • Creating an HTML5 client (in progress, proof of concept working)
  • Setting up an online demo (done)
  • Integrating Amazon S3 for storage
  • Creating an iOS client

Future features will be based on your feedback. A few potential ideas:

  • Alternative transfer mechanisms: FTP, UDP, E-Mail, etc.
  • Security: Authentication Tokens, HTTPS, etc.
  • Support for running tusd instances in a geographically distributed cluster (reverse CDN)
  • Alternative storage backends: Cloud Files, Dropbox, etc.
  • More clients: Android, PhoneGap, etc.
  • Service integrations: Transloadit, Zencoder, Encoding.com, Youtube, Vimeo, Facebook, AWS Transcoder, etc.
  • File meta data analysis
  • Thumbnail generation

Once the project matures, we hope to offer a hosted service and support contracts. However, all code will continue to be released as open source, and you'll always be able to run your own deployments easily. There will be no bait and switch.

Getting started

Requirements:

Installing tusd:

Clone the git repository and cd into it.

git clone git@github.com:tus/tusd.git
cd tusd

Running tusd:

Run it with go:

go run src/cmd/tusd/*.go

License

We are currently making this decision, and will clarify this ASAP.