## TCP socket pair for easy and efficient file transfer Single binary containing both server and client. Originally made as a backend for [a TUI app](https://github.com/einisto/leightbox). Note that the server can't be hosted on a mobile hotspot network due to firewalling of most cellular networks. Despite this the client side can still obviously be used even on those scenarios.

### Installation and usage Quickly run with: ```shell cargo run -- ``` or create and run an optimized, independent binary: ```shell cargo build --release ./target/release/fragilebyte ``` 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: ``` 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 information ``` ### Dependencies ![DependenciesGraph](https://github.com/einisto/fragilebyte/blob/main/doc/structure.svg)