Cryptographically secure file transfer CLI tool
Go to file
2022-08-18 13:23:33 +03:00
.github/workflows Correct address binding 2022-08-12 00:44:07 +03:00
data Initial commit 2022-07-10 22:16:50 +03:00
doc Key-based authentication & critical fix to server's async behaviour 2022-07-29 17:24:20 +03:00
output Initial commit 2022-07-10 22:16:50 +03:00
src Correct address binding 2022-08-12 00:44:07 +03:00
tests Key-based authentication & critical fix to server's async behaviour 2022-07-29 17:24:20 +03:00
.gitignore Initial commit 2022-07-10 22:16:50 +03:00
Cargo.lock Key-based authentication & critical fix to server's async behaviour 2022-07-29 17:24:20 +03:00
Cargo.toml Key-based authentication & critical fix to server's async behaviour 2022-07-29 17:24:20 +03:00
LICENSE Initial commit 2022-07-10 22:16:50 +03:00
README.md Updated README.md 2022-08-18 13:23:33 +03:00

Socket pair for FTP like file transfer

Single binary containing both server and client. The server can't be hosted on a mobile hotspot network due to the 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:

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:

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

Dependencies

DependenciesGraph