A website for temporary file- or text hosting https://trash.ctdo.de/
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
neri 40fba9992a fix: video and audio playback 1 week ago
snippet feat: add abuse mail link to footer 10 months ago
src fix: video and audio playback 1 week ago
static feat: add icon 5 months ago
template feat: add icon 5 months ago
.dockerignore add dockerignore 3 years ago
.gitignore feat: update styling and layout 10 months ago
Cargo.lock fix: video and audio playback 1 week ago
Cargo.toml fix: video and audio playback 1 week ago
Dockerfile version 1.2.0 1 year ago
LICENSE license as agpl 2 years ago
README.md feat: add abuse mail link to footer 10 months ago
datatrash-favicon-inkscape.svg feat: add icon 5 months ago
docker-compose.yml.sample add FILES_DIR to sample docker-compose environment 2 years ago
init-db.sql fix db migration 1 year ago
mime.types determine corrext file extension for text uploads 1 year ago
screenshot.png update screenshot 2 years ago



A file and text uploading service with configurable time limit

Application screenshot showing the web form for file or text upload


For running on docker, use the provided docker-compose.yml.sample and adapt it to your needs. To run the software directly, use the compiling instructions below.


  • The static files directory needs to be next to the binary.
  • The static directory sadly needs to be writable
    • On startup the index.html will be generated based on the config
  • The maximum filename length is 255

General configuration

environment variable default value description
STATIC_DIR ./static directory to generate "static" files into
FILES_DIR ./files directory to save uploaded files into
UPLOAD_MAX_BYTES 8388608 (8MiB) maximum size for uploaded files
BIND_ADDRESS address to bind the server to
RATE_LIMIT true whether download rate should be limited
RATE_LIMIT_PROXIED false whether rate limit should read x-forwarded-for
RATE_LIMIT_REPLENISH_SECONDS 60 seconds to wait between requests
RATE_LIMIT_BURST 480 allowed request burst
ABUSE_MAIL email address to report abuse to

Database configuration

environment variable default value

No auth limits configuration

Require authentication for certain uploads

  • The password is provided as plain text
  • Uploads with longer validity than NO_AUTH_MAX_TIME require authentication
  • Uploads larger than NO_AUTH_LARGE_FILE_SIZE require auth when they are valid for longer than NO_AUTH_LARGE_FILE_MAX_TIME
  • All times are in seconds, the size is in bytes
environment variable default value


cargo build --release


docker build -t datatrash .
docker cp datatrash:/home/rust/.cargo/bin/datatrash datatrash