portal-client

Crates.ioportal-client
lib.rsportal-client
version0.5.0
sourcesrc
created_at2020-10-02 22:20:43.423651
updated_at2023-10-14 23:39:57.535789
descriptionA Secure file transfer utility, written in Rust. The protocol utilizes SPAKE2 for key negotiation over an insecure channel, and ChaCha20Poly1305 Authenticated Encryption to encrypt the file with the derived shared symmetric key. This enables two peers to transfer a file over any channel without needing to trust the intermediary relay.
homepagehttps://github.com/landhb/portal
repositoryhttps://github.com/landhb/portal
max_upload_size
id295568
size359,227
Bradley Landherr (landhb)

documentation

https://docs.rs/portal-client

README

portal-client

This crate contains the client-side application for Portal - An encrypted file transfer utility.

Note: The peer must connect to the same portal-relay as you. The default relay is portal-relay.landhb.dev but can be changed in your config. On linux the config is most commonly located at ~/.config/portal/portal.toml.

Installation

cargo install portal-client

Send a file

portal send /path/to/file

Recv a file

portal recv

Diagram of Key Derivation

Demo

Commit count: 96

cargo fmt