1.3 KiB
Uncensored Send
A small self-hosted file drop. Uploads land in a flat data directory, expire on their own, and are served back as inert attachments.
Built for sharing large binaries with friends so that I don't have to manually manage the tmp folder on my generic web server.
- One static Go binary, standard library only.
- Anyone who can reach the page may upload, within a size cap and a lifetime.
- Named tokens raise those limits, unlock vanity names, and can grant admin.
Quickstart
go build
./uncensored-send token add me --vanity --admin
./uncensored-send
Open http://localhost:8080, click Log in, paste the token. That's it.
When you put it behind a reverse proxy that terminates TLS, set --public-url,
and make sure the proxy neither buffers request bodies nor imposes its own
upload limit.
The data directory holds the uploads, tokens.json, and session.key, which
seals the login cookie so that it carries a session rather than the token
itself. The last two are credential material, written 0600. Deleting
session.key logs every browser session out and costs nothing else; a new one
is generated on the next start.
Options
Read ./uncensored-send --help rather than this file.
Every option also reads from UNCENSORED_SEND_-prefixed environment variables.
Development
go test ./...
go vet ./...