2022-07-16 21:09:28 +02:00
## TCP socket pair for easy and efficient file transfer
2022-07-27 00:38:11 +02:00
Single binary containing both server and client. Originally made as an backend for [other project ](https://github.com/einisto/leightbox ).
2022-07-16 21:09:28 +02:00
< p align = "left" >
< a href = "https://github.com/einisto/fragilebyte/actions/workflows/ci.yml" > < img src = "https://img.shields.io/github/workflow/status/einisto/fragilebyte/Cargo%20Build%20&%20Test" > < / a >
2022-07-27 00:38:11 +02:00
< a href = "https://github.com/einisto/fragilebyte/tags" > < img src = "https://img.shields.io/github/v/tag/einisto/fragilebyte" > < / a >
2022-07-16 21:09:28 +02:00
< a href = "https://opensource.org/licenses/MIT" > < img src = "https://img.shields.io/github/license/einisto/fragilebyte" > < / a >
< / p >
### Installation and usage
Quickly run with:
```shell
cargo run -- < OPTIONS >
```
or create and run an optimized, independent binary:
```shell
cargo build --release
./target/release/fragilebyte < OPTIONS >
```
2022-07-29 02:54:29 +02:00
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 with the commands shown below.
2022-07-17 19:58:45 +02:00
2022-07-27 00:38:11 +02:00
```
2022-07-16 21:09:28 +02:00
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]
2022-07-17 19:58:45 +02:00
-V, --version Print version information
2022-07-16 21:09:28 +02:00
```
### Dependencies
![DependenciesGraph ](https://github.com/einisto/fragilebyte/blob/main/doc/structure.svg )