Low-latency file drop web app
				
			
		| resources | ||
| src | ||
| static | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
    
transbeam
A low-latency file drop web app
features
- One-to-many transfer of large files
 - Simple web UI for sender and receivers
 - Receivers can begin downloading immediately, without needing to wait for the upload to finish
 - Receivers can also download after the upload is complete and the sender has gone offline
 - Easy to send multiple files at once - they're bundled into a zip file for receivers, with zero compression so extraction is quick
 - Sanitises filenames, using sensible non-obnoxious defaults that should be safe across platforms
 - Fires a laser beam that turns you trans
 
configuration
transbeam is configured with the following environment variables:
STORAGE_DIR: path where uploaded files should be stored (default:./storage)STATIC_DIR: path where the web app's static files live (default:./static)PORT: port to listen on localhost for http requests (default: 8080)
It also uses the
env_logger crate
for logging; log levels are configured via the RUST_LOG variable,
see env_logger's documentation for details.
running
nix flakes
nix run git+https://git.xeno.science/xenofem/transbeam?ref=main
(The Nix package is wrapped with STATIC_DIR set automatically to the
correct Nix store path, so it'll serve the static files properly
no matter what directory you run it from.)
non-nix
git clone https://git.xeno.science/xenofem/transbeam
cd transbeam
cargo run --release
todo
- uploader auth
 - downloader auth
 - delete uploads after a while
 - configurable maximum file size