diff --git a/README.md b/README.md new file mode 100644 index 0000000..d92b102 --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +## 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](https://github.com/einisto/leightbox). + +

+ + +

+ +### Installation and usage + +Quickly run with: + +```shell +cargo run -- +``` + +or create and run an optimized, independent binary: + +```shell +cargo build --release +./target/release/fragilebyte +``` + +```shell +USAGE: + fragilebyte [OPTIONS] + +OPTIONS: + -b, --buffersize Buffersize used in the file transfer (bytes) [default: 8192] + -f, --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 where the service is hosted [default: 8080] + -t, --target Server's address when connecting as a client + --timeout Seconds of inactivity after which the server closes itself + [default: 30] + -V, --version Print version informatio +``` + +### Dependencies + +![DependenciesGraph](https://github.com/einisto/fragilebyte/blob/main/doc/structure.svg) diff --git a/doc/structure.svg b/doc/structure.svg new file mode 100644 index 0000000..8b8ce3c --- /dev/null +++ b/doc/structure.svg @@ -0,0 +1,54 @@ + + + + + + + + + +fragilebyte + +fragilebyte + + + +clap + +clap + + + +fragilebyte->clap + + + + + +local-ip-address + +local-ip-address + + + +fragilebyte->local-ip-address + + + + + +tokio + +tokio + + + +fragilebyte->tokio + + + + +