olback / tempfiles-rs

Upload a file and share it for 24 hours

Home Page:https://tempfiles.ninja

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tempfiles

Share files for up to 24h hours.

Everything you upload, including filename and content-type is encrypted with aes-gcm-siv.

Table setup

column data type description
id VARCHAR(32) file id
iv bytea encryption iv (nonce)
content bytea encrypted file data
views integer valid file views
max_views integer/null delete after this amount of views, null if no limit is set
delete_password VARCHAR(32) password used for file deletion
timestamp timestamp used to determine if the file is older than 24h

Inspired by Carlgo11/TempFiles

Setup

Backend

Prerequisites

  • Rust (cargo, rustup)

Build:

cargo build --target x86_64-unknown-linux-gnu --release

Frontend

Prerequisites

  • NodeJS / NPM

Build:

cd frontend
npm i --legacy-peer-deps
npm run build

Deploy

  • Copy .sample.env to .env and modify.
  • Start services: docker-compose up (add -d to detach)
  • To configure the database: scripts/postgres_setup.sh
  • Done!

About

Upload a file and share it for 24 hours

https://tempfiles.ninja

License:GNU Affero General Public License v3.0


Languages

Language:Rust 45.7%Language:Svelte 41.3%Language:JavaScript 5.8%Language:Handlebars 3.0%Language:CSS 2.1%Language:Shell 1.4%Language:Dockerfile 0.4%Language:SCSS 0.3%