rgoto

Crates.iorgoto
lib.rsrgoto
version0.1.0
sourcesrc
created_at2024-10-12 08:54:43.2248
updated_at2024-10-12 08:54:43.2248
descriptionrgoto is a Rust-based command-line tool that reads your SSH configuration file (~/.ssh/config), presents a list of configured hosts, and allows you to select one to SSH into interactively. This work is partially inspired by goto. Also, this project borrows and modifies some codes from cliclack to support hjkl and index based navigation.
homepage
repository
max_upload_size
id1406369
size77,088
Jiwan Chung (JiwanChung)

documentation

README

Rusty GOTO (Rgoto)

rgoto is a Rust-based command-line tool that reads your SSH configuration file (~/.ssh/config), presents a list of configured hosts, and allows you to select one to SSH into interactively. This work is partially inspired by goto. Also, this project borrows and modifies some codes from cliclack to support hjkl and index based navigation.

Features

  • Automatically detects and parses your ~/.ssh/config file.
  • Displays a list of configured SSH hosts for easy selection.
  • Supports reading usernames specified in the SSH config file.
  • Uses the system's ssh command to establish an interactive SSH session.
  • (New) now supports latency checks! Just select the first option and hit Enter.

Installation

  • One-Liner

    cargo install --git https://github.com/JiwanChung/rgoto --locked
    
  1. Ensure you have Rust installed. You can install Rust using rustup.

  2. Build the project:

    cargo build --release
    
  3. Move the executable to appropriate places pointed by $PATH.

    cp ./target/release/rgoto $HOME/.local/bin
    
  4. Run the project:

    rgoto
    
  5. Follow the prompts to select a host from your SSH config and connect.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a pull request or open an issue for any bugs or feature requests.

Commit count: 0

cargo fmt