mirror of https://github.com/chipsenkbeil/distant
🚧 (Alpha stage software) Library and tooling that supports remote filesystem and process operations. 🚧
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
9c5b723511 | 3 years ago | |
---|---|---|
.cargo | 3 years ago | |
src | 3 years ago | |
.gitignore | 3 years ago | |
BUILDING.md | 3 years ago | |
Cargo.lock | 3 years ago | |
Cargo.toml | 3 years ago | |
README.md | 3 years ago |
README.md
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
- Data is compressed to send across the wire via
CBOR
- Encryption & authentication are handled via
orion
- XChaCha20Poly1305 for an authenticated encryption scheme
- BLAKE2b-256 in keyed mode for a second authentication
- Elliptic Curve Diffie-Hellman (ECDH) for key exchange
Examples
Launch a remote instance of distant
by SSHing into another machine and
starting the distant
executable:
# 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) MIT license (LICENSE-MIT or mit-license) at your option.