gday 0.2.1

Command line tool to securely send files (without a relay or port forwarding).
gday-0.2.1 is not a library.

Note: this project is still in early-development, so expect breaking changes.

gday

Crates.io Version

Command line tool to securely send files (without a relay or port forwarding).

asciicast

Installation

To run the executable directly:

  1. Go to releases and download the correct file for your platform.
  2. Extract it (on Linux: tar xf <file>).
  3. Run it: ./gday

To install with cargo:

$ cargo install gday

To install with brew:

$ brew install manforowicz/tap/gday

Features

  • File transfer is always direct, without relay servers. A server is only used to exchange socket addresses at the beginning.
  • No limit on the size of files and folders sent.
  • Doesn't require port forwarding. Instead, uses TCP Hole Punching to traverse NATs. Note: this may not work on very restrictive NATs.
  • Server connection encrypted with TLS and file transfer encrypted with ChaCha20Poly1305.
  • Automatically tries both IPv4 and IPv6.
  • Immune to malicious servers impersonating your peer. Uses SPAKE2 password authenticated key exchange to derive an encryption key from a shared secret.
  • No unsafe Rust in this repository.

Usage

Usage: gday [OPTIONS] <COMMAND>

Commands:
  send  Send files and/or directories
  get   Receive files
  help  Print this message or the help of the given subcommand(s)

Options:
  -s, --server <SERVER>        Use a custom gday server with this domain name
  -p, --port <PORT>            Connect to a custom server port
  -u, --unencrypted            Use raw TCP without TLS
  -v, --verbosity <VERBOSITY>  Verbosity. (trace, debug, info, warn, error) [default: warn]
  -h, --help                   Print help
  -V, --version                Print version

Similar Projects

Open an issue to add more projects to this list.

Related