Go to file
neri 96eadb1723 return correct mime types, improve web security 2022-09-30 14:43:35 +02:00
snippet remove wrong lang=javascript attributes from script tags 2022-05-09 11:20:17 +02:00
src return correct mime types, improve web security 2022-09-30 14:43:35 +02:00
static add support for pasting files 2022-04-13 18:41:49 +02:00
template change repos.ctdo.de to git.ctdo.de 2022-05-09 23:04:13 +02:00
.dockerignore add dockerignore 2020-08-07 02:11:56 +02:00
.gitignore chore: update dependencies 2022-04-24 00:37:20 +02:00
Cargo.lock fix unlimited max file size template render 2022-07-23 15:02:30 +02:00
Cargo.toml fix unlimited max file size template render 2022-07-23 15:02:30 +02:00
Dockerfile unpin alpine version in dockerfile 2022-02-27 02:15:46 +01:00
LICENSE license as agpl 2021-10-16 00:22:54 +02:00
README.md update version, readme and sample docker-compose file 2022-04-10 23:45:32 +02:00
docker-compose.yml.sample add FILES_DIR to sample docker-compose environment 2022-04-11 00:01:19 +02:00
init-db.sql return correct mime types, improve web security 2022-09-30 14:43:35 +02:00
screenshot.png update screenshot 2022-01-29 13:21:00 +01:00

README.md

datatrash

A file and text uploading service with configurable time limit

Application screenshot

running

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.

config

  • 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
STATIC_DIR ./static
FILES_DIR ./files
UPLOAD_MAX_BYTES 8388608 (8MiB)
BIND_ADDRESS 0.0.0.0:8000

Database configuration

environment variable default value
DATABASE_URL
DATABASE_USER
DATABASE_PASS
DATABASE_HOST localhost
DATABASE_NAME datatrash

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
AUTH_PASSWORD
NO_AUTH_MAX_TIME
NO_AUTH_LARGE_FILE_MAX_TIME
NO_AUTH_LARGE_FILE_SIZE

compiling

cargo build --release

or

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