TUS Server
tus-server provides an implementation of the TUS protocol for resumable uploads built on cloudflare workers and R2.
Building
You'll need Node.js. If you use nvm run
To install dependencies,
In order to deploy to cloudflare or use non-local dev mode, use the wrangler utility. Follow those instructions to authenticate with your cloudflare account.
Testing
The server assumes an authentication is provided via a signature using a shared secret. You can provide one for development by setting SHARED_AUTH_SECRET in .dev.vars, e.g.
> cat .dev.vars
SHARED_AUTH_SECRET = "test"
To run a dev server you can interact with over localhost
To run unit tests,
Deploying
One time setup
- Create an R2 bucket and update the binding in
wrangler.toml - Add a base64 encoded shared auth secret with
wrangler secret put SHARED_AUTH_SECRET
wrangler deploy -e <staging|production>
Contributing bug reports
We use GitHub for bug tracking. Security issues should be sent to security@signal.org.
Help
We cannot provide direct technical support. Get help running this software in your own environment in our unofficial community forum.
License
Copyright 2023 Signal Messenger, LLC
Licensed under the AGPLv3