2.2 KiB
2.2 KiB
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:
TRANSBEAM_STORAGE_DIR
: path where uploaded files should be stored (default:./storage
)TRANSBEAM_STATIC_DIR
: path where the web app's static files live (default:./static
)TRANSBEAM_PORT
: port to listen on localhost for http requests (default: 8080)TRANSBEAM_MAX_LIFETIME
: maximum number of days files can be kept for (default: 30)TRANSBEAM_MAX_UPLOAD_SIZE
: maximum size, in bytes, of a fileset being uploaded (default: 16GiB)TRANSBEAM_MAX_STORAGE_SIZE
: maximum total size, in bytes, of all files being stored by transbeam (default: 64GiB)RUST_LOG
: log levels, for the app as a whole and/or for specific submodules/libraries. Seeenv_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 TRANSBEAM_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
- more readable download codes?
- proper error display in the web ui