788fa48e96
1. Implement system_info and spawn_wait for lua session 2. Implement wait and output for remote process 3. Switch mlua to git latest 4. Update core data error to be error type with io error conversions 5. Add proper error reporting when process gets an error response 6. Update lua launch and connect options to have defaults |
||
---|---|---|
.github/workflows | ||
distant-core | ||
distant-lua | ||
distant-lua-tests | ||
distant-ssh2 | ||
src | ||
tests | ||
.gitignore | ||
BUILDING.md | ||
Cargo.lock | ||
Cargo.toml | ||
README.md |
distant - remotely edit files and run programs
Operating System | Status |
---|---|
MacOS (x86, ARM) | |
Linux (x86) | |
Windows (x86) |
🚧 (Alpha stage software) This program is in rapid development and may break or change frequently! 🚧
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 serialized to send across the wire via
CBOR
- Encryption & authentication are handled via XChaCha20Poly1305 for an authenticated encryption scheme via RustCrypto/ChaCha20Poly1305
Installation
Prebuilt Binaries
If you would like a pre-built binary, check out the releases section.
Building from Source
If you have cargo
installed, you can
directly download and build the source via:
cargo install distant
Alternatively, you can clone this repository and build from source following the build guide.
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 action {command} [args]`
distant action copy path/to/file new/path/to/file
distant action 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.