🚧 (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 0a11ec65a2
Add native ssh (#57)
* Bump to 0.15.0
* Add new distant-ssh2 subcrate to provide an alternate session as an ssh client
* Add rpassword & wezterm-ssh dependencies
* Rename core -> distant-core in project directory structure and move ssh2 feature into distant-ssh2 crate
* Upgrade tokio to 1.12,
* Update github actions to detect changes and apply testing for only those changes
* Add method parameter to support distant & ssh methods for action and lsp subcommands
* Add ssh-host, ssh-port, and ssh-user parameters to specify information for ssh method
3 years ago
.cargo Initial commit 3 years ago
.github/workflows Add native ssh (#57) 3 years ago
distant-core Add native ssh (#57) 3 years ago
distant-ssh2 Add native ssh (#57) 3 years ago
scripts Fix clippy warnings, fix rustfmt, refactor proc-run tests to use generated scripts instead of script files 3 years ago
src Add native ssh (#57) 3 years ago
tests Add native ssh (#57) 3 years ago
.gitignore Add native ssh (#57) 3 years ago
BUILDING.md Update building instructions 3 years ago
Cargo.lock Add native ssh (#57) 3 years ago
Cargo.toml Add native ssh (#57) 3 years ago
README.md Refactor codebase to support Minimum Supported Rust Version (MSRV) of 1.51.0 (#55) 3 years ago

README.md

distant

Crates.io Docs.rs CI CI

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.