🚧 (Alpha stage software) Library and tooling that supports remote filesystem and process operations. 🚧
Go to file
2021-08-30 01:01:08 -05:00
.cargo Initial commit 2021-07-25 21:02:51 -05:00
core Fix some proc issues, but proc tests still not fully passing 2021-08-30 01:01:08 -05:00
scripts Unfinished tests for proc-run cli 2021-08-29 21:04:09 -05:00
src Unfinished tests for proc-run cli 2021-08-29 21:04:09 -05:00
tests Fix some proc issues, but proc tests still not fully passing 2021-08-30 01:01:08 -05:00
.gitignore Bump Cargo.lock to fix cargo-audit callout, update gitignore to prevent Cargo.lock for library 2021-08-28 18:42:28 -05:00
BUILDING.md Update building instructions 2021-07-28 23:53:32 -05:00
Cargo.lock Refactor distant binary to yield software exit code when oneoff operation fails 2021-08-29 13:04:49 -05:00
Cargo.toml Refactor distant binary to yield software exit code when oneoff operation fails 2021-08-29 13:04:49 -05:00
README.md Update error response to include kind, refactor kind to be from a defined set, support new exists request/response 2021-08-15 16:18:55 -05:00

distant

Crates.io Docs.rs

Binary to connect with a remote machine to edit files and run programs.

🚧 (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.

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.