Add readme and update Cargo.toml

pull/38/head v0.1.0
Chip Senkbeil 3 years ago
parent 72870b2b7d
commit 67b09c50ce
No known key found for this signature in database
GPG Key ID: 35EF1F8EC72A4131

@ -1,9 +1,14 @@
[package]
name = "distant"
description = "Operate on a remote computer through file and process manipulation"
categories = ["command-line-utilities"]
version = "0.1.0"
edition = "2018"
authors = ["Chip Senkbeil <chip@senkbeil.org>"]
edition = "2018"
homepage = "https://github.com/chipsenkbeil/distant"
repository = "https://github.com/chipsenkbeil/distant"
readme = "README.md"
license = "MIT OR Apache-2.0"
[profile.release]
opt-level = 'z'

@ -0,0 +1,42 @@
# distant
Binary to connect with a remote machine to edit files and run programs.
## Details
The `distant` binary supplies both a server and client component as well as
a command to start a server and configure the local client to be able to
talk to the server.
- Asynchronous in nature, powered by [`tokio`](https://tokio.rs/)
- Data is compressed to send across the wire via [`CBOR`](https://cbor.io/)
- Encryption & authentication are handled via [`orion`](https://crates.io/crates/orion)
- [XChaCha20Poly1305](https://cryptopp.com/wiki/XChaCha20Poly1305) for an authenticated encryption scheme
- [BLAKE2b-256](https://www.blake2.net/) in keyed mode for a second authentication
- [Elliptic Curve Diffie-Hellman](https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hellman) (ECDH) for key exchange
## Examples
Launch a remote instance of `distant` by SSHing into another machine and
starting the `distant` executable:
```bash
# Connects to my.example.com on port 22 via SSH to start a new session
distant launch my.example.com
# After the session is established, you can perform different operations
# on the remote machine via `distant send {command} [args]`
distant send copy path/to/file new/path/to/file
distant send proc-run echo 'Hello, this is from the other side'
```
## License
This project is licensed under either of
Apache License, Version 2.0, (LICENSE-APACHE or
[apache-license][apache-license]) MIT license (LICENSE-MIT or
[mit-license][mit-license]) at your option.
[apache-license]: http://www.apache.org/licenses/LICENSE-2.0
[mit-license]: http://opensource.org/licenses/MIT
Loading…
Cancel
Save