Cryptographically secure file transfer CLI tool
c933339771
* Spawn to threads as a client to handle stdin (blocking) & connection/transfer * Input from stdin gets transfered to connection-thread via MPSC-channel * Included a new flag (-a) to skip stdin and instead download all available files from the host * Removed earlier typos |
||
---|---|---|
.github/workflows | ||
data | ||
doc | ||
output | ||
src | ||
tests | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
README.md |
TCP socket pair for easy and efficient file transfer
Single binary (~5.6 MB) containing both server and client. Originally made as an backend for other project.
Installation and usage
Quickly run with:
cargo run -- <OPTIONS>
or create and run an optimized, independent binary:
cargo build --release
./target/release/fragilebyte <OPTIONS>
If no options are specified the app starts as a server by default. It can be started as a client by defining a target address as shown below.
USAGE:
fragilebyte [OPTIONS]
OPTIONS:
-b, --buffersize <BUFFERSIZE> Buffersize used in the file transfer (bytes) [default: 8192]
-f, --fileroot <FILEROOT> Path to the folder where the files are outputted as a client or
served from as a server [default: './output' / './data']
-h, --help Print help information
--localhost Run only in the local network
-p, --port <PORT> Port where the service is hosted [default: 8080]
-t, --target <TARGET> Server's address when connecting as a client
--timeout <TIMEOUT> Seconds of inactivity after which the server closes itself
[default: 30]
-V, --version Print version information