🚧 (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.
Go to file
Chip Senkbeil 788fa48e96
Several core and lua enhancements
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
3 years ago
.github/workflows Several core and lua enhancements 3 years ago
distant-core Several core and lua enhancements 3 years ago
distant-lua Several core and lua enhancements 3 years ago
distant-lua-tests Several core and lua enhancements 3 years ago
distant-ssh2 Several core and lua enhancements 3 years ago
src Add lua lib & support compiling distant cli on windows (#59) 3 years ago
tests Refactor Metadata and SystemInfo response data types to support subtypes as singular parameters 3 years ago
.gitignore Add native ssh (#57) 3 years ago
BUILDING.md Update building instructions 3 years ago
Cargo.lock Several core and lua enhancements 3 years ago
Cargo.toml Bump to 0.15.0-alpha.7 w/ new release.yml 3 years ago
README.md Bump to 0.15.0-alpha.7 w/ new release.yml 3 years ago

README.md

distant - remotely edit files and run programs

Crates.io Docs.rs RustC 1.51+

Operating System Status
MacOS (x86, ARM) MacOS CI
Linux (x86) Linux CI
Windows (x86) Windows CI

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