Cryptographically secure file transfer CLI tool
Go to file
dependabot[bot] c1091b56b9
Some checks failed
Checkmate CI / cargo-checkmate (push) Has been cancelled
Bump rustls from 0.21.7 to 0.21.11 (#7)
Bumps [rustls](https://github.com/rustls/rustls) from 0.21.7 to 0.21.11.
- [Release notes](https://github.com/rustls/rustls/releases)
- [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustls/rustls/compare/v/0.21.7...v/0.21.11)

---
updated-dependencies:
- dependency-name: rustls
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-19 20:01:05 +00:00
.github add x64 windows build 2023-09-04 21:41:48 +03:00
src fixed public ip binding 2023-05-29 02:42:38 +03:00
tests fixed public ip binding 2023-05-29 02:42:38 +03:00
.gitignore updated .gitignore 2023-04-01 20:31:22 +03:00
.pre-commit-config.yaml pre-commit hook for fmt & clippy 2023-04-12 03:42:58 +03:00
Cargo.lock Bump rustls from 0.21.7 to 0.21.11 (#7) 2024-04-19 20:01:05 +00:00
Cargo.toml Bump aes-gcm from 0.10.2 to 0.10.3 (#4) 2023-09-22 23:58:57 +03:00
LICENSE Initial commit 2022-07-10 22:16:50 +03:00
README.md remove unnecessary docs section 2024-03-01 00:01:16 +02:00

Cryptographic specifications

The initial key exchange is performed with elliptic-curve Diffie-Hellman. General data exchange is encrypted with AES-GCM. During regular communication payloads are Base64 encoded before being encrypted to prevent delimiter conflicts. SHA-256 hashes of files are compared to ensure data integrity.

Usage

Check releases for an up-to-date executables or build from source with cargo build --release.

Server

Usage: contego host [OPTIONS] --key <KEY> <--source <SOURCE>|--files <FILES>...>

Options:
  -k, --key <KEY>              Access key
  -s, --source <SOURCE>        Path to a source file (alternative to --files)
  -f, --files <FILES>...       Paths to shareable files (alternative to --source)
  -p, --port <PORT>            Host port [default: 8080]
  -6, --ipv6                   IPv6 instead of IPv4
  -c, --chunksize <CHUNKSIZE>  Transmit chunksize in bytes [default: 8192]
  -l, --local                  Host locally
  -h, --help                   Print help

Client

Usage: contego connect --addr <ADDR> --out <OUT> --key <KEY>

Options:
  -a, --addr <ADDR>  IP address of the instance
  -o, --out <OUT>    Path to an output folder
  -k, --key <KEY>    Access key
  -h, --help         Print help