Cryptographically secure file transfer CLI tool
Go to file
2023-05-06 20:36:46 +03:00
.github/workflows checkmate ci to replace old 2023-05-06 02:29:53 +03:00
docs filled docs with basics 2023-04-28 01:27:22 +03:00
src clap parsers for ips & paths 2023-05-06 20:36:46 +03:00
tests integration test structure 2023-05-01 01:39:58 +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 clap skeleton 2023-05-01 03:51:23 +03:00
Cargo.toml clap skeleton 2023-05-01 03:51:23 +03:00
LICENSE Initial commit 2022-07-10 22:16:50 +03:00
README.md fixed typo in docs 2023-05-01 03:59:34 +03: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.

Cellular networks

Most cellular ISP's tend to block port forwarding on CGNAT level, which makes it impossible to create inbound connections to such network without a VPN. Luckily many consumer VPNs and self-hosted solutions make port forwarding a trivial task. This is the main reason why the client must fetch information about the public IP from an external service (https://ipinfo.io/ip for IPv4 and https://ipv6.icanhazip.com for IPv6).

Usage

Work in progress. Will be completed when the current release is finished.

cargo build --release
./target/release/contego